Sommario:
- Passaggio 1: materiale necessario
- Passaggio 2: i pulsanti
- Passaggio 3: la custodia dei pulsanti
- Passaggio 4: il Raspberry Pi
- Passaggio 5: programmazione
- Passaggio 6: eseguire lo script Python ad ogni avvio
- Passaggio 7: nota finale
Video: Registratore di riproduzione con Raspberry Pi: 7 passaggi (con immagini)
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:04
Ciao a tutti, In questo tutorial spiego come ho realizzato un registratore di riproduzione usando Raspberry Pi. Il dispositivo è un Raspberry Pi modello B+, con 7 pulsanti sulla parte superiore, un altoparlante collegato a una delle porte USB del Pi e un microfono collegato a un'altra porta USB. Ad ogni pulsante è associato un suono, quindi può riprodurre 7 suoni diversi. I suoni vengono riprodotti dopo una breve pressione del pulsante. Per registrare un nuovo suono, è sufficiente premere il pulsante per più di 1 secondo, registrare dopo il segnale acustico e rilasciare il pulsante alla fine della registrazione. Non c'è niente di più semplice di così!
Passaggio 1: materiale necessario
Per questo progetto avevo bisogno di:
- Un modello Raspberry Pi B+ e una scheda micro SD - 29,95 $ + 9,95 $
- Una custodia in plastica Raspberry Pi - 7,95 $
- Altoparlanti USB - 12,50 $
- Un microfono USB - 5,95 $
- Una mezza pensione perma-proto - 4,50 $
- 7 pulsanti momentanei - 2,50 $
mi serviva anche:
- Qualche filo elettrico
- Intestazioni femmina ad angolo retto
- Un po' di legno, vernice nera e colla per la custodia dei bottoni
- Un saldatore e una saldatura
Passaggio 2: i pulsanti
I pulsanti utilizzati sono abbastanza alti (6 mm) in modo da poter passare attraverso lo spessore della cassa.
Ho posizionato i miei 7 pulsanti su una scheda perma-proto, che è come una breadboard, tranne per il fatto che i componenti sono saldati su di essa. Questo è più robusto di una breadboard e più economico della stampa di un pcb. Ogni pulsante collega la massa a un GPIO sul Raspberry Pi. Non ho resistori qui poiché il Pi ha già resistori pull-up/down interni che verranno impostati nel programma. In questo caso li ho impostati su pull-up (vedi programma sotto).
I pulsanti sono posizionati ogni 4 righe o ogni 0,4 pollici.
Passaggio 3: la custodia dei pulsanti
Ho realizzato un astuccio per i bottoni molto semplice, con fogli di compensato e tassello quadrato in legno. La dimensione del tassello deve essere abbastanza grande da contenere la base del bottone e la scheda, ma abbastanza piccola da far uscire il bottone dalla parte superiore. Ho usato un tassello da 1/4 di pollice x 1/4 di pollice.
Dopo essersi assicurati che la scheda si adatti alla custodia, i tasselli vengono incollati al foglio di base. Vengono quindi praticati dei fori sul foglio superiore (la tavola può essere utilizzata per fare con precisione segni ogni 0,4 pollici). Tutte le parti in legno sono dipinte, la tavola inserita nella custodia e il foglio superiore incollato sopra di essa.
Passaggio 4: il Raspberry Pi
Non volevo saldare i fili direttamente al Pi, nel caso volessi usare il Pi per qualcos'altro in futuro. Ho quindi saldato i fili alle intestazioni femmina ad angolo retto e ho collegato le intestazioni sul Pi.
I GPIO utilizzati sono 21, 26, 20, 19, 13, 6 e 5. Viene utilizzato anche il pin di terra.
Il microfono e l'altoparlante vengono semplicemente collegati a 2 delle 4 porte USB.
Il Pi è alimentato tramite la presa micro-usb
Passaggio 5: programmazione
Per programmare il Pi, l'ho collegato a Internet utilizzando un cavo Ethernet e l'ho controllato da un computer remoto utilizzando il visualizzatore VNC. Tuttavia, non è possibile utilizzare questa configurazione la prima volta che ci si connette al Pi, perché il sistema operativo non è ancora installato e SSH non è abilitato. Quindi dovrai collegare uno schermo, una tastiera e un mouse, almeno la prima volta.
È stata una vera seccatura trovare i comandi per registrare e riprodurre un suono sulla scheda audio giusta. Questi sono i comandi che hanno funzionato per me:
-
aplay -D plughw:CARD=Dispositivo_1, DEV=0 0.wav
Riproduce 0.wav
-
arecord 0.wav -D sysdefault:CARD=1 -f cd -d 20
Registra per un massimo di 20 secondi nel file 0.wav, con qualità cd
I file audio si trovano nella directory predefinita (/home/pi). È necessario anche un file audio per il beep, posizionato nella directory predefinita e chiamato beep.wav.
Il codice Python stesso è il seguente:
codice python per un registratore di riproduzione Raspberry Pi
importa RPi. GPIO come GPIO |
tempo di importazione |
importare il sistema operativo |
#variabili: |
butPressed = [True, True, True, True, True, True, True]#se il pulsante i è premuto, allora butPressed è False |
pin = [26, 19, 13, 6, 5, 21, 20]#pin GPIO di ciascun pulsante |
recordBool = False#True se è in corso un record |
GPIO.setmode(GPIO. BCM) |
per i nell'intervallo (0, 7): |
GPIO.setup(pin, GPIO. IN, pull_up_down=GPIO. PUD_UP)#imposta i resistori interni di Pi su pull-up |
mentre vero: |
per i nell'intervallo (0, 7): |
butPressed = GPIO.input(pin)# controlla se un pulsante è premuto |
if butPressed == False:#se viene premuto un pulsante |
oraprecedente = ora.ora() |
while butPressed == False e recordBool == False: |
butPressed = GPIO.input(pin) |
if time.time() - previousTime > 1.0:#se il pulsante viene premuto per più di un secondo, allora recordBool è True |
recordBool = True |
if recordBool == True:#se recordBool è True, riproduce un segnale acustico e quindi registra |
os.system("aplay -D plughw:CARD=Dispositivo_1, DEV=0 beep.wav") |
os.system("arecord %d.wav -D sysdefault:CARD=1 -f cd -d 20 &" %i)#record per un massimo di 20 secondi nel file i.wav, con qualità cd |
mentre butPressed == False: |
butPressed = GPIO.input(pin) |
os.system("pkill -9 arecord")#il record viene interrotto quando si rilascia il pulsante o dopo 20 secondi |
recordBool = False |
else:#se recordBool è False, riproduce il suono i.wav |
os.system("aplay -D plughw:CARD=Dispositivo_1, DEV=0 %d.wav" %i) |
tempo.sonno(0.1) |
visualizza il registratore rawPlayback ospitato con ❤ da GitHub
Passaggio 6: eseguire lo script Python ad ogni avvio
Per eseguire lo script Python all'avvio di ogni Pi, le seguenti righe vengono inserite in un file chiamato playback.desktop nella cartella /home/pi/.config/autostart/
esegue playback.py all'avvio di Raspberry Pi
[Voce sul desktop] |
Codifica=UTF-8 |
Tipo=Applicazione |
Nome=Riproduzione |
Comment=Questa è un'applicazione di riproduzione |
Exec= python /home/pi/playback.py |
StartupNotify=false |
Terminale=vero |
Nascosto=falso |
visualizza rawplayback.desktop ospitato con ❤ da GitHub
Passaggio 7: nota finale
Per favore dimmi cosa ne pensi di questo progetto nella sezione commenti, fammi sapere i tuoi consigli e votami nel concorso Raspberry Pi se ti è piaciuto.
Non vedo l'ora di leggerti!
Consigliato:
Orologio del regolatore di riproduzione: 7 passaggi (con immagini)
Orologio regolatore di riproduzione: questo istruibileQuesto istruibile mostra come realizzare un orologio regolatore di riproduzione usando una vecchia cassa dell'orologio e tre movimenti al quarzo. Ho usato un vecchio 12" inglese. (300 mm) Cassa dell'orologio con quadrante da Ebay, ma qualsiasi custodia può essere utilizzata purché tre
Riproduzione di MP3 Sound FX Wall: 12 passaggi (con immagini)
MP3 Playing Sound FX Wall: crea un sound wall divertente e interattivo che riproduce Mp3 con un semplice tocco! Cosa fai con un muro vuoto? Potresti aggiungere delle belle foto? Oppure coprilo con una pianta da appartamento colorata. Abbiamo persino visto alcune persone nascondere pareti nude dietro libri
Arduino parlante - Riproduzione di un MP3 con Arduino senza alcun modulo - Riproduzione di file Mp3 da Arduino utilizzando PCM: 6 passaggi
Arduino parlante | Riproduzione di un MP3 con Arduino senza alcun modulo | Riproduzione di file Mp3 da Arduino usando PCM: in questo tutorial impareremo come riprodurre un file mp3 con arduino senza utilizzare alcun modulo audio, qui useremo la libreria PCM per Arduino che riproduce PCM a 16 bit di frequenza 8kHZ, quindi facciamolo
Timer di riproduzione per iPad: 5 passaggi (con immagini)
IPad Play Timer: Penso che questo sia un argomento con cui ogni genitore sta lottando. Quanto possono giocare i bambini con i loro iPad (o qualsiasi altro tablet). Abbiamo provato diversi approcci, come orari fissi, ma non ha funzionato molto perché nostro figlio voleva sempre tornare a casa il momento
Riproduzione rapida e sporca di PCB in Fusion 360: 6 passaggi (con immagini)
Riproduzione PCB rapida e sporca in Fusion 360: questo è un metodo rapido e sporco in grado di riprodurre rapidamente schede PCB esistenti se non è già disponibile un modello 3D. È particolarmente utile per riprodurre rapidamente schede di sblocco per eseguire controlli di adattamento dei componenti o per rendering dell'ultimo minuto. L'a