Sommario:
- Passaggio 1: testare l'FSR con Arduino
- Passaggio 2: tracciare i piani per il consiglio
- Passaggio 3: modella la scheda in TinkerCad
- Passaggio 4: testare lo schermo LCD
- Passaggio 5: testare l'encoder rotativo con lo schermo LCD
- Passaggio 6: assemblare la scheda
- Passaggio 7: collega tutto
- Passaggio 8: terminare la codifica di TUTTO
- Passaggio 9: concludere
Video: Prototipo Arduino-Raspberry Pi Soundboard: 9 passaggi (con immagini)
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:04
La tavola armonica prototipo creata con un Arduino e un Raspberry Pi è pensata per essere un modo semplice per riprodurre 4 suoni o rumori diversi pur avendo la possibilità di cambiare set di suoni con una manopola e visualizzare il set di suoni corrente con uno schermo LCD.
*Nota: il codice per il progetto è completo al 99%, ma non è funzionante.
Il Raspberry Pi controlla lo schermo LCD 16x2 e l'encoder rotativo mentre Arduino legge gli ingressi analogici dai resistori sensibili alla forza (FSR) e invia un segnale all'Arduino per riprodurre un suono. Entrambi non avevamo mai usato un Arduino o un Pi prima di questa lezione, ma il nostro professore ci ha fornito tutti gli strumenti e la guida necessari per codificare e costruire facilmente questo progetto. TinkerCad, uno strumento di modellazione 3D online gratuito di AutoDesk, è stato utilizzato per modellare il nostro progetto.
La parte più difficile del progetto è stata trovare un modo per far comunicare Arduino e Raspberry Pi con la comunicazione seriale. Inizialmente volevamo utilizzare solo il Pi per l'intero progetto, ma avevamo bisogno di Arduino per leggere il segnale analogico dagli FSR. Siamo stati facilmente in grado di inviare righe di parole o numeri da Arduino e visualizzarli sul Pi, ma il problema è sorto quando abbiamo provato a leggere quei valori in Python e implementarli in dichiarazioni di condizione per elaborarli.
Abilità richieste
- Semplice comprensione di C/C++ per la codifica Arduino
- Semplice comprensione di Python per la codifica Raspberry Pi
- Conoscenza su come è cablata una breadboard
- Competenze di modellazione 3D di base
- Il desiderio di imparare ed espandere la programmazione, il cablaggio e la costruzione di qualcosa di abbastanza pulito
Elenco delle parti
1 x Raspberry Pi 3
1 x Elegoo Uno O Arduino Uno
1 x 830 tagliere per cravatta
1 x scheda di breakout GPIO (RSP-GPIO)
1 x cavo a nastro per breakout board
4 x resistori sensibili alla forza ridotta
1 x schermo LCD di base 16x2 caratteri
1 x modulo encoder rotativo
24 x cavi da maschio a femmina
10 x cavi da maschio a maschio
4 x 10k resistori
1 x potenziometro 10k
1 x Ginocchiera in schiuma da giardino (negozio di dollari)
Passaggio 1: testare l'FSR con Arduino
Per prima cosa abbiamo deciso di provare l'FSR con Arduino. Gli FSR inviano un segnale analogico e quindi abbiamo dovuto usare un Arduino poiché il Pi non riceve l'analogico senza altri circuiti. Volevamo testare le soglie per assicurarci che le presse avessero una buona pressione. Abbiamo scoperto che era di circa 150 su un totale di 1000. Il plotter seriale sull'IDE di Arduino è stato molto utile per questo passaggio.
Passaggio 2: tracciare i piani per il consiglio
Abbiamo quindi elaborato e misurato i piani per il consiglio. Volevamo avere 4 pad con cui riprodurre i suoni, uno spot per uno schermo LCD per visualizzare il gruppo di suoni corrente e un codificatore rotante per cambiare il gruppo di suoni.
Passaggio 3: modella la scheda in TinkerCad
Dopo che i piani sono stati elaborati, abbiamo modellato la scheda su un sito Web di modellazione 3D online gratuito chiamato TinkerCad di Autodesk. Lo consigliamo vivamente a quelli di voi che non vogliono spendere un sacco di soldi in grandi software di modellazione 3D in quanto è facile da usare, basato su cloud e ha il pieno supporto per la stampa 3D.
Dopo che è stato modellato, abbiamo dovuto dividerlo in 2 pezzi per adattarlo alla stampante. È stato stampato molto bene, ma il mio errore non è stato dimensionare molto bene lo slot dello schermo LCD (non commettere questo errore!) Abbiamo caricato i file. STL del lato sinistro e destro se desideri verificarli.
Passaggio 4: testare lo schermo LCD
Avevamo già utilizzato lo schermo su Arduino ed è stato molto facile da configurare. Tuttavia, era più difficile eseguirlo con il Pi. Con diverse ore di risoluzione dei problemi su Google e giocherellando con i cavi, siamo finalmente riusciti a farlo funzionare. Si prega di vedere il codice Python finale alla fine per vedere come ha funzionato. Abbiamo utilizzato un paio di siti Web per aiutarci a cablarlo e scrivere il codice. Dai un'occhiata:
learn.adafruit.com/drive-a-16x2-lcd-direct…
www.raspberrypi-spy.co.uk/2012/07/16x2-lcd…
Passaggio 5: testare l'encoder rotativo con lo schermo LCD
Volevamo quindi vedere se potevamo far cambiare il testo allo schermo LCD quando l'encoder veniva ruotato. L'encoder non ha una quantità prestabilita di angoli o rotazioni, quindi nel codice abbiamo contato quante volte è stato ruotato in senso orario o antiorario e l'abbiamo fatto contare fino a 3. Se fosse andato oltre, sarebbe tornato a 0, e se scendesse sotto 0, sarebbe tornato a 3. Questi numeri possono essere impostati per tutti i set di suoni che desideri, ma alla fine abbiamo testato solo un set di suoni. Assicurati che i tuoi suoni siano nella stessa cartella/posizione in cui viene eseguito il codice Python principale.
Passaggio 6: assemblare la scheda
Gli FSR scorrono sotto i quattro diversi slot. Li abbiamo centrati e fissati con del nastro adesivo. Raccomandiamo il nastro adesivo o forse anche l'incollaggio perché il semplice nastro adesivo era terribile ad attaccarsi al materiale stampato in 3D. Dopo un breve viaggio al negozio del dollaro, abbiamo trovato una ginocchiera da giardino morbida ma soffice che potremmo tagliare in quattro pezzi da usare come bottoni per la tavola. Li abbiamo tagliati in modo che potessero adattarsi perfettamente ai loro punti in modo che potessero rimanere al loro posto, ma anche essere facilmente rimossi se necessario.
Passaggio 7: collega tutto
Dopo aver assemblato la scheda e aver posizionato gli FSR, l'encoder e lo schermo, abbiamo cablato tutto. Potresti usare 2 breadboard, ma siamo stati in grado di adattare tutto su uno. L'immagine sembra un disastro, ma abbiamo realizzato un diagramma schematico in un programma gratuito chiamato Fritzing. Nota che puoi cambiare i pin a cui vuoi attaccare tutto, ma lo schema corrisponde al nostro codice.
Passaggio 8: terminare la codifica di TUTTO
Questa era la parte difficile. Come affermato nell'introduzione, non siamo riusciti a completare questa parte. Il codice è al 99% tutto lì, ma l'unica parte che non ha funzionato è stata la comunicazione seriale da Arduino a Pi. Potremmo inviare facilmente le informazioni quando abbiamo collegato l'Arduino al Pi con il cavo USB, ma il Pi non ha potuto fare altro che visualizzare tali informazioni sullo schermo. Volevamo essere in grado di dire quale pulsante è stato premuto e far riprodurre un suono specifico, ma i dati che provenivano dalla comunicazione non potevano essere inseriti in una dichiarazione di condizione per testare quale pulsante fosse stato premuto.
Si prega di consultare il codice allegato, le note sono state commentate nel codice Python per il Pi. Il codice Arduino dovrebbe essere al 100%.
Passaggio 9: concludere
Nel complesso, questo progetto è stata un'enorme esperienza di apprendimento per noi due e speriamo che questo articolo possa dare a futuri studenti, insegnanti o sperimentatori un po' di ispirazione per il proprio progetto e che li guidi imparando dai nostri errori. Grida al nostro fantastico professore di robotica che ci ha aiutato immensamente durante il nostro tempo in classe e ci ha dato l'opportunità di divertirci un sacco e imparare molto in una classe COMP senior! Grazie per aver letto:)
Consigliato:
Air - True Mobile Air Guitar (prototipo): 7 passaggi (con immagini)
Air - True Mobile Air Guitar (prototipo): Ok, questo sarà un breve tutorial sulla prima parte di avvicinarsi finalmente a un mio sogno d'infanzia. Quando ero un ragazzino, ho sempre guardato i miei artisti e gruppi preferiti suonare la chitarra in modo impeccabile. Crescendo, ero t
Perfboard Clean-Cut FR4 (scheda prototipo/prototipo PCB): 10 passaggi (con immagini)
Clean-Cut FR4 Perfboard (scheda prototipo/prototipo PCB): (tl; dr: cesoie per aviazione e pietra di carborundum sott'acqua) Mentre entriamo nel terzo decennio del 21° secolo, i circuiti stampati personalizzati di altissima qualità possono essere ordinati in molto piccole quantità a bassissimo costo… se non vi dispiace aspettare
Fai da te BB8 - Completamente stampato in 3D - Diametro 20 cm Primo prototipo di dimensioni reali: 6 passaggi (con immagini)
Fai da te BB8 - Completamente stampato in 3D - Diametro 20 cm Primo prototipo di dimensioni reali: Ciao a tutti, questo è il mio primo progetto quindi volevo condividere il mio progetto preferito. In questo progetto, realizzeremo BB8 che viene prodotto con una stampante completamente 3D di 20 cm di diametro. Costruirò un robot che si muova esattamente come il vero BB8
Prototipo di amplificatore per chitarra polpetta: 6 passaggi (con immagini)
Prototipo di amplificatore per chitarra Meatball: saluti alla community di Instructables! Ho sviluppato un amplificatore per chitarra molto speciale e mi piacerebbe condividere con voi come l'ho costruito. Prima di iniziare vorrei condividere con voi tutti i materiali necessari per costruire questo amplificatore. Materiale li
Prototipo di lucciole LED: 3 passaggi (con immagini)
Prototipo di lucciole a LED: ciao a tutti, ecco un tentativo che ho fatto con qualcosa come un tiro a LED..il problema (per me) con i tiro a LED è che consumano solo la batteria e producono luce.. ma potrebbero essere più bravi a fare entrambe le cose ..prima devi accettare la premessa che