Installazione di LPM11162 Arduino Library
La libreria LPM11162 Arduino Library impiega una emulazione della porta seriale tramite pin di I/O sfruttando un'altra libreria molto diffusa, la NewSoftSerial. Questo consente il collegamento al modulo audio con qualsiasi pin e non ci obbliga ad usare i pin specifici della porta seriale. Quindi il primo passo da fare per iniziare è scaricare la libreria NewSoftSerial ed installarla sul proprio PC copiando il contenuto dello ZIP nella cartella libreries della propria installazione dell'ambiente di sviluppo per Arduino.
A questo punto si può procedere ad installare anche la LPM11162 Arduino Library , scompattandola sempre nello stesso percorso. All'interno della cartella libreries troveremo ora la cartella LPM11162 che contiene la libreria. Al suo interno abbiamo anche Examples contenente a sua volta tre esempi di codice che utilizza la libreria nelle varie tipologie di collegamento previste.
Funzioni di LPM11162 Arduino Library
Ecco l'elenco completo delle funzioni contenute nella libreria:
- begin(txpin, resetpin, busypin, baudrate) Configura la libreria e l'hardware per comunicare con il modulo audio LPM11162 . Il primo parametro txpin è il pin utilizzato come TX per i comandi seriali inviati al modulo audio, il secondo parametro resetpin è il pin utilizzato per controllare il reset del modulo audio, busypin è il pin di Arduino con il quale possiamo leggere lo stato della linea /BUSY del modulo LPM11162 per sapere se la riproduzione di un file WAV è ancora in corso. Infine l'ultimo parametro baudrate è il baudrate usato nella comunicazione seriale, tipicamente 9600.
- end() All'opposto di begin() rilascia interamente le risorse hardware e software impegnate per la comunicazione con il modulo audio LPM11162, quindi sarà possibile ad esempio sfruttare un pin utilizzato in precedenza per il modulo audio per altre funzioni. In realtà non ha un vero uso pratico, è presente solo per completezza.
- play(FileName) Inizia la riproduzione del file WAV il cui nome è specificato come parametro della funzione, ad esempio "MyFile.wav".
- stop() Interrompe la riproduzione del file WAV che è in corso.
- volume(volume) Regola il livello del volume di riproduzione audio passando un numero tra 0 e 100 come parametro per indicare il volume.
- isBusy() Legge lo stato del pin /BUSY del modulo LPM11162. Questa informazione è utile per sapere se la riproduzione di un file WAV è ancora in corso.
- reset(resetLevel) Pilota direttamente il pin /RESET del modulo LPM11162. Generalmente non usata, ma può essere utile in qualche caso particolare.
Utilizzo di LPM11162 Arduino Library
Utilizzare la libreria è molto semplice e gli esempi contenuti all'interno dello ZIP sono in genere sufficienti ad illustrare il tutto. Riportiamo comunque una breve spiegazione per maggiore chiarezza:
#include <NewSoftSerial.h> #include <LPM11162.h>
LPM11162 AudioModule;
void setup() { AudioModule.begin(4, 3, 2, 9600); //Parameters: tx pin, reset pin, busy pin, baudrate.
AudioModule.volume(50);
}
void loop() { AudioModule.play("MyFile.wav"); delay(2000); }
E' necessario includere due header file: LPM11162.h per l'uso della LPM11162 Arduino Library e NewSoftSerial.h per l'uso della libreria NewSoftSerial alla quale la libreria per il modulo audio si appoggia. Il passo successivo è dichiarare una istanza del modulo audio LPM11162 con LPM11162 AudioModule. Questo significa che d'ora in poi potremo chiamare tutte le funzioni definite all'interno della libreria utilizzando il nome AudioModule. Utilizzando più moduli audio potremmo dichiarare altre istanze con nomi diversi in modo da poterci riferire a quello desiderato nel chiamare una certa funzione di libreria.
All'interno della funzione standard di Arduino Setup() dobbiamo collocare le funzioni di inizializzazione che vogliamo chiamare all'avvio del sistema, quindi nel nostro caso la funzione begin() per configurare i pin usati per il modulo audio LPM11162 ed il baudrate, e la funzione volume() per settare il livello di volume desiderato per la riproduzione dei file WAV. Nell'esempio il primo parametro della begin() è il pin di trasmissione TX che viene associato al pin 4, il secondo parametro è il pin usato per il reset (nell'esempio il pin 3), il terzo parametro è il pin di ingresso che per leggere lo stato della linea di /BUSY per sapere se il modulo audio sta riproducendo un file WAV oppure no (nell'esempio pin 2). L'ultimo parametro è semplicemente il baudrate con cui vogliamo comunicare, il tipico 9600 va benissimo. Per quanto riguarda invece la funzione volume() ha un unico parametro che è il livello di volume per la riproduzione, da 0 a 100. Nell'esempio viene impostato a metà (che comunque coincide anche con il default).
L'altra funzione standard di Arduino Loop() costituisce il task principale che viene eseguito appunto in loop, cioè ciclicamente, dopo l'esecuzione della Setup(). Nell'esempio viene chiamata la funzione di libreria play() assegnando come parametro il nome del file WAV che vogliamo riprodurre (MyFile.wav). Dobbiamo aver precedentemente programmato il file audio MyFile.wav sul modulo audio LPM11162, tipicamente con l'apposito programmatore descritto nell'articolo tecnico AN004.
Chiamando questa funzione il file audio viene immediatamente riprodotto, poi c'è un delay di 2 sec per dare modo al file di terminare e la riproduzione inizierà nuovamente con una nuova chiamata della Loop() dall'inizio.
|