Innholdsfortegnelse:

Prototype Arduino-Raspberry Pi Soundboard: 9 trinn (med bilder)
Prototype Arduino-Raspberry Pi Soundboard: 9 trinn (med bilder)

Video: Prototype Arduino-Raspberry Pi Soundboard: 9 trinn (med bilder)

Video: Prototype Arduino-Raspberry Pi Soundboard: 9 trinn (med bilder)
Video: Raspberry Pi Soundboard 2024, November
Anonim
Prototype Arduino-Raspberry Pi Soundboard
Prototype Arduino-Raspberry Pi Soundboard

Prototypen lydbord laget med en Arduino og Raspberry Pi er ment å være en enkel måte å spille 4 forskjellige lyder eller lyder mens du har muligheten til å bytte lydsett med en knapp og vise gjeldende lydsett med en LCD -skjerm.

*Vær oppmerksom på: Koden for prosjektet er 99% fullført, men er ikke funksjonell.

Raspberry Pi styrer 16x2 LCD -skjermen og den roterende koderen mens Arduino leser de analoge inngangene fra kraftfølsomme motstander (FSR) og sender et signal til Arduino for å spille av en lyd. Vi hadde begge aldri brukt en Arduino eller Pi før denne klassen, men professoren vår ga oss alle de nødvendige verktøyene og veiledningen for å enkelt kode og bygge dette prosjektet. TinkerCad, et gratis online 3D -modelleringsverktøy av AutoDesk, ble brukt til å modellere prosjektet vårt.

Den vanskeligste delen av prosjektet var å finne en måte å få Arduino og Raspberry Pi til å kommunisere med seriell kommunikasjon. Vi ønsket opprinnelig bare å bruke Pi for hele prosjektet, men vi trengte Arduino for å kunne lese det analoge signalet fra FSR -ene. Vi var lett i stand til å sende linjer med ord eller tall fra Arduino og vise det på Pi, men der problemet kom var da vi prøvde å lese disse verdiene inn i Python og implementere dem i tilstandserklæringer for å behandle dem.

Nødvendige ferdigheter

  • Enkel forståelse av C/C ++ for Arduino -koding
  • Enkel forståelse av Python for Raspberry Pi -koding
  • Kunnskap om hvordan et brødbrett er kablet
  • Grunnleggende ferdigheter i 3D -modellering
  • Et ønske om å lære og utvide programmering, ledninger og bygge noe ganske pent

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 for breakout board

4 x Small Force Sensitive Resistors

1 x grunnleggende 16x2 tegn LCD -skjerm

1 x roterende kodermodul

24 x Mann til hunn ledninger

10 x Mann til mann ledninger

4 x 10k motstander

1 x 10k potensiometer

1 x hageskum knebeskyttelse (dollarbutikk)

Trinn 1: Test FSR med Arduino

Test FSR med Arduino
Test FSR med Arduino

Vi bestemte oss først for å prøve FSR med Arduino. FSR -ene sender et analogt signal, og derfor måtte vi bruke en Arduino ettersom Pi ikke mottar analog uten andre kretser. Vi ønsket å teste terskler for å sikre at pressene hadde et godt press. Vi fant det til å være rundt 150 av totalt 1000. Seriell plotter på Arduino IDE var veldig nyttig for dette trinnet.

Trinn 2: Tegn planene for styret

Tegn planene for styret
Tegn planene for styret
Tegn planene for styret
Tegn planene for styret

Vi tegnet deretter og målte planene for brettet. Vi ønsket å ha 4 pads å spille lyder med, et sted for en LCD -skjerm for å vise den nåværende lydgruppen, og en roterende encoder for å endre lydgruppen.

Trinn 3: Modell bordet i TinkerCad

Modell styret i TinkerCad
Modell styret i TinkerCad
Modell styret i TinkerCad
Modell styret i TinkerCad
Modell styret i TinkerCad
Modell styret i TinkerCad

Etter at planene ble utarbeidet, modellerte vi tavlen på et online, gratis 3D -modelleringsnettsted kalt TinkerCad av Autodesk. Vi anbefaler det på det sterkeste for dere som ikke vil bruke tonnevis med penger på stor 3D -modelleringsprogramvare, ettersom det er enkelt å bruke, skybasert og har full støtte for 3D -utskrift.

