Satura rādītājs:

Prototips Arduino-Raspberry Pi Soundboard: 9 soļi (ar attēliem)
Prototips Arduino-Raspberry Pi Soundboard: 9 soļi (ar attēliem)

Video: Prototips Arduino-Raspberry Pi Soundboard: 9 soļi (ar attēliem)

Video: Prototips Arduino-Raspberry Pi Soundboard: 9 soļi (ar attēliem)
Video: ПОКАЗЫВАЙ И РАССКАЗЫВАЙ - ЖИВИ! 11.07.18 #покажиирасскажи @adafruit #adafruit 2024, Novembris
Anonim
Arduino-Raspberry Pi skaņu plates prototips
Arduino-Raspberry Pi skaņu plates prototips

Skaņas dēļa prototips, kas izveidots ar Arduino un Raspberry Pi, ir domāts kā vienkāršs veids, kā atskaņot 4 dažādas skaņas vai trokšņus, vienlaikus nodrošinot iespēju pārslēgt skaņas komplektus ar pogu un parādīt pašreizējo skaņu komplektu ar LCD ekrānu.

*Lūdzu, ņemiet vērā: projekta kods ir 99% pabeigts, bet nav funkcionāls.

Raspberry Pi kontrolē 16x2 LCD ekrānu un rotējošo kodētāju, kamēr Arduino nolasa analogās ieejas no spēka jutīgajiem rezistoriem (FSR) un nosūta signālu Arduino, lai atskaņotu skaņu. Mēs abi pirms šīs nodarbības nekad neesam izmantojuši Arduino vai Pi, taču mūsu profesors mums sniedza visus nepieciešamos rīkus un norādījumus, lai viegli kodētu un izveidotu šo projektu. Mūsu projekta modelēšanai tika izmantots TinkerCad, bezmaksas tiešsaistes 3D modelēšanas rīks, ko veica AutoDesk.

Sarežģītākā projekta daļa bija atrast veidu, kā panākt, lai Arduino un Raspberry Pi sazinātos ar seriālo komunikāciju. Sākotnēji mēs tikai vēlējāmies izmantot Pi visu projektu, bet mums bija vajadzīgs Arduino, lai nolasītu analogo signālu no FSR. Mums bija viegli nosūtīt vārdu vai ciparu rindas no Arduino un parādīt to Pi, bet problēma radās, kad mēs mēģinājām nolasīt šīs vērtības Python un ieviest tās nosacījumu paziņojumos, lai tās apstrādātu.

Nepieciešamas prasmes

  • Vienkārša C/C ++ izpratne Arduino kodēšanai
  • Vienkārša izpratne par Python Raspberry Pi kodēšanai
  • Zināšanas par to, kā savienot maizes dēli
  • Pamata 3D modelēšanas prasmes
  • Vēlme iemācīties un paplašināt programmēšanu, elektroinstalāciju un veidot kaut ko glītu

Daļu saraksts

1 x Raspberry Pi 3

1 x Elegoo Uno VAI Arduino Uno

1 x 830 kaklasaites maizes dēlis

1 x GPIO sadalīšanas dēlis (RSP-GPIO)

1 x lentes kabelis sadalīšanas dēlim

4 x maza spēka jutīgi rezistori

1 x pamata 16x2 rakstzīmju LCD ekrāns

1 x rotācijas kodētāja modulis

24 x vadi no vīrieša līdz sievietei

10 x vadi no vīriešu līdz vīriešiem

4 x 10k rezistori

1 x 10k potenciometrs

1 x dārza putu ceļgalu spilventiņš (dolāru veikalā)

1. darbība: pārbaudiet FSR ar Arduino

Pārbaudiet FSR ar Arduino
Pārbaudiet FSR ar Arduino

Vispirms mēs nolēmām izmēģināt FSR ar Arduino. FSR sūta analogo signālu, un tāpēc mums bija jāizmanto Arduino, jo Pi nesaņem analogu bez citām shēmām. Mēs vēlējāmies pārbaudīt sliekšņus, lai pārliecinātos, ka presēs ir labs spiediens. Mēs atklājām, ka tas ir aptuveni 150 no kopējiem 1000. Arduino IDE sērijas ploteris bija ļoti noderīgs šim solim.

2. solis: sastādiet valdes plānus

Sastādiet valdes plānus
Sastādiet valdes plānus
Sastādiet valdes plānus
Sastādiet valdes plānus

Pēc tam mēs sastādījām un izmērījām valdes plānus. Mēs vēlējāmies, lai būtu 4 spilventiņi, ar kuriem atskaņot skaņas, vieta LCD ekrānam, lai parādītu pašreizējo skaņu grupu, un rotācijas kodētājs, lai mainītu skaņas grupu.

3. darbība: modelējiet dēli TinkerCad

Modelējiet dēli TinkerCad
Modelējiet dēli TinkerCad
Modelējiet dēli TinkerCad
Modelējiet dēli TinkerCad
Modelējiet dēli TinkerCad
Modelējiet dēli TinkerCad

Pēc plānu sastādīšanas mēs modelējām dēli tiešsaistes bezmaksas 3D modelēšanas vietnē Autodesk ar nosaukumu TinkerCad. Mēs to ļoti iesakām tiem no jums, kuri nevēlas tērēt daudz naudas lielai 3D modelēšanas programmatūrai, jo tā ir viegli lietojama, balstīta uz mākoņiem un pilnībā atbalsta 3D drukāšanu.

