Სარჩევი:
- მარაგები
- ნაბიჯი 1: დააინსტალირეთ საჭირო IDE და ბიბლიოთეკები
- ნაბიჯი 2: მიამაგრეთ ამაჩქარებლები ბუმბულზე
- ნაბიჯი 3: მიამაგრეთ აქსელერომეტრი პერანგს
- ნაბიჯი 4: გაუშვით კოდი Arduino– ზე
- ნაბიჯი 5: გაუშვით კოდი Android- ზე
- ნაბიჯი 6: Bluetooth სიგნალის კავშირის ტესტირება
- ნაბიჯი 7: საკუთარი მონაცემების შეგროვება
- ნაბიჯი 8: თქვენი მონაცემების მომზადება Jupyter ნოუთბუქზე
- ნაბიჯი 9: შეცვალეთ Android პროგრამა ახალი მოდელით
ვიდეო: პოსტი: რეალურ დროში ტარებადი პოზის გამოვლენა: 9 ნაბიჯი
2024 ავტორი: John Day | [email protected]. ბოლოს შეცვლილი: 2024-01-30 10:16
Postshirt არის რეალურ დროში უკაბელო პოზირების გამოვლენის სისტემა, რომელიც გადასცემს და კლასიფიცირებს აქსელერომეტრის მონაცემებს Adafruit Feather– დან Android აპლიკაციაზე Bluetooth– ის საშუალებით. სრულ სისტემას შეუძლია რეალურ დროში აღმოაჩინოს, თუ მომხმარებელს აქვს ცუდი პოზა და ქმნის push შეტყობინებას, როდესაც მომხმარებელი იწყებს დუნე, გამოვლენა ასევე მუშაობს სიარულის დროს.
მარაგები
ელექტრონიკა
1 x Android სმარტფონი
1 x ადაფრუტის ბუმბული
1 x ლითიუმის იონური პოლიმერული ბატარეა - 3.7v 100mAh (სურვილისამებრ უკაბელო გამოყენებისთვის)
2 x ADXL335 სამ ღერძიანი ამაჩქარებელი
მასალები
დასაკავშირებელი მავთული
ფირის რულეტი
ნაბიჯი 1: დააინსტალირეთ საჭირო IDE და ბიბლიოთეკები
ადაფრუტის ბუმბული
ჯერ დააინსტალირეთ Arduino IDE და შემდეგ მიყევით Adafruit nRF51 BLE ბიბლიოთეკის ინსტალაციის ნაბიჯებს
იუპიტერის რვეული
ჯერ დააინსტალირეთ Jupyter Notebook და შემდეგ საჭირო ბიბლიოთეკები
- https://scikit-learn.org/stable/
- https://github.com/nok/sklearn-porter
Android
დააინსტალირეთ Android Studio
პროექტის კოდი
ჩამოტვირთეთ პროექტის ყველა კოდი GitHub– დან
ნაბიჯი 2: მიამაგრეთ ამაჩქარებლები ბუმბულზე
ADXL335– დან მონაცემების წასაკითხად დაუკავშირეთ მავთული Vin, ground, Xout, Yout და Zout ქინძისთავებს. ორივე ამაჩქარებლისთვის დააკავშირეთ Vin მავთულის მეორე ბოლოები ბუმბულის 3V პინთან და ბუმბულის მიწასთან გასასვლელი ქინძისთავები. შეაერთეთ პირველი ამაჩქარებლის Xout, Yout და Zout მავთულები ბუმბულის A0, A1 და A2 ქინძისთავებთან. შეაერთეთ მეორე ამაჩქარებლის Xout, Yout და Zout მავთულები ბუმბულის A3, A4 და A5 ქინძისთავებთან.
აქსელერომეტრების დაკავშირება შესაძლებელია ნებისმიერი გზით, მაგრამ მავთულხლართების შედუღება და შეერთების წერტილების გარშემო ელექტრული ლენტის გახვევა ან შემოხვევა რეკომენდებულია დაუცველი მონაკვეთების ერთმანეთთან კონტაქტის თავიდან ასაცილებლად.
ნაბიჯი 3: მიამაგრეთ აქსელერომეტრი პერანგს
ფირის გამოყენებით მიამაგრეთ ამაჩქარებლები პერანგის უკანა მხარეს. ამაჩქარებელი მავთულხლართები A0-2 უნდა იყოს მოთავსებული ჰორიზონტალურად ცენტრში, ქვედა უკანა ნაწილში. A3-5 ქინძისთავებზე დამაგრებული ამაჩქარებელი უნდა იყოს ჰორიზონტალურად ცენტრში კისრის უკანა ნაწილში. ორივე ამაჩქარებელი უნდა იყოს გასწორებული ისე, რომ ქინძისთავები იყოს ქვედა მხარეს და სენსორები იყოს მიბმული ბრტყელი და დაცული მაისურისგან.
შენიშვნა: უფრო მუდმივი ტარებისათვის, სენსორები შეიძლება იყოს შეკერილი ტანსაცმელზე, მაგრამ ისინი ჯერ უნდა იყოს მიბმული და შემოწმებული, რათა უზრუნველყოს სენსორების პოზიციონირება.
ნაბიჯი 4: გაუშვით კოდი Arduino– ზე
ბუმბულის შესახებ მონაცემების შეგროვების დასაწყებად დაიწყეთ Arduino IDE და გახსენით ფაილი GestureDataSender პროექტის კოდის Arduino განყოფილების ქვეშ. ამ ფაილის გახსნით დააყენეთ დაფა და პორტი, რომელიც გამოიყენება და შემდეგ შეარჩიეთ "გადამოწმება" და "ატვირთვა", რათა ატვირთოთ კოდი ბუმბულზე.
ნაბიჯი 5: გაუშვით კოდი Android- ზე
ანდროიდზე პროგრამის გასაშვებად ჯერ Android Studio დაიწყეთ და შემდეგ შეარჩიეთ არსებული Android პროექტის გახსნის ვარიანტი. გადადით პროექტის კოდზე და შეარჩიეთ საქაღალდე "Android". Android Studio– ს გარკვეული დრო დასჭირდება პროექტის ფაილების სინქრონიზაციისთვის და შეიძლება მოითხოვოს ზოგიერთი ბიბლიოთეკის დაყენება, მიიღოს ეს პარამეტრები. მას შემდეგ რაც პროექტი მზად იქნება შეაერთეთ Android მოწყობილობა კომპიუტერში და შეარჩიეთ გაშვების ვარიანტი ფანჯრის ზედა ნაწილში. შეარჩიეთ მოწყობილობა მოთხოვნის სიიდან, რომელიც გამოჩნდება და შემდეგ ნება მიეცით აპლიკაცია ააშენოს მოწყობილობაზე.
ნაბიჯი 6: Bluetooth სიგნალის კავშირის ტესტირება
მას შემდეგ, რაც აპლიკაცია გაიხსნება, დარწმუნდით, რომ ბუმბული ჩართულია და შემდეგ შეარჩიეთ Adafruit Bluefruit LE იმ მოწყობილობების სიიდან, რომელიც ტელეფონში ჩანს. დაელოდეთ მოწყობილობის დაკავშირებას, თუ კავშირი ვერ ხერხდება ხელახლა ხელახლა დაკავშირება სანამ გამართვის სხვა ნაბიჯებს გადადგამთ. მოწყობილობის შეერთების შემდეგ შეარჩიეთ მოდული "პოზის დეტექტორი", რომელიც სწორად მუშაობის შემთხვევაში გამოჩნდება ცოცხალი განახლების გრაფიკი, ასევე პოზა და მოძრაობის მიმდინარე პროგნოზები. იმის შესამოწმებლად, რომ arduino ავრცელებს სენსორულ მონაცემებს, გადაადგილეთ ორი ამაჩქარებელი შემთხვევითი მიმართულებით და შეამოწმეთ, იცვლება თუ არა გრაფაში ყველა ხაზი. თუ ზოგიერთი ხაზი მუდმივად ბრტყელი რჩება, დარწმუნდით, რომ ამაჩქარებლები სათანადოდ არის დაკავშირებული ბუმბულთან. თუ ყველაფერი მუშაობს, ჩაიცვი პერანგი და შეამოწმე, რომ პოზის გამოვლენა სწორად პროგნოზირებს შენს პოზას. გილოცავთ! თქვენ წარმატებით შექმენით პოზირების პოზირების პოზა. განაგრძეთ ამ ინსტრუქციის საშუალებით ისწავლეთ როგორ შექმნათ თქვენი მონაცემთა ნაკრები და დააკონფიგურიროთ თქვენი საკუთარი პოზა.
ნაბიჯი 7: საკუთარი მონაცემების შეგროვება
საკუთარი მონაცემების შესაგროვებლად დაბრუნდით მოდულის შერჩევის ეკრანზე და გახსენით მონაცემთა ჩამწერი მოდული. მას შემდეგ, რაც ეს ეკრანი გაიხსნება, შეავსეთ ეტიკეტი იმ მონაცემებისთვის, რომელსაც თქვენ შეაგროვებთ; იმისათვის, რომ მარტივად გაწვრთნათ თქვენს მონაცემებზე, თქვენ უნდა შეიყვანოთ სიტყვა "კარგი" ნებისმიერი ჩანაწერის სახელით, რომელსაც აქვს კარგი პოზა და "ცუდი" ნებისმიერ ჩანაწერში, რომელსაც აქვს პოზა. შეგროვების დასაწყებად შეეხეთ ღილაკს "მონაცემთა შეგროვება" და შეასრულეთ თქვენი მიზანმიმართული მოქმედება, დასრულების შემდეგ კვლავ შეეხეთ ღილაკს მონაცემების დასასრულებლად და შესანახად. ყველა ჩაწერილი მონაცემი შეინახება საქაღალდეში სახელწოდებით "GestureData" თქვენი ფაილური სისტემის დოკუმენტების საქაღალდეში. ყველა მონაცემის ჩაწერის დასრულების შემდეგ დააკოპირეთ ფაილები თქვენს კომპიუტერში მოდელის სწავლებისთვის.
ნაბიჯი 8: თქვენი მონაცემების მომზადება Jupyter ნოუთბუქზე
პროექტის საწყისი კოდი შეიცავს თავდაპირველ მონაცემებს, რომლებიც გამოიყენება Jupyter Notebook განყოფილების საქაღალდეში "მონაცემები", საკუთარი მონაცემების სწავლებისთვის წაშალეთ ამ საქაღალდის ყველა ფაილი და შემდეგ დააკოპირეთ თქვენი საკუთარი მონაცემები საქაღალდეში. შემდეგ გაუშვით Jupyter Notebook და გახსენით "PostureDetectorTrainer.ipynb". ეს ნოუთბუქი შექმნილია მონაცემების საქაღალდეში ნებისმიერი ფაილის ავტომატურად გამოყოფისთვის კარგი და ცუდი პოზით და შემდეგ წვრთნის ხაზოვანი SVM კლასიფიკაციისთვის, რომ მოდელი მოამზადოს, უბრალოდ შეარჩიეთ "Cell" ჩამოსაშლელი და აირჩიეთ "Run All". ნოუთბუქს შეიძლება ერთი წუთი დასჭირდეს გასაშვებად, მაგრამ ერთხელ გადახვევა იმ წერტილამდე, რომელიც უზრუნველყოფს მოდელის პოზის პროგნოზირების სიზუსტეს. თუ შედეგები კარგად გამოიყურება, გადადით შემდეგ უჯრედზე, სადაც შეიქმნება Java კლასი. გადაახვიეთ ამ უჯრედის ბოლოში, სანამ არ დაინახავთ პარამეტრების სახით გამოხმაურებულ ნაწილს. დააკოპირეთ ეს ღირებულებები, რადგან დაგჭირდებათ შემდეგ ეტაპზე.
ნაბიჯი 9: შეცვალეთ Android პროგრამა ახალი მოდელით
Android აპლიკაციის მოდელის შესაცვლელად გამოიყენეთ Android Studio ნავიგაცია ფაილზე "PostureDetectorFragment.java" პროექტის სტრუქტურის java განყოფილების ქვეშ. ამ ფაილში გადაახვიეთ ქვევით იმ განყოფილებაში, რომელიც გამოხმაურებულია როგორც „პოზის კლასიფიკატორი“, რომელსაც ექნება იგივე 4 შესაბამისი ცვლადი, როგორც 4 წარმოქმნილი Jupyter Notebook– ში. შეცვალეთ ეს 4 ცვლადის მნიშვნელობა Jupyter Notebook– დან გადაწერილი მნიშვნელობებით, დარწმუნდით, რომ ცვლადის სახელები არ შეიცვლება p_vectors, p_coefficients და ა.შ. ამის დასრულების შემდეგ შეინახეთ ფაილი და შეარჩიეთ ისევ Run ვარიანტი პროგრამის შესაქმნელად. მოწყობილობა ახლა მიჰყევით იგივე ნაბიჯებს, როგორც ადრე პოზირების დეტექტორის მოდულის გასახსნელად და თქვენ უნდა ნახოთ კლასიფიკატორი, რომელიც ახლა მუშაობს თქვენს ახლად მომზადებულ მოდელზე. თუ ის ჯერ კიდევ არ ჩანს კარგად, უნდა გაითვალისწინოთ დამატებითი მონაცემების ჩაწერა და მოდელის ხელახლა შექმნა. წინააღმდეგ შემთხვევაში გილოცავთ! თქვენ ახლა შემოიტანეთ თქვენი პერსონალურად გაწვრთნილი კლასიფიკატორი Postshirt- ში!
გირჩევთ:
როგორ გამოვიყენოთ რეალურ დროში საათის მოდული (DS3231): 5 ნაბიჯი
როგორ გამოვიყენოთ რეალურ დროში საათის მოდული (DS3231): DS3231 არის იაფი, უკიდურესად ზუსტი I2C რეალურ დროში (RTC) ინტეგრირებული ტემპერატურის კომპენსირებული ბროლის ოსცილატორით (TCXO) და ბროლით. მოწყობილობა აერთიანებს ბატარეის შეყვანას და ინარჩუნებს ზუსტ დროს, როდესაც ძირითადი ენერგია
რეალურ დროში Rubik's Cube Blindfolded Solver Raspberry Pi და OpenCV გამოყენებით: 4 ნაბიჯი
რეალურ დროში რუბიკის კუბი თვალდახუჭული ამომხსნელი ჟოლოს Pi და OpenCV გამოყენებით: ეს არის რუბიკის კუბის ინსტრუმენტის მე -2 ვერსია, რომელიც შექმნილია თვალდახუჭულებში. პირველი ვერსია შემუშავებულია javascript– ით, თქვენ შეგიძლიათ ნახოთ პროექტი RubiksCubeBlindfolded1 წინაგან განსხვავებით, ეს ვერსია იყენებს OpenCV ბიბლიოთეკას ფერების და
ჭაბურღილის რეალურ დროში წყლის დონის მრიცხველი: 6 ნაბიჯი (სურათებით)
ჭაბურღილების რეალურ დროში წყლის დონის მრიცხველი: ეს ინსტრუქციები აღწერს თუ როგორ უნდა ავაშენოთ დაბალფასიანი, რეალურ დროში წყლის დონის მრიცხველი გათხრილ ჭაბურღილებში გამოსაყენებლად. წყლის დონის მრიცხველი განკუთვნილია გათხრილი ჭის შიგნით, წყლის დონის გაზომვისთვის დღეში ერთხელ და მონაცემების WiFi- ით ან ფიჭური კავშირით გაგზავნით
წყლის ტემპერატურა რეალურ დროში, გამტარობა და წყლის დონის მრიცხველი: 6 ნაბიჯი (სურათებით)
რეალურ დროში ჭაბურღილის წყლის ტემპერატურა, გამტარობა და წყლის დონის მრიცხველი: ეს ინსტრუქციები აღწერს როგორ ავაშენოთ დაბალფასიანი, რეალურ დროში, წყლის მრიცხველი ტემპერატურის მონიტორინგისთვის, ელექტროგამტარობა (EC) და წყლის დონე გათხრილ ჭაბურღილებში. მრიცხველი განკუთვნილია გათხრილი ჭის შიგნით, წყლის ტემპერატურის გასაზომად, EC
რეალურ დროში სახის გამოვლენა ჟოლოზე Pi-4: 6 ნაბიჯი (სურათებით)
რეალურ დროში სახის გამოვლენა RaspberryPi-4– ზე: ამ ინსტრუქციაში ჩვენ ვაპირებთ რეალურ დროში სახის გამოვლენის განხორციელებას Raspberry Pi 4 –ზე Shunya O/S– ით Shunyaface ბიბლიოთეკის გამოყენებით. თქვენ შეგიძლიათ მიაღწიოთ გამოვლენის კადრის მაჩვენებელს 15-17 RaspberryPi-4– ზე ამ გაკვეთილის დაცვით