Riprodurre file Audio con Arduino Uno, senza shield

Ciao!


In questo post spremeremo a fondo il nostro Arduino Uno, facendogli riprodurre file audio senza neanche uno shield!
Infatti sfruttando solo la capacità di calcolo del piccolo Atmega328 sarà possibile leggere una traccia da una scheda SD e riprodurla da un piccolo speaker.






Ovviamente date le prestazioni del microcontrollore la qualità non potrà essere elevatissima, ma è comunque molto buona (più di quanto mi aspettavo!) e validissima per svariate applicazioni.

Ecco un esempio:





Questo è lo schema da realizzare, come potete vedere è diviso in 2 blocchi (le due breadboard), una contiene la parte di lettura dalla scheda SD, nell'altra invece c'è la parte di amplificazione del segnale audio.



Ed ecco lo sketch da caricare, è lo sketch di esempio che trovate anche sotto "File", "Esempi", "TMRpcm", "music" che ho leggermente modificato e tradotto.

Prima di poter utilizzare lo sketch dovrete scaricare ed installare (copiando nella cartella "Libraries" del vostro IDE) questa libreria.


Ora non vi resta che caricare nella SD un brano che dovrà essere convertito per avere caratteristiche ben precise.
Per fare ciò è possibile utilizzare un software per l'audio editing che si chiama Audacity.
Il programma è open source, ed è scaricabile da qui.


Per modificare il brano che volete sentire con Arduino aprite Audacity, trascinate all'interno il vostro file (mp3 o altro) ed eseguite i seguenti step:

  • Cliccate sul menu "tracce" poi "da stereo a mono"
  • In basso cambiate la "frequenza progetto", sono utilizzabili le frequenze 11025, 16000, 22050 o 32000 Hz
  • ora salvate il brano cliccando su "file", "esporta audio"
    • Salva come: "Altri file non compressi"
    • Intestazione: "Wav"
    • Codifica: "Unsigned 8-bit PCM" 
    • Nome file: "music" (non deve avere nessuna estensione)
Una volta ottenuto il file copiatelo nella root della scheda micro SD (non so dirvi se ci sono dei limiti di capacità, io ne uso una da 2gb formattata in FAT32).
Inserite la card nell'adattatore collegato ad Arduino, alimentatelo (la musica partirà!) ed avviate il serial monitor (impostate la velocità nel serial monitor a 115200 baud).

Come potete vedere in fondo allo sketch ci sono dei comandi che potete utilizzare anche mentre il brano è in esecuzione (ad esempio con il "-" abbasseremo il volume, con il "=" lo aumenteremo, aumentandolo troppo il segnale si distorcerà).


Per maggiori informazioni vi rimando alla Wiki di questa fantastica libreria.
Per domande e chiarimenti su questo tutorial lasciate un commento qui sotto,
ciao!

Segui Daniele Alberti su Google+ per rimanere sempre aggiornato su nuovi post!

1 commento:

Lascia un commento qui sotto, ti risponderò il prima possibile!

Related Posts Plugin for WordPress, Blogger...