Modulo chip audio SOMO 14D

somo14d

Per dare la parola ad un progetto elettronico, da qualche tempo si trova sul mercato un modulo audio con slot MicroSD integrato con il quale realizzare in modo semplice un player comandato da pulsanti o comandato via seriale, ad esempio con un PIC o con Arduino

Il modulo è prodotto dalla 4DSystems (www.4dsystems.com.au), una azienda australiana che produce tra l'altro moduli LCD grafici molto interessanti.

Il modulo che vedremo oggi e' il chip audio SOMO-14D ,  in grado di riprodurre file audio salvati su una microSD (max 512 files su 2 Gb).

I file devono essere salvati nel formato mono ADPCM, anche se non è un formato comunissimo, sono disponibili free sulla rete molti convertitori che facilitano il compito del programmatore.

La stessa 4DSystems mette a disposizione (gratuitamente) un sw di conversione che in modo molto veloce converte .WAV o MP3 nel formato compatibile .ad4 (http://www.4dsystems.com.au/prod.php?id=74). Personalmente per ottimizzare la qualità di suoni o voce preconverto gli mp3 da stereo a mono con il sw AUDACITY, poi passo il file .wav o mp3 al SOMO Tool per la conversione definitiva in .ad4

Descrizione del modulo

Il controllo del modulo avviene  in due modalità: KEY-MODE e SERIAL-MODE. Mediante il KEY-MODE il chip funziona in modo stand-alone ed è pilotabile tramite 3 semplici bottoni. La tensione richiesta per il funzionamento è di 3V e avendo già un piccolo amplificatore a bordo (realizzato con due linee PWM differenziali), occorre solo un semplice speaker da 0.5W e siamo a posto.

Per valutarne rapidamente potenzialità e qualità sonora nella modalità KEY-MODE, ho realizzato il circuitino su una breadboard seguendo lo schema base che prevede 4 pulsanti NA , un condensatore elettrolitico di livellamento ed un piccolo altoparlante da 8Ohm.

 

 

 

 

 

 

 

 

 

 

 

 

Alternativa al KEY-MODE è quella di utilizzare il SERIAL-MODE che permette di pilotare il modulo attraverso pochi pin di I/O di un microcontroller.

Volendo trovare una delle innumerevoli applicazioni per l'Arduino, questa puo' essere molto interessante da realizzare, anche per i principianti.

Bastano infatti 4 pin da collegare per utilizzare direttamente l'Arduino per pilotare la riproduzione del modulo. Per chi volesse cimentarsi può utilizzare lo sketch che consente di esplorare tutte le features del chip. 

Andando più nel dettaglio, la modalità SERIAL-MODE espone una semplice interfaccia 2-wire verso qualsiasi microcontrollore attraverso due linee, CLK e DATA .

Nel protocollo di comunicazione sono previste tutte le operazioni fondamentali audio quali PLAY, PAUSE, STOP e le funzioni di controllo VOLUME e selezione BRANO.  Il microcontroller scelto dovrà solamente inviare dei semplici comandi seriali a 16 bits secondo la codifica nella tabella seguente:

Campo di applicazione

Per la versatilità del modulo, una delle prime applicazioni che mi viene in mente e' nel campo della robotica, ma anche nel settore industriale o della sicurezza dove si renda necessario attivare un messaggio vocale  allo scatenarsi di un determinato evento esterno.

Riporto un breve elenco di possibili applicazioni tratte dal datasheet:

  •     Controllo robotico e industriale.
  •     Dispositivi elevatori, Sicurezza, Controllo Accessi e di Avviso.
  •     Sistemi di annunci vocali.
  •     Automotive, Sensori di parcheggio, sistemi di navigazione GPS.
  •     Automazione per elettrodomestici o domotica.
  •     Impianti stradali: parking systems cittadini, caselli autostradali,
  •     Giochi, strumenti di apprendimento, libri parlanti e tutti gli effetti sonori presenti nei giochi.

Per la creazione dei messaggi vocali si possono utilizzare vari modi, oltre alla registrazione diretta (magari avendo una bella voce  impostata) esistono in rete  software su PC che effettuano il text-to-speech in italiano,  basta poi salvare i file audio (convertiti in .ad4) sul supporto microSD per ottenere una libreria di messaggi specifica per ogni evento previsto.

Uno dei software più utili e ben fatto per questo scopo è DSpeech giunto alla versione 1.55.3

Riassumo le caratteristiche principali del modulo rimandando tutti i dettagli al datasheet sul sito del produttore:

  • Formato file 4-bit ADPCM (.ad4) con sampling rates da 6Khz fino a 32Khz.
  • Due modalita' di interfacciamento:
  1. SERIAL MODE: Supporta una interfaccia 2-Wire (Data, Clock) compatibile con qualunque micro-controller.
  2. KEY-MODE: con tre pulsanti si accede a tutte le funzioni, senza necessita' di un controller (a meno che tu non voglia usare i bit del processore per simulare i pulsanti)
  • Uscita audio realizzata con 2 linee differenziali PWM, che consente la connessione diretta di un altoparlante (8 Ohm/0.5W).
  • Uscita audio aggiuntiva di maggiore qualita' (16-bit DAC) per connessione ad un amplificatore esterno.
  • Slot micro-SD per contenere fino a 512 file audio, voce o musicali .
  • Alimentazione singola da 3.0V a 3.8V DC
  • Bassisimo consumo a riposo (8.0uA)
  • Dimensioni ultra compatte: solo 18.3 x 20.8 mm (poco più grande dello slot MicroSD)

Ho trovato su youtube un interessante e completo videotutorial (In spagnolo) per Arduino che illustra passo passo come collegare il modulo audio nelle due modalità previste, e anche come suona.

3 Comments

  1. ottobit 6 maggio 2014
  2. simone.antollovich 21 dicembre 2013
  3. Emanuele 23 novembre 2011

Leave a Reply