ultimo aggiornamento 29 ottobre 2012 |
|
La scheda qui presentata è uno Shield che collegato
ad una
scheda Arduino permette l'utilizzo del modulo sonoro
LPM11162.
Il primo prototipo è stato montato utilizzando una Proto Shield V.4. Sulla scheda è presente uno stadio alimentatore, uno di interfaccia per adattamento delle tensioni, tra il processore Arduino e il modulo LPM11162, uno stadio amplificatore, due led di segnalazione, un pulsante di reset del processore.
|
Questa scheda come quella di
programmazione sono stati oggetto
di due miei articoli apparsi sulla rivista Fare Elettronica,
il primo numero rivista
n° 310 in edicola nell'
Aprile 2011, con l'articolo dal titolo "Diamo
voce ad ARDUINO"
con presentazione della scheda di programmazione del
modulo LPM11162.
Il secondo numero
Rivista
n° 311 in edicola nel
maggio 2011, sempre con il titolo "Diamo
voce ad ARDUINO" in cui viene presentata
la costruzione dello shield per Arduino presente in questa
pagina.
Rivista n° 310 |
Rivista n° 311 |
Stadio necessario per fornire la tensione di 3.3V per l'alimentazione del modulo LPM11162.
La tensione è derivata da quella di +5V fornita dalla scheda Arduino 2009 E' utilizzato il regolatore LM317LZ, la tensione d'uscita è dimensionata a 3.3V tramite le due resistenze da 240Ω e 390Ω.
|
Il modulo LPM11162 funziona con una tensione di
alimentazione di +3.3V, e anche le comunicazioni seriale e i segnali di reset e
busy sono e devono essere a questa tensione, il processore Arduino ha una logica
a +5V. Per questo motivo è necessario adattare i livelli uscenti ed entranti dal modulo. Per quelli entranti (RX - Reset) è sufficiente un partitore realizzato con due resistenze che abbassano la tensione. Per quelli uscenti si sono utilizzati due transistor BC337 che "trasferiscono" il segnale dalla tensione di +3.3V a +5V.
|
Il segnale audio analogico in
uscita dal pin 9 del modulo LPM11162 è connesso ad un amplificatore con
LM386.
Questo circuito integrato è molto diffuso perché con pochi componenti esterni è
in grado di pilotare direttamente un piccolo altoparlante, il package è un
piccolo DIP8 e si tratta di un componente economico.
|
Il modulo audio
LPM11162 è un piccolo componente con una
memoria flash interna progettato per memorizzare e riprodurre file wave grazie a
pochi semplici comandi seriali.
|
Sono disponibili due led connessi alle porti digitali 5 e 6 del processore Arduino, ogni led è connesso ad una resistenza limitatrice. |
Per effettuare il reset del Processore Arduino è presente un pulsante connesso al pin reset del connettore da cui vengono anche prelevate le tensioni +5V e Vin per alimentare il circuito |
Foto della scheda montata su Arduino e completa di altoparlante
Schema elettrico
|
Per chi usa il programma EAGLE per disegnare i propri circuiti, ho creato il simbolo con il modello 3d, per ulteriori informazioni vedere la pagina di istruzioni. |
Alcune fasi del montaggio
|
|
|
|
|
|
I programmi di gestione
/* Programma:Test_lpm11162.pde Versione: 1.0 Collaudo modulo LPM11162 di Adriano Gandolfo */ #include <NewSoftSerial.h> NewSoftSerial LPM(4, 7); void setup() { pinMode (2, INPUT); // Pin 2 Busy pinMode (3, OUTPUT); // Pin 3 RESET pinMode (5, OUTPUT); // Pin 5 LED Play-verde pinMode (6, OUTPUT); // Pin 6 LED Busy-Rosso LPM.begin(9600); // opens serial port, sets data rate to 9600 bps delay (1000); digitalWrite(3, LOW); // Reset del modulo LPM11162 delay(10); //Pausa di 10 ms tempo tRL digitalWrite(3,HIGH); // delay(600); // Pausa di 600 ms Tempo tRA LPM.print(byte(85)); // Invio carattere di autobaudrate delay(150); // Pausa prima invio del comando Play } void loop() { digitalWrite(5, LOW); // Spegne led Verde digitalWrite(6, LOW); // Spegne led Rosso LPM.print(16,BYTE); // Play LPM.print(0,BYTE); LPM.print(9,BYTE); LPM.print("rosso.wav"); // Pronuncia frase delay (3000); digitalWrite(6,HIGH); // Accende led rosso delay (500); LPM.print(16,BYTE); // Play LPM.print(0,BYTE); LPM.print(9,BYTE); LPM.print("verde.wav"); // Pronuncia frase delay (2000); digitalWrite(5,HIGH); // Accende led Verde delay (2000); } |
/* Programma:Test_lpm11162_v1.pde Versione: 1.0 Collaudo modulo LPM11162 di Adriano Gandolfo */ #include <NewSoftSerial.h> #include <LPM11162.h> LPM11162 AudioModule; void setup() { //Begin parameters: rx pin, tx pin, reset pin, busy pin, baudrate. AudioModule.begin(4, 7, 3, 2, 9600); pinMode (5, OUTPUT); // Pin 5 LED Play-verde pinMode (6, OUTPUT); // Pin 6 LED Busy-Rosso } void loop() { digitalWrite(5, LOW); // Spegne led Verde digitalWrite(6, LOW); // Spegne led Rosso AudioModule.volume(50); AudioModule.play("rosso.wav"); // Pronuncia frase delay (2000); digitalWrite(6,HIGH); // Accende led rosso delay (500); AudioModule.play("verde.wav"); // Pronuncia frase delay (2000); digitalWrite(5,HIGH); // Accende led Verde delay (2000); } |
Elenco revisioni | |
29/10/2012 | Aggiornato pagina |
23/02/2011 | Aggiornato pagina con inserimento foto e materiale del prototipo |
17/09/2010 | Emissione preliminare |