So

MP3

Introducció

Ara explicarem com reproduir sons MP3 o WAV (el wav és un format de so sense compressió, al contrari que MP3 que es comprimeix les dades ocupant molt poc espai).

Arduino no té la suficient potència per a descomprimir i reproduir un MP3, i en tot cas hauríem d'utilitzar tots els seus recursos per a aquesta fi, per la qual cosa necessitem ajuda externa. El més senzill és utilitzar un mòdul reproductor MP3 amb control seriï.

Els mòduls MP3 sèrie més utilitzats es basen en el xip YX5300 (o en el YX5200) i consten del descodificador MP3, d'un amplificador per a connectar auriculars o un altaveu, i d'una interfície seriï (rx,tx) gràcies a la qual podem enviar ordenis des del nostre Arduino (o NodeMCU,…)

La placa utilitzada per a aquests ejemoplos és un mòdul fabricat per keyestudio, en concret la referència: KS0387

La connexió a Arduino és amb dos pins RX,TX (més l'alimentació VCC,GND)

El mòdul té una ranura per a inserir una targeta SD on gravarem els arxius de so.

Estructura de Carpetes

El primer pas abans d'usar el mòdul serà crear l'estructura de carpetes i d'arxius correctament en l'SD, si no res funcionarà bé. La targeta ha d'estar formatada en format FAT.

Aquest mòdul permet reproduir arxius dins de les carpetes seguint una numeració (no el nom de l'arxiu), per la qual cosa les carpetes hauran de seguir la nomenclatura:01, 02, 03, 04, …. 99) i dins de cada carpeta els arxius hauran de seguir la nomenclatura: 001___.mp3 , 002___.mp3 , 003___.mp3 , … 255___.mp3 (màxim 255 arxius per carpeta)

Les nomenclatura dels arxius pot seguir amb un text indicant un nom “comprensible” però cal evitar usar espais i caràcters especials.

Estructura de carpetes d'exemple en l'SD:

Exemple de noms de carpetes/arxius:

Carpeta: 01 / Arxiu: 001_explosion.mp

Carpeta: 02 / Arxiu: 003_salutació.mp3

Exemple d'arxius dins de la carpeta 01:

Una vegada que tinguem preparat el nostre sons en la targeta SD, podem connectar el mòdul MP3 a Arduino.

Programació amb ArduinoBlocks

En la programació per blocs hem d'indicar en què pins hem connectat el pin RX i TX del mòdul:

D'altra banda podem ajustar tant el volum del reproductor com la mena d'equalització:

El bloc que permet iniciar la reproducció d'un arxiu. Només cal indicar número de carpeta i número d'arxiu dins de la carpeta:

Per exemple per a reproduir l'arxiu anomenat “002_Nirvana.mp3” que es troba en la carpeta “003” hem de fer:

D'altra banda tenim un altre bloc per a controlar la reproducció actual, podent pausarla, reprendre-la o saltar a l'arxiu anterior o següent:

Finalment, si fos necessari en algun cas, aquest bloc permet reiniciar el mòdul MP3 reseteando l'estat i parant la reproducció:

Exemple- Robot Keybot amb sons:

Programa:

Vídeo en funcionament:

Traducció de l'article original realitzat per Juanjo López d'ArduinoBlocks:

http://arduinoblocks.didactronica.com/2019/12/modulo-reproductor-mp3-sd/

Moltes gràcies per compartir!