Pēc tā modelēšanas mums tas bija jāsadala divās daļās, lai tas būtu piemērots printerim. Tas tika izdrukāts ļoti labi, taču mana kļūda bija LCD ekrāna slota izmēru noteikšana ne pārāk labi (nepieļaujiet šo kļūdu!). Ja vēlaties tos pārbaudīt, augšupielādējām. STL failus kreisajā un labajā pusē.

4. darbība: pārbaudiet LCD ekrānu

Pārbaudiet LCD ekrānu
Pārbaudiet LCD ekrānu

Mēs jau bijām izmantojuši Arduino ekrānu, un to bija ļoti viegli uzstādīt. Tomēr ar Pi bija grūtāk to palaist. Ar vairākām Google problēmu novēršanas stundām un izklaidēšanos ar vadiem mēs beidzot saņēmām darbu. Lūdzu, skatiet galīgo Python kodu beigās, lai redzētu, kā tas darbojās. Mēs izmantojām pāris vietnes, lai palīdzētu mums to pieslēgt un rakstīt kodu. Pārbaudiet tos:

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

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

5. darbība: pārbaudiet rotējošo kodētāju ar LCD ekrānu

Pārbaudiet rotējošo kodētāju ar LCD ekrānu
Pārbaudiet rotējošo kodētāju ar LCD ekrānu

Pēc tam mēs vēlējāmies noskaidrot, vai, pagriežot kodētāju, varētu mainīt LCD ekrāna tekstu. Kodētājam nav noteikta leņķu vai pagriezienu skaita, tāpēc kodā mēs skaitījām, cik reizes tas tika pagriezts pulksteņrādītāja virzienā vai pretēji pulksteņrādītāja virzienam, un saskaitījām to līdz 3. Ja tas pārsniegtu, tas atgrieztos līdz 0 un ja tas būtu zem 0, tas atgrieztos līdz 3. Šos skaitļus var iestatīt tik daudzām skaņu kopām, kādas jums patīk, bet mēs galu galā pārbaudījām tikai vienu skaņu komplektu. Pārliecinieties, vai jūsu skaņas atrodas tajā pašā mapē/vietā, kur tiek izpildīts galvenais Python kods.

6. darbība: samontējiet dēli

Salieciet valdi
Salieciet valdi
Salieciet valdi
Salieciet valdi
Salieciet valdi
Salieciet valdi

FSR slīd zem četrām dažādām spraugām. Mēs tos centrējām un pielīmējām. Mēs iesakām līmlenti vai varbūt pat līmēt, jo vienkārša skotu lente bija briesmīga pielīmēt 3D drukāto materiālu. Pēc ātra ceļojuma uz dolāru veikalu mēs atradām mīkstu, bet šķidru dārza ceļgalu spilventiņu, kuru mēs varētu sagriezt četrās daļās, lai izmantotu kā tāfeles pogas. Mēs tos sagriezām tā, lai tie varētu cieši pieguļot plankumiem, lai tie varētu palikt vietā, bet vajadzības gadījumā arī viegli noņemami.

7. solis: visu pieslēdziet vadam

Visu vadu
Visu vadu
Visu vadu
Visu vadu

Pēc paneļa salikšanas un FSR, kodētāja un ekrāna ievietošanas vietā mēs visu savienojām. Jūs varētu izmantot 2 maizes dēļus, bet mēs varējām visu ievietot vienā. Attēls izskatās kā haoss, bet mēs izveidojām shematisku diagrammu bezmaksas programmā ar nosaukumu Fritzing. Ņemiet vērā, ka varat mainīt tapas, kurām vēlaties pievienot visu, taču diagramma atbilst mūsu kodam.

8. solis: pabeidziet VISU kodēšanu

Šī bija sarežģītā daļa. Kā norādīts ievadā, mēs nevarējām pabeigt šo daļu. Kods ir 99%, taču daļa, kas nedarbojās, bija sērijveida saziņa no Arduino uz Pi. Mēs varētu viegli nosūtīt informāciju, kad savienojām Arduino ar Pi, izmantojot USB kabeli, taču Pi nevarēja neko darīt, izņemot parādīt šo informāciju ekrānā. Mēs vēlējāmies pateikt, kura poga tika nospiesta, un atskaņot konkrētu skaņu, taču datus, kas tika saņemti, izmantojot sakarus, nevarēja iekļaut nosacījuma paziņojumā, lai pārbaudītu, kura poga tika nospiesta.

Lūdzu, skatiet pievienoto kodu, piezīmes ir komentētas Python kodā Pi. Arduino kodam jābūt 100%.

9. solis: seciniet

Secinājums
Secinājums

Kopumā šis projekts mums abiem bija milzīga mācīšanās pieredze, un mēs ceram, ka šis raksts var sniegt topošajiem studentiem, skolotājiem vai meistariem kādu iedvesmu savam projektam un vadīt viņus, mācoties no mūsu kļūdām. Uzsauciet mūsu lieliskajam robotikas profesoram, kurš mūsu stundās ārkārtīgi palīdzēja un deva mums iespēju izklaidēties un daudz mācīties vecākajā COMP klasē! Paldies, ka izlasījāt:)

Ieteicams: