Innholdsfortegnelse:
- Trinn 1: Test FSR med Arduino
- Trinn 2: Tegn planene for styret
- Trinn 3: Modell bordet i TinkerCad
- Trinn 4: Test LCD -skjermen
- Trinn 5: Test roterende koder med LCD -skjermen
- Trinn 6: Monter brettet
- Trinn 7: Koble det hele opp
- Trinn 8: Fullfør kodingen av ALT
- Trinn 9: Avslutt
Video: Prototype Arduino-Raspberry Pi Soundboard: 9 trinn (med bilder)
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:24
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
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
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
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
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
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
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
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
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:
Air - True Mobile Air Guitar (Prototype): 7 trinn (med bilder)
Air - True Mobile Air Guitar (Prototype): Ok, så dette blir en veldig kort instruksjon om den første delen av å endelig komme nærmere en barndomsdrøm for meg. Da jeg var en ung gutt, så jeg alltid på mine favorittartister og band som spilte gitar perfekt. Da jeg vokste opp, var jeg
Clean-Cut FR4 Perfboard (Protoboard/Prototype PCB): 10 trinn (med bilder)
Clean-Cut FR4 Perfboard (Protoboard/Prototype PCB): (tl; dr: aviation snips & carborundum stone under water) Når vi ruller inn i det tredje tiåret av det 21. århundre, kan tilpassede kretskort av meget høy kvalitet bestilles i svært små mengder til svært lave kostnader … hvis du ikke har noe imot å vente
DIY BB8 - Fullt 3D -trykt - 20 cm diameter Første prototype av ekte størrelse: 6 trinn (med bilder)
DIY BB8 - Fullt 3D -trykt - 20 cm diameter Første prototype av ekte størrelse: Hei alle sammen, dette er mitt første prosjekt, så jeg ville dele mitt favorittprosjekt. I dette prosjektet skal vi lage BB8 som er produsert med en 20 cm diameter fullstendig 3D -skriver. Jeg skal bygge en robot som beveger seg nøyaktig det samme som den virkelige BB8
Meatball Guitar Amp Prototype: 6 trinn (med bilder)
Meatball Guitar Amp Prototype: Hilsen Instructables Community! Jeg har utviklet en veldig spesiell gitarforsterker, og jeg vil gjerne dele med deg hvordan jeg bygde den. Før vi begynner, vil jeg dele med deg alt materialet som kreves for å bygge denne forsterkeren. Material lis
PaniK Button Prototype (Español): 5 trinn (med bilder)
PaniK Button Prototype (Español): Bot ó n de p á nico que al ser presionado env í a un mensaje personalizado a trav é s de la cuenta de twitter del usuario; este se encuentra desarrollado mediante el uso del Arduino UNO y una aplicaci ó n m ó vil