Mündəricat:

Prototip Arduino-Raspberry Pi Soundboard: 9 addım (şəkillərlə)
Prototip Arduino-Raspberry Pi Soundboard: 9 addım (şəkillərlə)

Video: Prototip Arduino-Raspberry Pi Soundboard: 9 addım (şəkillərlə)

Video: Prototip Arduino-Raspberry Pi Soundboard: 9 addım (şəkillərlə)
Video: Raspberry Pi Soundboard 2024, Noyabr
Anonim
Prototip Arduino-Raspberry Pi Soundboard
Prototip Arduino-Raspberry Pi Soundboard

Arduino və Raspberry Pi ilə yaradılan prototip səs lövhəsi, səs dəstlərini bir düymə ilə dəyişdirmək və mövcud səs dəstini LCD ekranla göstərmək imkanı olarkən 4 fərqli səs və ya səs -küy çalmağın sadə bir yolu olmalıdır.

*Diqqət edin: Layihənin kodu 99% tamamlandı, lakin işləmir.

Raspberry Pi, 16x2 LCD ekranı və fırlanan kodlayıcıyı idarə edir, Arduino isə gücə həssas rezistorlardan (FSR) analoq girişləri oxuyur və səs çıxarmaq üçün Arduinoya siqnal göndərir. İkimiz də bu sinifdən əvvəl heç bir Arduino və ya Pi istifadə etməmişdik, amma professorumuz bu layihəni asanlıqla kodlaşdırmaq və qurmaq üçün bizə lazım olan bütün vasitələri və təlimatları verdi. Layihəmizi modelləşdirmək üçün AutoDesk tərəfindən pulsuz bir 3D 3D modelləşdirmə vasitəsi olan TinkerCad istifadə edildi.

Layihənin ən çətin hissəsi Arduino və Raspberry Pi -nin ardıcıl ünsiyyət qurması üçün bir yol tapmaq idi. Əvvəlcə yalnız Pi -ni bütün layihə üçün istifadə etmək istəyirdik, ancaq FSR -lərdən gələn analoq siqnalını oxumaq üçün Arduinoya ehtiyacımız var idi. Arduinodan asanlıqla söz və ya rəqəm satırları göndərə və Pi üzərində göstərə bildik, amma məsələnin gəldiyi yer bu dəyərləri Pythonda oxumaq və onları işlətmək üçün şərt ifadələrində tətbiq etmək idi.

Tələb olunan bacarıqlar

  • Arduino kodlaşdırması üçün C/C ++ haqqında sadə anlayış
  • Raspberry Pi kodlaşdırma üçün Python haqqında sadə anlayış
  • Çörək taxtasının necə qurulduğunu bilmək
  • Əsas 3D modelləşdirmə bacarıqları
  • Proqramlaşdırma, məftil çəkmə və səliqəli bir şey qurmaq öyrənmək və genişləndirmək arzusu

Parça siyahısı

1 x Raspberry Pi 3

1 x Elegoo Uno OR Arduino Uno

1 x 830 Çörək Paneli

1 x GPIO Breakout Board (RSP-GPIO)

Kəsmə lövhəsi üçün 1 x Şerit Kabel

4 x Kiçik Güc Həssas Rezistorlar

1 x Əsas 16x2 Xarakterli LCD Ekran

1 x Rotary Encoder Modulu

24 x Kişi -qadın telləri

10 x Kişi -kişi telləri

4 x 10k rezistorlar

1 x 10k potensiometr

1 x Bahçe köpüklü diz yastığı (dollar mağazası)

Addım 1: FSR -ni Arduino ilə sınayın

FSR -ni Arduino ilə sınayın
FSR -ni Arduino ilə sınayın

Əvvəlcə Arduino ilə FSR sınamağa qərar verdik. FSR -lər analoq siqnal göndərir və buna görə də Pi digər sxemlər olmadan analoq qəbul etmədiyi üçün bir Arduino istifadə etməli olduq. Preslərin yaxşı bir təzyiq altında olduğundan əmin olmaq üçün eşikləri sınamaq istədik. Cəmi 1000 -dən 150 -yə yaxın olduğunu gördük. Arduino IDE -dəki serial qurucu bu addım üçün çox kömək etdi.

Addım 2: İdarə Heyətinin planlarını tərtib edin

İdarə Heyətinin planlarını tərtib edin
İdarə Heyətinin planlarını tərtib edin
İdarə Heyətinin planlarını tərtib edin
İdarə Heyətinin planlarını tərtib edin

Daha sonra lövhənin planlarını tərtib etdik və ölçdük. Səsləri səsləndirmək üçün 4 yastıq, mövcud səs qrupunu göstərmək üçün bir LCD ekran üçün bir yer və səs qrupunu dəyişdirmək üçün fırlanan bir kodlayıcıya sahib olmaq istədik.

Addım 3: TinkerCad -da lövhəni modelləşdirin

Lövhəni TinkerCad -da modelləşdirin
Lövhəni TinkerCad -da modelləşdirin
Lövhəni TinkerCad -da modelləşdirin
Lövhəni TinkerCad -da modelləşdirin
Lövhəni TinkerCad -da modelləşdirin
Lövhəni TinkerCad -da modelləşdirin

Planlar tərtib edildikdən sonra, lövhəni Autodesk by TinkerCad adlı onlayn, pulsuz, 3D modelləşdirmə saytında modelləşdirdik. İstifadəsi asan, bulud əsaslı və 3D çap üçün tam dəstəyi olduğu üçün böyük 3D modelləşdirmə proqramına tonlarla pul xərcləmək istəməyənlər üçün çox tövsiyə edirik.

