L'aggiunta di audio a un progetto Raspberry Pi è una semplice questione di collegare un monitor HDMI con altoparlanti incorporati o collegare altoparlanti amplificati alla porta audio. Tuttavia, nessuna delle due soluzioni è molto leggera o portatile. I progetti che richiedono un ingombro ridotto e ad alta efficienza energetica non hanno spazio per i diffusori amplificati di grandi dimensioni. Tuttavia, per i suoni semplici, il Pi può generare frequenze sui suoi pin GPIO che guidano un elemento piezoelettrico per produrre suoni.
Questo tutorial ti mostrerà come connettere un elemento piezoelettrico economico al tuo Pi per produrre toni semplici.
Gli elementi piezoelettrici funzionano secondo il principio che alcuni materiali come i cristalli produrranno elettricità se messi sotto stress, piegati o vibrati. Alcuni usi di un elemento piezoelettrico includono il rilevamento di vibrazioni come colpi o suoni.
Anche i componenti elettrici piezoelettrici funzionano all'indietro, se viene applicata una corrente all'elemento che si piega o flette. Usando questo metodo e applicando un segnale oscillante, l'elemento vibrerà alla stessa frequenza del segnale.
Per collegare l'elemento piezoelettrico sarà necessario saldare i fili a trefoli a qualcosa che possa collegarsi ai pin Pi. Se si è disposti a commettere fili di collegamento per il progetto, tagliare e spellare un'estremità del filo e della saldatura come di seguito. Le istruzioni che seguono usano un po 'di cavo di collegamento per evitare di tagliare i cavi dei ponticelli.
Dopo questi passaggi dovresti avere un elemento piezo montato su una membrana che amplificherà il ronzio dell'elemento collegato al tuo Pi. Dovrebbe assomigliare all'immagine qui sotto.
Pi assemblato ed elementoEsistono diverse guide all'acquisto e all'installazione di un sistema operativo sul tuo Raspberry Pi. Segui la tua scelta di acquisto e installazione. Una volta avviato Raspberry Pi e configurato, passare al passaggio successivo.
Ora che l'elettronica è collegata, è necessario il software per eseguire le porte GPIO. Il progetto wiringPi fornisce un controllo preciso sui pin GPIO dalla riga di comando e C. Esistono python e altri wrapper per wiringPi. In questo esempio, installerai il wiringPi e modificheremo un programma di esempio C per produrre suoni.
sudo apt-get install git
git clone git: //git.drogon.net/wiringPi
cd wiringPi ./build
Nella directory degli esempi del repository wiringPi è un file denominato softTone.c. Questo file dimostra l'uso della funzione softToneWrite che oscilla il pin selezionato ad una determinata frequenza. Il programma di esempio fa suonare l'elemento piezo alla scala. Per verificare di aver compilato e cablato tutto correttamente compila l'esempio ed eseguilo come root.
Gli esempi di cd rendono softTone sudo ./softTone
Ora dovresti sentire ripetutamente una scala riprodotta sull'elemento piezoelettrico. Uso CTRL C per fermare il programma. Successivamente, diventerai un po 'più creativo con la musica. Seguire le istruzioni sotto per modificare il softTone.c programma per suonare qualcosa di un po 'più interessante. Perché la matrice scala è solo una lista di frequenze, puoi sostituire i numeri e le dimensioni dell'array con qualsiasi cosa tu voglia. Sostituisci il file softTone.c con il contenuto qui sotto. In realtà ci sono solo alcune piccole modifiche all'originale. Il risultato riprodurrà una singola linea melodica e si fermerà.
#includere#includere #includere #includere #includere #define PIN 3 int scala [23] = 659, 659, 0, 659, 0, 523, 659, 0, 784, 0,0,0, 392, 0,0,0, 523, 0,0, 392 , 0,0,330; int main () int i; wiringPiSetup (); softToneCreate (PIN); per (i = 0; i < 23 ; ++i) printf ("%3d\n", i) ; softToneWrite (PIN, scale [i]) ; delay (200) ;
Crea ed esegui il Softtone programma di nuovo:
make softTone sudo ./softTone
Se ascolti attentamente potresti riconoscere questa piccola melodia. Semplicemente modificando il scala array e la sua dimensione sulla dichiarazione e il ciclo for puoi fare la melodia lunga o corta come vuoi.
Per i progetti che richiedono solo un semplice suono e non un sottosistema audio amplificato completo, un piccolo elemento piezoelettrico può essere la soluzione ideale. In questo tutorial hai imparato come collegare un elemento piezo al tuo Raspberry Pi, installare wiringPi e utilizzare un esempio dal pacchetto wiringPi per riprodurre la musica sull'elemento.
La modifica dei programmi C potrebbe non essere adatta a tutti, quindi ci sono wrapper di wiringPi per Python e altri linguaggi. Vedi il sito web del progetto wiringPi per una lingua che potrebbe essere più familiare. Ora dovresti essere in grado di usare qualsiasi lingua tu stia a tuo agio per creare i tuoi suoni e le tue melodie.