Indholdsfortegnelse:
- Trin 1: Test FSR med Arduino
- Trin 2: Tegn planerne for tavlen
- Trin 3: Model tavlen i TinkerCad
- Trin 4: Test LCD -skærmen
- Trin 5: Test den roterende encoder med LCD -skærmen
- Trin 6: Saml brættet
- Trin 7: Tilslut det hele
- Trin 8: Afslut kodning ALT
- Trin 9: Afslut
Video: Prototype Arduino-Raspberry Pi Soundboard: 9 trin (med billeder)
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:29
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
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
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
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
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
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
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
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
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:
Air - True Mobile Air Guitar (prototype): 7 trin (med billeder)
Air - True Mobile Air Guitar (Prototype): Okay, så det bliver en rigtig kort instruktion om den første del af endelig at komme tættere på min barndomsdrøm. Da jeg var en ung dreng, så jeg altid mine yndlingsartister og bands spille guitar perfekt. Da jeg voksede op, var jeg t
Clean-Cut FR4 Perfboard (Protoboard/Prototype PCB): 10 trin (med billeder)
Clean-Cut FR4 Perfboard (Protoboard/Prototype PCB): (tl; dr: aviation snips & carborundum stone under water) Da vi ruller ind i det tredje årti af det 21. århundrede, kan brugerdefinerede printkort i meget høj kvalitet bestilles i meget små mængder til meget lave omkostninger … hvis du ikke har noget imod at vente
DIY BB8 - Fuldt 3D -printet - 20 cm diameter Første prototype af ægte størrelse: 6 trin (med billeder)
DIY BB8 - Fuldt 3D -printet - 20 cm diameter Første prototype af rigtig størrelse: Hej alle sammen, dette er mit første projekt, så jeg ville dele mit yndlingsprojekt. I dette projekt vil vi lave BB8, der er produceret med en 20 cm diameter fuldstændig 3D -printer. Jeg skal bygge en robot, der bevæger sig nøjagtig det samme som den rigtige BB8
Meatball Guitar Amp Prototype: 6 trin (med billeder)
Frikadelle Guitar Amp Prototype: Hilsen Instructables Community! Jeg har udviklet en helt særlig guitarforstærker, og jeg vil meget gerne dele med dig, hvordan jeg byggede den. Inden vi går i gang, vil jeg gerne dele med dig alle de materialer, der kræves til at bygge denne forstærker. Materialeliste
PaniK Button Prototype (Español): 5 trin (med billeder)
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 ó