Nr.20 – MP3 Shield

Inhaltsverzeichnis

MP3 Dateien mit dem VS1053 MP3 Shield abspielen

Mit einem MP3-Shield können .mp3 Dateien, welche vorher auf einer FAT32-Micro-SD-Karte abgespeichert wurden, abgespielt werden.

Das mp3 Shield VS1053

Hinweise zur Bibliothek für das VS1053 MP3 Shield

Das MP3-Shield kann auf den Mikrocontroller aufgesteckt und umgehend verwendet werden.
Für die Inbetriebnahme des MP3 Shields benötigen Sie die „ArduinoLibrary-vs1053 for Sdfat“ Library, welche Sie hier finden und downloaden können. Zudem greift der Beispielcode auf die „SdFat.h“ Bibliothek zurück, welche Sie hier finden.

Auf der Website http://www.fromtexttospeech.com/ können Sie kostenfrei eigene mp3 Dateien erstellen.

Damit Sie den abgespielten Track auch hören können, müssen Sie einen Kopfhörer/Lautsprache per AUX-Kabel mit dem Shield verbinden. Den richtigen Anschluss können Sie dem obigen Bild entnehmen.

Der Schaltplan

Die Verbindung zwischen einem Arduino UNO und dem MP3 Shield VS1053 wird durch Aufstecken des Shields hergestellt. Es ist keine zusätzliche Verkabelung notwendig.

#include <SPI.h>      // libraries
#include <SdFat.h>
#include <vs1053_SdFat.h>


SdFat sd;       //SD Karte benennen
vs1053 MP3player;   //MP3 Shield als „MP3Player benennen

int t=6000;       //Der Wert für „t“ gibt im Code den zeitlichen Abstand zwischen dem Abspielen der Datei an.


void setup() {
  
  if(!sd.begin(SD_SEL, SPI_FULL_SPEED)) sd.initErrorHalt(); //SD Karte mit MP3 Dateien auslesen
  if (!sd.chdir("/")) sd.errorHalt("sd.chdir");

  MP3player.begin();    //MP3 Shield starten
  MP3player.setVolume(10,10); //Die Lautstärke einstellen 
  
}

void loop() {

  MP3player.available();

  MP3player.playTrack(3);     //Das MP3 Shield spielt nun die MP3 Datei mit dem Namen „track001“. Bei einer Datei mit dem Namen „track002“ müsste eine „2“ anstelle der „1“ in diese Klammer.  
  delay(t);               //Vorher festgelegte Pause
}

Erweiterung: Soundfiles in Abhängigkeit der gemessenen Temperatur abspielen

LM35 am VS1053 mp3 Shield unter Verwendung eines Schraubklemmen Aufsatzes

Der Schaltplan

Das MP3 Shield wird auf das Mikrocontroller Board gesteckt. Anschließend wird der LM35 durch das Schraubklemmenshield mit dem Board verbunden. Dabei entspricht das schwarze Kabel des LM35 dem GND, das rote Kabel dem 5V Anschluss und das gelbe Kabel dem analogen Signal A0.

Damit du den abgespielten Track auch hören kannst, musst du einen Kopfhörer/Lautsprache per AUX-Kabel mit dem Shield verbinden. Den richtigen Anschluss kannst du dem obigen Bild entnehmen.

Der Programmcode

#include <SPI.h>      // libraries
#include <SdFat.h>
#include <vs1053_SdFat.h>

SdFat sd;       //SD Karte benennen
vs1053 MP3player;   //MP3 Shield als „MP3Player benennen

int LM35 = A0;      //Der Sensor soll am analogen Pin A0 angeschlossen werden. Wir nennen den Pin ab jetzt "LM35"
int sensorwert;     //Variable für den Sensorwert erstellen
int temperatur = 0;   //Unter der Variablen "temperatur" wird später der Temperaturwert abgespeichert.
int t=6000;       //Der Wert für „t“ gibt im Code die zeitlichen Abstände zwischen den einzelnen Messungen vor.


void setup() {
  Serial.begin(9600);   //Serielle Verbindung starten

  if(!sd.begin(9, SPI_HALF_SPEED)) sd.initErrorHalt();  //SD Karte mit MP3 Dateien auslesen
  if (!sd.chdir("/")) sd.errorHalt("sd.chdir");

  MP3player.begin();    //MP3 Shield starten
  MP3player.setVolume(10,10); //Die Lautstärke einstellen 
  
}

void loop() {

  MP3player.available();

sensorwert=analogRead(LM35);        //Auslesen des Sensorwertes.
temperatur= map(sensorwert, 0, 307, 0, 150);  //Umwandeln des Sensorwertes mit Hilfe des "map" Befehls.
  Serial.println(temperatur);       //Temperatur am seriellen Monitor anzeigen lassen
  MP3player.playTrack(temperatur);      //Das MP3 Shield spielt nun je nach gemessener Temperatur die Datei mit dem passenden Dateinamen ab.
  delay(t);             //Vorher festgelegte Pause
}

Weitere Details zum MP3-Shield findet man zudem unter folgendem Link:

http://www.geeetech.com/wiki/index.php/Arduino_MP3_shield_board_with_TF_card

Funduino - Dein Onlineshop für Mikroelektronik

  • Dauerhaft 10% Rabatt für Schüler, Studenten und Lehrkräfte
  • Mehr als 3.500 Artikel sofort verfügbar!
  • Über 8 Jahre Erfahrung mit Arduino, 3D-Druck und co.
SALE