Vediamo come collegare un piccolo altoparlante esterno al GPIO pilotandolo con brevi programmi in Python senza ulteriori schede d’interfaccia.
Una cosa che il Raspberry Pi non ha è un altoparlante. Ha una porta per altoparlanti e può riprodurre suoni tramite la connessione HDMI, ma non ha un altoparlante o un cicalino per emettere suoni semplici. In questo articolo colleghiamo un altoparlante e scriviamo un semplice codice per controllarne il suono.
Per testare questo articolo avrai bisogno di un piccolo altoparlante e di alcuni ponticelli. Non avrai nemmeno bisogno di una breadboard, basterà collegare un lato dell’altoparlante a qualsiasi pin di messa a terra. Noi abbiamo collegato a terra tramite il pin sei del GPIO. L’altro lato dell’altoparlante deve essere collegato a un pin di segnale GPIO. Ad esempio il pin 33 della scheda GPIO, noto anche come GPIO 13. Tutto qui. Ora abbiamo un altoparlante collegato al Raspberry Pi.
Il codice
Per controllarlo tramite software, abbiamo utilizzato la libreria GPIO Zero per inviare un impulso con segnale modulato all’altoparlante (PWM). In questo progetto lasciamo che il software faccia il lavoro sporco. Apriamo il codice il codice Python in un editor a scelta (io uso Thonny).
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
from gpiozero import TonalBuzzer from gpiozero.tones import Tone import time import random myspeaker = TonalBuzzer(13) while True: playThis = random.randint(220,880) print(playThis) myspeaker.play(Tone(playThis)) time.sleep(.1) while False: for playThis in range(220, 890, 10): print(playThis) myspeaker.play(Tone(playThis)) time.sleep(.03) myspeaker.stop() |
Nella riga sei, creiamo un’istanza dell’oggetto GPIO Zero TonalBuzzer e la inseriamo in una variabile chiamata myspeaker. Eseguendo il file dell’esercizio riprodurremo una serie di toni casuali (toni elettronici). Modificando poi il while True in While False e viceversa passeremo da una esempio di suono random ad uno specifico.
Considerazioni finali
Sfortunatamente, questo esempio per collegare un altoparlante al nostro PI pilotandolo con Python non ci dà la possibilità di controllare il volume dell’altoparlante. Il volume è controllato dalla tensione applicata all’altoparlante e il Raspberry Pi può fornire solo 3,3 volt. Per controllare il volume sarebbe necessario un circuito più sofisticato collegato all’altoparlante. Per ora, questo è un modo semplice e veloce per controllare il suono con il Raspberry Pi.Nulla tuttavia ci impedisce di utilizzarlo per creare un piccolo sequencer a onda quadra, o di realizzare un semplice impianto di allarme aggiungendo un time o una manciata di sensori…
Buon divertimento!
Join our groups on Telegram…