Nuovi display grafici 128x64

LGM12864GRAYCon i nuovi bellissimi display grafici 128x64 a sfondo grigio e retroilluminazione a led bianca visualizzi immagini e testo per le tue applicazioni di grande effetto.

Vedi lo shop online!

  • alim25.jpg
  • display20x4blu.jpg
  • led3mmgiallo.jpg
  • display3digitverde.jpg
  • spinarcanera.jpg
Home
Menu Principale
Categorie di prodotti
E-Commerce
Metodi di Pagamento
metodi1
Please wait while JT SlideShow is loading images...
AN011 - Installazione ed uso di LPM11162 Arduino Library


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.

ArduinoIDE_smallUtilizzo 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.

 
Mostra Carrello
Il carrello è vuoto.
Login





Main Partners
Adrirobot
Grix
Homotix
Elettronicamente.com
Spedizione
Banner_spedizione
Iscrizione Newsletter
Feed RSS

RSS-128Con i feed RSS di www.lpelettronica.it sei sempre aggiornato sulle più interessanti notizie: progetti, eventi, nuovi componenti, articoli tecnici e molto altro...

Iscriviti subito!

Flash News
Vetrina Prodotti
Display LCD 20x4 Blu
Display LCD 20x4 Blu
Presa alim.volante 2.5mm
Presa alim.volante 2.5mm
ULN2003A - Array 7 Transistor Darlington
ULN2003A - Array 7 Transistor Darlington
ATMEGA32A-PU
ATMEGA32A-PU
W02 - Ponte Diodi 1.5A-200V (3pz)
W02 - Ponte Diodi 1.5A-200V (3pz)
Zoccolo DIP40 (5pz)
Zoccolo DIP40 (5pz)
Zener 3.3V-0.5W (5pz)
Zener 3.3V-0.5W (5pz)
DB25 Maschio/Maschio
DB25 Maschio/Maschio
Presa Jack Mono 3.5mm
Presa Jack Mono 3.5mm
Piastra Millefori 7x10cm
Piastra Millefori 7x10cm
Dadi M2.5 per distanziali (10pz)
Dadi M2.5 per distanziali (10pz)
Alimentatore 12V-330mA
Alimentatore 12V-330mA
Trimmer 47K PT10-Orizz.
Trimmer 47K PT10-Orizz.
CMOS 4066 - Quad.Switch
CMOS 4066 - Quad.Switch
7824 - Regolatore 24V
7824 - Regolatore 24V
Boccola da pannello nera (2pz)
Boccola da pannello nera (2pz)
Display Grafico 128x64 Grigio
Display Grafico 128x64 Grigio
Stazione di saldatura 50W
Stazione di saldatura 50W
BC327 - PNP (5pz)
BC327 - PNP (5pz)
Clips per batteria 9V
Clips per batteria 9V
Ventola 12V - 40x40x20mm
Ventola 12V - 40x40x20mm
MCP1702-3302E - Regolatore 3.3V
MCP1702-3302E - Regolatore 3.3V
Saldatore 30W
Saldatore 30W
Relè 10A-12V 1 polo
Relè 10A-12V 1 polo
LED 3mm Giallo (20pz)
LED 3mm Giallo (20pz)
ATMEGA32A-PU (5pz)
ATMEGA32A-PU (5pz)
DIP Switch 7 poli
DIP Switch 7 poli
Fusibile 5x20 500mA-250V
Fusibile 5x20 500mA-250V
24LC32 - 32Kbit Serial EEPROM
24LC32 - 32Kbit Serial EEPROM
Multimetro Digitale Retroilluminato
Multimetro Digitale Retroilluminato