Indholdsfortegnelse:

Prototype Arduino-Raspberry Pi Soundboard: 9 trin (med billeder)
Prototype Arduino-Raspberry Pi Soundboard: 9 trin (med billeder)

Video: Prototype Arduino-Raspberry Pi Soundboard: 9 trin (med billeder)

Video: Prototype Arduino-Raspberry Pi Soundboard: 9 trin (med billeder)
Video: You can learn Arduino in 15 minutes. 2024, November
Anonim
Prototype Arduino-Raspberry Pi Soundboard
Prototype Arduino-Raspberry Pi Soundboard

Prototypen lydkort, der er oprettet med en Arduino og Raspberry Pi, er beregnet til at være en enkel måde at afspille 4 forskellige lyde eller lyde på, mens du har mulighed for at skifte lydsæt med en knap og vise det aktuelle lydsæt med en LCD -skærm.

*Bemærk: Koden til projektet er 99% komplet, men er ikke funktionel.

Raspberry Pi styrer 16x2 LCD -skærmen og den roterende encoder, mens Arduino læser de analoge indgange fra kraftfølsomme modstande (FSR'er) og sender et signal til Arduino for at afspille en lyd. Vi havde begge aldrig brugt en Arduino eller Pi tidligere til denne klasse, men vores professor gav os alle de nødvendige værktøjer og vejledning til let at kode og bygge dette projekt. TinkerCad, et gratis online 3D -modelleringsværktøj fra AutoDesk, blev brugt til at modellere vores projekt.

Den sværeste del af projektet var at finde en måde at få Arduino og Raspberry Pi til at kommunikere med seriel kommunikation. Vi ville oprindeligt kun bruge Pi til hele projektet, men vi havde brug for Arduino for at kunne læse det analoge signal fra FSR'erne. Vi var let i stand til at sende linjer med ord eller tal fra Arduino og vise det på Pi, men hvor problemet kom, var da vi forsøgte at læse disse værdier ind i Python og implementere dem i tilstandserklæringer for at behandle dem.

Færdigheder påkrævet

  • Enkel forståelse af C/C ++ til Arduino -kodning
  • Enkel forståelse af Python til Raspberry Pi -kodning
  • Viden om, hvordan et brødbræt er kablet
  • Grundlæggende færdigheder i 3D -modellering
  • Et ønske om at lære og udvide programmering, ledninger og bygge noget lidt pænt

Deleliste

1 x Raspberry Pi 3

1 x Elegoo Uno ELLER Arduino Uno

1 x 830 Tie Breadboard

1 x GPIO Breakout Board (RSP-GPIO)

1 x båndkabel til breakout board

4 x Small Force Sensitive Resistors

1 x Basic 16x2 karakter LCD -skærm

1 x roterende encoder modul

24 x Hane til hun ledninger

10 x Hane til han ledninger

4 x 10k modstande

1 x 10k potentiometer

1 x Haveskum knæpude (dollar butik)

Trin 1: Test FSR med Arduino

Test FSR med Arduino
Test FSR med Arduino

Vi besluttede først at prøve FSR med Arduino. FSR'erne sender et analogt signal, og derfor var vi nødt til at bruge en Arduino, da Pi ikke modtager analog uden andre kredsløb. Vi ville teste tærskler for at sikre, at presserne var under et godt pres. Vi fandt det til at være omkring 150 ud af i alt 1000. Seriel plotteren på Arduino IDE var meget nyttig til dette trin.

Trin 2: Tegn planerne for tavlen

Tegn planerne for bestyrelsen
Tegn planerne for bestyrelsen
Tegn planerne for bestyrelsen
Tegn planerne for bestyrelsen

Vi udarbejdede derefter og målte planerne for tavlen. Vi ville have 4 pads til at afspille lyde med, et sted til en LCD -skærm til visning af den aktuelle lydgruppe og en roterende encoder til ændring af lydgruppen.

Trin 3: Model tavlen i TinkerCad

Model bestyrelsen i TinkerCad
Model bestyrelsen i TinkerCad
Model bestyrelsen i TinkerCad
Model bestyrelsen i TinkerCad
Model bestyrelsen i TinkerCad
Model bestyrelsen i TinkerCad

Efter at planerne var udarbejdet, modellerede vi tavlen på et online, gratis 3D -modelleringswebsted kaldet TinkerCad af Autodesk. Vi anbefaler det stærkt til dem af jer, der ikke ønsker at bruge masser af penge på stor 3D -modelleringssoftware, da det er let at bruge, skybaseret og har fuld understøttelse af 3D -udskrivning.

Efter at det var modelleret, måtte vi dele det i 2 stykker for at passe det på printeren. Det printede rigtig godt ud, men min fejl var ikke at dimensionere LCD -skærmsporet særlig godt (tag ikke den fejl!) Vi har uploadet. STL -filer til venstre og højre side, hvis du vil tjekke dem ud.

Trin 4: Test LCD -skærmen

Test LCD -skærmen
Test LCD -skærmen

Vi havde allerede brugt skærmen på Arduino, og det var meget let at konfigurere. Det var dog vanskeligere at køre det med Pi. Med flere fejlfindingstimer på Google og fidgeting med ledninger, fik vi det endelig til at fungere. Se den sidste Python -kode i slutningen for at se, hvordan det fungerede. Vi brugte et par websteder til at hjælpe os med at koble den og skrive koden.

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

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

Trin 5: Test den roterende encoder med LCD -skærmen

Test Rotary Encoder med LCD -skærmen
Test Rotary Encoder med LCD -skærmen

Vi ville derefter se, om vi kunne få LCD -skærmen til at ændre teksten, når encoderen blev drejet. Koderen har ikke en bestemt mængde vinkler eller rotationer, så i koden tællede vi, hvor mange gange den blev drejet med eller mod uret og fik den til at tælle til 3. Hvis den gik over, ville den gå tilbage til 0, og hvis det gik under 0, ville det gå tilbage til 3. Disse tal kan indstilles til hvor mange lydsæt du vil, men vi endte kun med at teste et lydsæt. Sørg for, at dine lyde er i den samme mappe/placering, som hvor hoved Python -koden udføres.

Trin 6: Saml brættet

Saml bestyrelsen
Saml bestyrelsen
Saml bestyrelsen
Saml bestyrelsen
Saml bestyrelsen
Saml bestyrelsen

FSR'erne glider under de fire forskellige slots. Vi centrerede dem og tapede dem ned. Vi anbefaler gaffatape eller måske endda limning, fordi simpelt tape var forfærdeligt til at holde sig til 3D -printet materiale. Efter en hurtig tur til dollarbutikken fandt vi en blød, men knirkende haveknæpude, som vi kunne skære i fire stykker for at bruge som knapperne til brættet. Vi skar dem, så de kunne passe godt ind i deres pletter, så de kunne blive på plads, men også let kan fjernes, hvis det er nødvendigt.

Trin 7: Tilslut det hele

Tråd det hele op
Tråd det hele op
Tråd det hele op
Tråd det hele op

Efter at have samlet tavlen og sat FSR'erne, encoderen og skærmen på plads, kørte vi alt sammen. Du kunne bruge 2 brødbrætter, men vi kunne passe alt på en. Billedet ligner et rod, men vi lavede et skematisk diagram i et gratis program kaldet Fritzing. Bemærk, at du kan ændre, hvilke pins du vil vedhæfte alt til, men diagrammet svarer til vores kode.

Trin 8: Afslut kodning ALT

Dette var den vanskelige del. Som anført i introduktionen kunne vi ikke fuldføre denne del. Koden er 99% alt der, men den ene del, der ikke virkede, var seriel kommunikation fra Arduino til Pi. Vi kunne nemt sende informationen, når vi sluttede Arduino til Pi med USB -kablet, men Pi kunne ikke gøre andet end at vise disse oplysninger på skærmen. Vi ønskede at kunne fortælle, hvilken knap der blev trykket på, og få det til at afspille en bestemt lyd, men de data, der kom via kommunikationen, kunne ikke sættes i en tilstandserklæring for at teste, hvilken knap der blev trykket på.

Se venligst den vedhæftede kode, noter er blevet kommenteret i Python -koden til Pi. Arduino -koden skal være 100%.

Trin 9: Afslut

Konkludere
Konkludere

Samlet set var dette projekt en KÆMPE læringsoplevelse for os to, og vi håber, at denne opskrivning kan give fremtidige elever, lærere eller puslespil inspiration til deres eget projekt og til at guide dem ved at lære af vores fejl. Råb til vores fantastiske robotikprofessor, der hjalp enormt meget i vores tid i klassen og gav os mulighed for at have masser af sjov og lære meget i en senior COMP -klasse! Tak fordi du læste:)

Anbefalede: