Hallo zusammen,
ich bin recht neu in der Welt der kleinen Arduinos und auch der grossen, ich habe bei Heise den Artikel gefunden "Statt Schokolade: Audio Adventskalender"
leider ist das Modul welches in dem Artikel aufgeführt ist nicht rechtzeitig lieferbar, nun gab es den Beitrag, der DFPlayer_mini wäre eine alternative, also diesen bestellt einen Nano dabei, und das genannte RTC, für die Advents Spielerei ausreichend.
Mein Problem besteht nun darin das ich a. keine Serielle Infos sauber ausgelesen bekomme, und auch keinen Mux aus dem Modul.
Wenn ich das RTC Manuel auslese, und abfrage funktioniert das, und ich bekomme Datum und Uhrzeit Quasie von meinem Rechner angezeigt. Die Abfrage im Sketch hat mir bereits die Info ausgegeben das der Tages Track gespielt wird, allerdings ohne das vom Modul etwas ausgegeben wird.
der Original Sketch sieht wie folgt aus:
#include <JQ6500_Serial.h>
#include <SoftwareSerial.h>
#include <Wire.h>
#include "RTClib.h"
JQ6500_Serial mp3(2,3); //create an mp3 object
RTC_DS1307 rtc; //create an rtc object
void setup() {
Serial.begin(57600);
Serial.println("Audio Advent Calendar by Mischka");
Serial.println("----");
pinMode(4, INPUT);
pinMode(13, OUTPUT);
// setup the mp3 module
mp3.begin(9600);
mp3.reset();
delay(500);
mp3.setVolume(22);
mp3.setLoopMode(MP3_LOOP_NONE);
// setup rtc
Wire.begin();
rtc.begin();
rtc.adjust(DateTime(__DATE__, __TIME__));
}
void loop() {
DateTime now = rtc.now();
if(mp3.getStatus() != MP3_STATUS_PLAYING) {
if (now.day() < 25){
if (now.month() == 12) {
Serial.print("playing track Number: ");
Serial.println(now.day());
mp3.playFileNumberInFolderNumber(0, now.day());
}
else{
Serial.println("not an advent day");
delay(100);
exit(0);
}
}
}
exit(0);
}
nun meine abgewandelte Version, welche mich zum erzweifeln bringt sieht wie folgt aus:
#include <DFRobotDFPlayerMini.h>
#include <SoftwareSerial.h>
#include <Wire.h>
#include "RTClib.h"
SoftwareSerial mySoftwareSerial(2,3); // RX, TX
DFRobotDFPlayerMini mp3;
unsigned int numFiles; // Total number of files on media (autodetected in setup())
byte mediaType; // Media type (autodetected in setup())
RTC_DS1307 rtc; //create an rtc object
void setup() {
Serial.begin(9600);
Serial.println("Audio Advent Calendar");
delay(500);
pinMode(A4, INPUT);
pinMode(A5, OUTPUT);
mySoftwareSerial.begin(9600);
Serial.begin(9600);
mp3.reset();
delay(500);
mp3.volume(20);
mp3.disableLoop();
delay(500);
Wire.begin();
rtc.begin();
rtc.adjust(DateTime(F(__DATE__), F(__TIME__)));
}
void loop() {
DateTime now = rtc.now();
// if(mySoftwareSerial.read() != MP3_STATUS_PLAYING) {
if (now.day() < 25){
if (now.month() == 11) {
Serial.print("playing track Number: ");
Serial.println(now.day());
mp3.play(now.day()); //, now.day());
}
else{
Serial.println("not an advent day");
delay(100);
exit(0);
}
}
}
//end(0);
//}
der Monat steht auf 11 zum Testen, aber wie gesagt ich bekomme Seriell weder die Info das es Tag X ist, noch bekomme ich einen mux aus dem Player entlockt, die Verdrahtung ist OK, wenn ich den Test Sketsch vom Playe hochlade, spielt dieser Track für Track ab.
vllt kann mir jemand einen Tip geben, dafür wäre ich sehr Dankbar.
Schönen Abend noch allseits.