Modelləşdirildikdən sonra onu printerə yerləşdirmək üçün 2 hissəyə bölmək məcburiyyətində qaldıq. Həqiqətən yaxşı çap olundu, amma mənim səhvim LCD ekran yuvasının ölçüsünü çox yaxşı düzəltmək deyildi (səhv etmə!) Sol və sağ tərəfi yüklədik. İstəsəniz onları yoxlamaq istəsəniz.

Addım 4: LCD Ekranı yoxlayın

LCD Ekranı sınayın
LCD Ekranı sınayın

Artıq ekranı Arduinoda istifadə etmişdik və qurmaq çox asan idi. Ancaq Pi ilə işlətmək daha çətindi. Google -da bir neçə problemi həll etmək və tellərlə sıxışdırmaqla nəhayət işə başladıq. Zəhmət olmasa necə işlədiyini görmək üçün son Python koduna baxın. Bir neçə veb saytdan istifadə edərək kod bağlamağımıza kömək etdi.

learn.adafruit.com/drive-a-16x2-lcd-direct…

www.raspberrypi-spy.co.uk/2012/07/16x2-lcd…

Addım 5: LCD Ekranı ilə Rotary Enkoderini sınayın

Döner Enkoderi LCD Ekranı ilə sınayın
Döner Enkoderi LCD Ekranı ilə sınayın

Sonra kodlayıcı döndükdə LCD ekranın mətnini dəyişdirə biləcəyimizi görmək istədik. Kodlayıcının müəyyən bir açı və fırlanma miqdarı yoxdur, buna görə kodda neçə dəfə saat yönünün əksinə və ya saat əqrəbinin əksinə döndüyünü sayaraq 3 sayına gətirdik. 0 -dan aşağıya düşsəydi, 3 -ə qayıdardı. Bu nömrələr bəyəndiyiniz bir çox səs dəsti üçün təyin edilə bilər, ancaq bir səs dəstini sınamaqla bitdik. Səslərinizin əsas Python kodunun icra edildiyi qovluqda/məkanda olduğundan əmin olun.

Addım 6: lövhəni yığın

Lövhəni yığın
Lövhəni yığın
Lövhəni yığın
Lövhəni yığın
Lövhəni yığın
Lövhəni yığın

FSR -lər dörd fərqli yuvanın altında sürüşür. Onları ortaladıq və bantladıq. Yapışqan bant və ya hətta yapışdırmağı məsləhət görürük, çünki sadə skotç lentin 3D çap materialına yapışması qorxunc idi. Dollar mağazasına sürətli bir səfərdən sonra, lövhənin düymələri olaraq istifadə etmək üçün dörd hissəyə kəsə biləcəyimiz yumşaq, lakin yumşaq bir bağ diz yastığı tapdıq. Onları yerlərində qalmaları üçün ləkələrinə rahatca oturacaq şəkildə kəsdik, həm də lazım gələrsə asanlıqla çıxarıldı.

Addım 7: Hamısını bağlayın

Hamısını Tel Edin
Hamısını Tel Edin
Hamısını Tel Edin
Hamısını Tel Edin

Lövhəni yığdıqdan və FSR -ləri, kodlayıcını və ekranı yerinə qoyduqdan sonra hər şeyi bağladıq. 2 çörək taxtasından istifadə edə bilərsiniz, amma hər şeyi bir yerə sığdıra bildik. Şəkil qarışıqlığa bənzəyir, amma Fritzing adlı pulsuz bir proqramda sxematik bir diaqram hazırladıq. Diqqət yetirin ki, hər şeyi bağlamaq istədiyiniz sancaqları dəyişə bilərsiniz, ancaq diaqram kodumuza uyğundur.

Addım 8: HƏR ŞEYİ kodlaşdırmağı bitirin

Bu çətin hissə idi. Girişdə deyildiyi kimi, bu hissəni tamamlaya bilmədik. Kodun hamısı 99% -dir, amma işləməyən bir hissə Arduinodan Pi -yə serial əlaqə idi. Arduino'yu USB kabel ilə Pi -yə bağladıqda məlumatı asanlıqla göndərə bilərdik, ancaq Pi bu məlumatları ekranda göstərməkdən başqa heç nə edə bilmədi. Hansı düymənin basıldığını söyləmək və müəyyən bir səs çıxarmaq istəyirdik, ancaq ünsiyyətdən gələn məlumatlar hansı düymənin basıldığını yoxlamaq üçün şərt ifadəsinə daxil edilə bilməzdi.

Zəhmət olmasa əlavə edilmiş koda baxın, Pi üçün Python kodunda qeydlər yazılmışdır. Arduino kodu 100%olmalıdır.

Addım 9: Nəticə çıxarın

Nəticə
Nəticə

Ümumiyyətlə, bu layihə ikimiz üçün BÖYÜK bir öyrənmə təcrübəsi idi və ümid edirik ki, bu yazı gələcək şagirdlərə, müəllimlərə və ya tinkerlərə öz layihələri üçün ilham verə bilər və səhvlərimizdən öyrənərək onlara yol göstərə bilər. Dərsdə olduğumuz müddətdə çox kömək edən və bizə bir çox əylənmək və böyük bir COMP sinifində çox şey öyrənmək imkanı verən zəhmli robototexnika professorumuza bağırın! Oxuduğunuz üçün təşəkkürlər:)

Tövsiyə: