Cuprins:
- Pasul 1: Testați FSR cu Arduino
- Pasul 2: Trageți planurile pentru tablă
- Pasul 3: Modelează placa în TinkerCad
- Pasul 4: Testați ecranul LCD
- Pasul 5: Testați codificatorul rotativ cu ecranul LCD
- Pasul 6: Asamblați placa
- Pasul 7: conectați totul
- Pasul 8: Finalizați codarea TOTUL
- Pasul 9: încheie
Video: Prototip Arduino-Raspberry Pi Soundboard: 9 pași (cu imagini)
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-30 11:45
Tabla de sunet prototip creată cu un Arduino și Raspberry Pi este menită să fie un mod simplu de redare a 4 sunete sau zgomote diferite, în timp ce are opțiunea de a comuta seturile de sunet cu un buton și de a afișa setul de sunet curent cu un ecran LCD.
* Vă rugăm să rețineți: Codul proiectului este complet de 99%, dar nu este funcțional.
Raspberry Pi controlează ecranul LCD de 16x2 și codificatorul rotativ în timp ce Arduino citește intrările analogice de la rezistențe sensibile la forță (FSR) și trimite un semnal către Arduino pentru a reda un sunet. Amândoi nu am folosit niciodată un Arduino sau Pi anterior acestei clase, dar profesorul nostru ne-a oferit toate instrumentele și îndrumările necesare pentru a codifica și construi cu ușurință acest proiect. TinkerCad, un instrument online gratuit de modelare 3D de la AutoDesk, a fost folosit pentru a ne modela proiectul.
Cea mai dificilă parte a proiectului a fost găsirea unei modalități de a determina Arduino și Raspberry Pi să comunice cu comunicarea în serie. Am dorit inițial să folosim Pi-ul doar pentru întregul proiect, dar aveam nevoie de Arduino pentru a citi semnalul analogic din FSR-uri. Am reușit cu ușurință să trimitem linii de cuvinte sau numere din Arduino și să le afișăm pe Pi, dar problema a venit atunci când am încercat să citim aceste valori în Python și să le implementăm în instrucțiuni de condiție pentru a le procesa.
Abilitati cerute
- Înțelegere simplă a C / C ++ pentru codificarea Arduino
- Înțelegere simplă a codificării Python pentru Raspberry Pi
- Cunoașterea modului în care este conectată o placă de calcul
- Abilități de bază de modelare 3D
- Dorința de a învăța și extinde programarea, cablarea și construirea a ceva cam îngrijit
Lista de materiale
1 x Raspberry Pi 3
1 x Elegoo Uno SAU Arduino Uno
1 x 830 Cravată
1 x GPIO Breakout Board (RSP-GPIO)
1 x cablu panglică pentru placa de desfacere
4 x rezistențe sensibile la forță mici
1 x Ecran LCD de bază de 16x2 caractere
1 x modul de codificare rotativ
24 x fire de la mascul la feminin
10 x fire de la mascul la mascul
4 x rezistențe 10k
1 x 10k potențiometru
1 x genunchi din spumă de grădină (magazin de dolari)
Pasul 1: Testați FSR cu Arduino
Mai întâi am decis să încercăm FSR cu Arduino. FSR-urile trimit un semnal analogic și, prin urmare, a trebuit să folosim un Arduino deoarece Pi nu primește analog fără alte circuite. Am vrut să testăm pragurile pentru a ne asigura că presele erau la o presiune bună. Am constatat că este în jur de 150 dintr-un total de 1000. Plotterul serial de pe Arduino IDE a fost foarte util pentru acest pas.
Pasul 2: Trageți planurile pentru tablă
Apoi am întocmit și am măsurat planurile pentru tablă. Am vrut să avem 4 tampoane cu care să redăm sunete, un spot pentru un ecran LCD pentru a afișa grupul de sunet curent și un codificator rotativ pentru a schimba grupul de sunete.
Pasul 3: Modelează placa în TinkerCad
După ce au fost elaborate planurile, am modelat tabloul pe un site web online, gratuit, de modelare 3D numit TinkerCad de Autodesk. Îl recomandăm cu tărie pentru aceia dintre voi care nu doresc să cheltuiască o grămadă de bani pe software-ul mare de modelare 3D, deoarece este ușor de utilizat, bazat pe cloud și are suport complet pentru imprimarea 3D.
După ce a fost modelat, a trebuit să îl împărțim în 2 bucăți pentru a o potrivi pe imprimantă. S-a tipărit foarte bine, dar greșeala mea a fost că nu a dimensionat foarte bine slotul ecranului LCD (nu faceți această greșeală!) Am încărcat fișierele. STL din partea stângă și din dreapta dacă doriți să le verificați.
Pasul 4: Testați ecranul LCD
Am folosit deja ecranul de pe Arduino și a fost foarte ușor de configurat. Cu toate acestea, a fost mai dificil să-l rulezi cu Pi. Având câteva ore de depanare pe Google și agitându-ne cu firele, am reușit în cele din urmă să funcționeze. Vă rugăm să consultați codul final Python la final pentru a vedea cum a funcționat. Am folosit câteva site-uri web pentru a ne ajuta să le conectăm și să scriem codul. Verificați-le:
learn.adafruit.com/drive-a-16x2-lcd-direct…
www.raspberrypi-spy.co.uk/2012/07/16x2-lcd…
Pasul 5: Testați codificatorul rotativ cu ecranul LCD
Am vrut apoi să vedem dacă putem face ca ecranul LCD să schimbe textul atunci când codorul a fost rotit. Codificatorul nu are o cantitate setată de unghiuri sau rotații, așa că în cod am numărat de câte ori a fost rotit în sensul acelor de ceasornic sau în sens invers acelor de ceasornic și l-am făcut să numere la 3. Dacă s-ar depăși, s-ar întoarce la 0 și dacă ar fi sub 0, ar reveni la 3. Aceste numere pot fi setate pentru oricâte seturi de sunete doriți, dar am ajuns să testăm doar un singur set de sunete. Asigurați-vă că sunetele dvs. se află în același folder / locație ca și unde se execută codul principal Python.
Pasul 6: Asamblați placa
FSR-urile alunecă sub cele patru sloturi diferite. Le-am centrat și le-am înregistrat. Vă recomandăm bandă adezivă sau poate chiar lipire, pentru că simpla bandă scotch a fost groaznică la lipirea materialului tipărit 3D. După o călătorie rapidă la magazinul de dolari, am găsit o genunchiere de grădină moale, dar squishy, pe care am putea să o tăiem în patru bucăți pentru a o folosi ca butoane pentru tablă. Le-am tăiat astfel încât să poată să se potrivească perfect în locurile lor, astfel încât să poată rămâne la locul lor, dar, de asemenea, să fie ușor îndepărtate, dacă este necesar.
Pasul 7: conectați totul
După ce am asamblat placa și am pus FSR-urile, codificatorul și ecranul la locul lor, am conectat totul. Puteți folosi 2 panouri, dar am reușit să potrivim totul pe una. Imaginea arată ca o mizerie, dar am făcut o diagramă schematică într-un program gratuit numit Fritzing. Rețineți că puteți schimba la ce pini doriți să atașați totul, dar diagrama corespunde codului nostru.
Pasul 8: Finalizați codarea TOTUL
Aceasta a fost partea dificilă. După cum sa menționat în introducere, nu am putut finaliza această parte. Codul este 99% acolo, dar singura parte care nu a funcționat a fost comunicarea serială de la Arduino la Pi. Am putea trimite informațiile cu ușurință atunci când am conectat Arduino la Pi cu cablul USB, dar Pi nu a putut face altceva decât să afișeze aceste informații pe ecran. Am vrut să putem spune care buton a fost apăsat și să facem redarea unui sunet specific, dar datele care veneau prin comunicare nu au putut fi puse într-o declarație de condiție pentru a testa ce buton a fost apăsat.
Vă rugăm să consultați codul atașat, notele au fost comentate în codul Python pentru Pi. Codul Arduino ar trebui să fie 100%.
Pasul 9: încheie
În ansamblu, acest proiect a fost o experiență de învățare UMERĂ pentru noi doi și sperăm că această scriere poate oferi viitorilor studenți, profesori sau jucătorilor o inspirație pentru propriul proiect și să-i îndrume învățând din greșelile noastre. Strigați-l pe minunatul nostru profesor de robotică care ne-a ajutat enorm în timpul petrecut în clasă și ne-a oferit ocazia de a ne distra și de a învăța multe într-o clasă COMP senior! Multumesc pentru citire:)
Recomandat:
Air - True Mobile Air Guitar (prototip): 7 pași (cu imagini)
Air - True Mobile Air Guitar (Prototype): Bine, deci, acesta va fi un scurt instructiv despre prima parte a apropierii în cele din urmă de un vis al meu din copilărie. Când eram tânăr, mă uitam mereu la artiștii și trupele mele preferate cântând la chitară imaculat. Pe măsură ce am crescut, nu eram
Telefon bazat pe Arduino (prototip): 7 pași
Telefon bazat pe Arduino (prototip): Bună ziua tuturor, Astăzi, în acest instructiv, vom vedea despre telefonul bazat pe arduino. Acesta este telefonul este un prototip care este încă în curs de dezvoltare. Codul sursă este open source, oricine poate modifica codul. Caracteristici în telefon: 1. Muzică 2. Videoclipuri 3
DIY -Prototip- Încărcător USB temporizat Arduino: 8 pași
DIY -Prototip- Încărcător USB temporizat Arduino: În timpul seminarului nostru despre arduino a trebuit să inventăm un hack fericit cu arduino. Am decis să facem un dispozitiv care să taie energia de la încărcarea dispozitivelor folosind un anumit cod pentru arduino. Powerbuddy! Acest prototip nu încarcă de fapt dispozitivele ca
DIY BB8 - Imprimare 3D completă - Diametru 20cm Primul prototip de dimensiune reală: 6 pași (cu imagini)
DIY BB8 - Imprimat complet 3D - Diametru 20cm Primul prototip de dimensiune reală: Bună tuturor, acesta este primul meu proiect, așa că am vrut să împărtășesc proiectul meu preferat. În acest proiect, vom face BB8, care este produs cu o imprimantă complet 3D cu diametrul de 20 cm. Voi construi un robot care se mișcă exact la fel ca adevăratul BB8
Prototip amplificator chitara chifteluta: 6 pasi (cu imagini)
Prototip amplificator chitara chiftelute: Salutări Comunitate instructabile! Am dezvoltat un amplificator de chitară foarte special și aș vrea să vă împărtășesc cum l-am construit. Înainte de a începe, aș dori să vă împărtășesc toate materialele necesare pentru a construi acest amplificator. Material lis