Hallo,
ich habe mir ein kleines Projekt zu Halloween ausgedacht für das ich gerne eine oder mehrere Sounddateien von einer SD Card über einen kleinen Lautsprecher am Arduino ausgeben möchte.
Es ist eigentlich alles soweit fertig bis auf die Wiedergabe der Sounddateien welche noch Probleme macht.
Ich verwende einen Arduino UNO an den ich von AZ-Delivery einen MicroSD-Card Adapter angeschlossen habe.
Da mein Code nicht lief habe ich den Beispielcode von der TMRpcm libarie genommen aber auch mit diesem werden meine Dateien nicht abgespielt.
Die Dateien habe ich wie auf Github im Wiki zu der TMRpcm libarie beschrieben zu Wave Dateien konvertiert und auf einer 1 GB MicroSD-card und einer 2 GB MicroSD-card gespeichert welche ich zuvor in Fat16 formatiert habe.
Als Fehlerquellen habe ich bis jetzt den Code ausgeschlossen, da dieser ein Beispielsketch der libarie war und auch die MicroSD-cards und den MicroSD-card Adapter habe ich ausgeschlossen, da ich beides ausgetauscht habe und der Fehler trotzdem auftritt.
Ich versuche schon seit zwei Wochen den Fehler durch googlen zu beheben und bin jetzt mit meinen Ideen am Ende.
Vielleicht hat schoneinmal jemand die TMRpcm libarie verwendet und kann mir weiterhelfen.
Der Beispiel Sketch ist dieser hier in dem ich nur die Dateinamen verändert habe.
#include <SD.h> // need to include the SD library
//#define SD_ChipSelectPin 53 //example uses hardware SS pin 53 on Mega2560
#define SD_ChipSelectPin 4 //using digital pin 4 on arduino nano 328, can use other pins
#include <TMRpcm.h> // also need to include this library...
#include <SPI.h>
TMRpcm tmrpcm; // create an object for use in this sketch
void setup(){
tmrpcm.speakerPin = 9; //5,6,11 or 46 on Mega, 9 on Uno, Nano, etc
Serial.begin(9600);
if (!SD.begin(SD_ChipSelectPin)) { // see if the card is present and can be initialized:
Serial.println("SD fail");
return; // don't do anything more if not
}
tmrpcm.play("spielen.wav"); //the sound file "music" will play each time the arduino powers up, or is reset
}
void loop(){
if(Serial.available()){
if(Serial.read() == 'p'){ //send the letter p over the serial monitor to start playback
tmrpcm.play("spielen.wav");
}
}
}
Vielen Dank schon einmal für die Hilfe die da kommen mag.
Ich mache jetzt erst einmal Schluss für heute.
Grüße
w0lf_001