Etter at den ble modellert, måtte vi dele den i 2 deler for å passe den på skriveren. Det trykket veldig bra ut, men min feil var å ikke dimensjonere LCD -skjermsporet veldig godt (ikke gjør den feilen!) Vi har lastet opp venstre og høyre side. STL -filer hvis du ønsker å sjekke dem ut.

Trinn 4: Test LCD -skjermen

Test LCD -skjermen
Test LCD -skjermen

Vi hadde allerede brukt skjermen på Arduino, og den var veldig enkel å sette opp. Imidlertid var det vanskeligere å kjøre den med Pi. Med flere feilsøkingstimer på Google og fikling med ledninger, fikk vi det endelig til å fungere. Se den siste Python -koden på slutten for å se hvordan den fungerte. Vi brukte et par nettsteder for å hjelpe oss med å koble den og skrive koden. Sjekk dem ut:

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

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

Trinn 5: Test roterende koder med LCD -skjermen

Test Rotary Encoder med LCD -skjermen
Test Rotary Encoder med LCD -skjermen

Vi ønsket deretter å se om vi kunne få LCD -skjermen til å endre teksten når koderen ble rotert. Koderen har ikke en angitt mengde vinkler eller rotasjoner, så i koden regnet vi hvor mange ganger den ble rotert med eller mot klokken og fikk den til å telle til 3. Hvis den gikk over, ville den gå tilbake til 0, og hvis det gikk under 0, ville det gå tilbake til 3. Disse tallene kan settes for hvor mange lydsett du liker, men vi har bare testet ett lydsett. Sørg for at lydene dine er i samme mappe/plassering som der hovedpythonkoden utføres.

Trinn 6: Monter brettet

Monter styret
Monter styret
Monter styret
Monter styret
Monter styret
Monter styret

FSR -ene glir under de fire forskjellige sporene. Vi sentrerte dem og teipet dem ned. Vi anbefaler tape eller kanskje til og med liming fordi enkelt tape var forferdelig å holde seg til 3D -trykt materiale. Etter en rask tur til dollarbutikken fant vi en myk, men knirkete hageknebeskyttere som vi kunne kutte i fire biter for å bruke som knappene på brettet. Vi kuttet dem slik at de kunne passe godt på flekkene sine, slik at de kunne holde seg på plass, men også lett kan fjernes om nødvendig.

Trinn 7: Koble det hele opp

Tråd alt opp
Tråd alt opp
Tråd alt opp
Tråd alt opp

Etter å ha satt sammen brettet og satt FSR -er, encoder og skjerm på plass, koblet vi alt opp. Du kan bruke 2 brødbrett, men vi klarte å passe alt på ett. Bildet ser ut som et rot, men vi laget et skjematisk diagram i et gratis program som heter Fritzing. Vær oppmerksom på at du kan endre hvilke pins du vil feste alt til, men diagrammet samsvarer med koden vår.

Trinn 8: Fullfør kodingen av ALT

Dette var den vanskelige delen. Som nevnt i introen, kunne vi ikke fullføre denne delen. Koden er 99% alt der, men den ene delen som ikke fungerte var seriell kommunikasjon fra Arduino til Pi. Vi kunne enkelt sende informasjonen når vi koblet Arduino til Pi med USB -kabelen, men Pi kunne ikke gjøre annet enn å vise denne informasjonen på skjermen. Vi ønsket å kunne fortelle hvilken knapp som ble trykket og få den til å spille en bestemt lyd, men dataene som kom gjennom kommunikasjonen kunne ikke settes inn i en tilstandserklæring for å teste hvilken knapp som ble trykket.

Se den vedlagte koden, notater har blitt kommentert i Python -koden for Pi. Arduino -koden skal være 100%.

Trinn 9: Avslutt

Konkludere
Konkludere

Totalt sett var dette prosjektet en STOR læringsopplevelse for oss to, og vi håper at denne oppgaven kan gi fremtidige studenter, lærere eller tinkerere inspirasjon til sitt eget prosjekt og veilede dem ved å lære av våre feil. Rop ut til vår fantastiske robotikkprofessor som hjalp enormt i løpet av vår tid i klassen og ga oss muligheten til å ha masse moro og lære mye i en senior COMP -klasse! Takk for at du leste:)

Anbefalt: