Shield MP3
FunduinoDernière mise à jour le
MP3-Dateien vom Arduino abspielen lassen
Das MP3-Shield VS1053
SD-Karte und Bibliotheken vorbereiten
Eine Datei abspielen
Eine MP3-Datei in Dauerschleife abspielen
#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: Temperatur ansagen
Soundfile passend zur gemessenen Temperatur abspielen
#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
}Évaluer le guide