| AN009 - Collegare LPM11162 ad Arduino |
|
Ecco alcuni schemi di collegamento tra modulo audio LPM11162 e scheda Arduino. Sono illustrati 3 schemi, dal più semplice con una sola linea al più completo con 3 linee. Per ogni schema vengono descritte le caratteristiche, i vantaggi e la configurazione della libreria da utilizzare. Collegamento 1 linea (TX)![]() In questo schema l'unica linea di collegamento tra Il modulo audio LPM11162 ed Arduino è il TX seriale. Poichè il modulo audio richiede una alimentazione a 3.3V mentre Arduino lavora a 5V, è necessario portare il livello di uscita di Arduino da 5V a 3.3V, quindi è stato inserito un partitore resistivo con resistenze da 15KΩ e 10KΩ. AudioModule.begin(4, LPM_NO_PIN, LPM_NO_PIN, 9600); Il primo parametro è il pin di Arduino usato per il TX (pin 4), il secondo e terzo parametro sono i pin usati per controllare /RESET e /BUSY del modulo audio ed in questo caso valgono LPM_NO_PIN, cioè non usati. La linea di /RESET del modulo audio LPM11162 (pin 2) è lasciata non collegata, quindi il modulo audio uscirà dal reset appena riceverà alimentazione. Affinchè tutto funzioni correttamente è necessario assicurarsi di non trasmettere comandi quando il modulo audio è ancora in reset.
Collegamento 2 linee (TX, /RESET)
In questo schema è stato incluso anche un collegamento per controllare la linea di /RESET del modulo audio LPM11162. Al momento dell'inizializzazione della libreria LPM11162 Arduino Library tramite la funzione begin() il modulo audio viene resettato e da quel momento è pronto a ricevere comandi per riprodurre file WAV: AudioModule.begin(4, 3, LPM_NO_PIN, 9600); Inizializzando la libreria in questo modo il pin 3 di Arduino sarà usato per pilotare il reset del modulo audio LPM11162 all'avvio.
Collegamento 3 linee (TX, /RESET, /BUSY)
Questo è lo schema più completo, include anche la possibilità di leggere lo stato del pin /BUSY del modulo audio. Il pin /BUSY viene portato a 0 durante la riproduzione di un file WAV, quindi Arduino ha la possibilità di sapere se la riproduzione è ancora in corso oppure no. In questo modo può attendere, ad esempio, di completare un messaggio vocale prima di lanciarne un altro, creado così delle frasi. AudioModule.begin(4, 3, 2, 9600); Il terzo parametro delle funzione indica che il pin 2 di Arduino sarà usato per leggere lo stato del pin /BUSY del modulo LPM11162. Come si può vedere, tra i due pin è presente un circuito con BJT che costituisce un traslatore di livello, per fare in modo che l'uscita /BUSY del modulo audio a 3.3V arrivi in ingresso al pin 2 di Arduino con livello di 5V come richiesto. Come BJT può andare bene un classico BC337. Per leggere lo stato della linea /BUSY è disponibile la seguente funzione di libreria che ritorna un valore 0 se la riproduzione di un file WAV è in corso, oppure 1 in caso contrario: AudioModule.isBusy(); |












