Hallo,
ich habe hier einen Sketch, bei dem durch Drücken der IR-Fernbedienungstaste 1 eine LED "IMMER_AN" eingeschaltet und beim nochmaligen Drücken der selben Taste die LED wieder aus geht. Das klappt auch wunderbar.
Nach dem gleichen Prinzip möchte ich gerne mit Taste 2 einen MP3-Player steuern.
Bisher habe ich es nur hinbekommen den MP3-Player zu starten.
Meine Arduino-Kenntnisse sind leider sehr bescheiden, so dass ich an dieser Stelle einfach nicht weiter komme.
#include "Arduino.h" //MP3-Player
#include "SoftwareSerial.h" //MP3-Player
#include "DFRobotDFPlayerMini.h" //MP3-Player
#include "IRremote.h" //IR-Fernbedienung
SoftwareSerial mySoftwareSerial(10, 11); //PIN 10 = TX; PIN 11 = RX //MP3-Player
DFRobotDFPlayerMini myDFPlayer; //MP3-Player
void printDetail(uint8_t type, int value); //MP3-Player
int RECV_PIN = 9; //IR-Fernbedienung
IRrecv irrecv(RECV_PIN); //IR-Fernbedienung
decode_results results; //IR-Fernbedienung
int IMMER_AN_Status = 0; //Definiere denn Status von IMMER_AN (an/aus) //IR-Fernbedienung
int IMMER_AN = 13; // immer an
void setup()
{
mySoftwareSerial.begin(9600); //MP3-Player
Serial.begin(115200); //MP3-Player
Serial.println(); //MP3-Player
Serial.println(F("DFRobot DFPlayer Mini Demo")); //MP3-Player
Serial.println(F("Initializing DFPlayer ... (May take 3~5 seconds)")); //MP3-Player
if (!myDFPlayer.begin(mySoftwareSerial)) { //Use softwareSerial to communicate with mp3. //MP3-Player
Serial.println(F("Unable to begin:")); //MP3-Player
Serial.println(F("1.Please recheck the connection!")); //MP3-Player
Serial.println(F("2.Please insert the SD card!")); //MP3-Player
while(true){ //MP3-Player
delay(0); // Code to compatible with ESP8266 watch dog. //MP3-Player
}
}
Serial.println(F("DFPlayer Mini online.")); //MP3-Player
myDFPlayer.volume(20); //Set volume value. From 0 to 30 //MP3-Player
pinMode(9, OUTPUT); //IR-Fernbedienung
pinMode(IMMER_AN, OUTPUT);
irrecv.enableIRIn(); //IR-Fernbedienung
}
void loop()
{
if (irrecv.decode(&results)) { //IR-Fernbedienung
Serial.println(results.value, DEC); //IR-Fernbedienung
switch(results.value){ //IR-Fernbedienung
case (16753245) : //Wenn 1 gedrückt wurde, //IR-Fernbedienung
//überprüfe ob IMMER_AN an oder aus ist //IR-Fernbedienung
if (IMMER_AN_Status == 0){digitalWrite(IMMER_AN, HIGH); IMMER_AN_Status++;} //Wenn aus, dann an //IR-Fernbedienung
else {digitalWrite(IMMER_AN, LOW); IMMER_AN_Status--;} //Wenn an, dann aus //IR-Fernbedienung
delay(1); break; //IR-Fernbedienung NEU
case (16736925) : //Wenn 2 gedrückt wurde, //IR-Fernbedienung NEU
myDFPlayer.loop(1); //dann MP3-Datei "1" in Schleife abspielen //IR-Fernbedienung NEU
delay(1); break;default: delay(1);} //IR-Fernbedienung NEU
irrecv.resume(); //IR-Fernbedienung
} //IR-Fernbedienung
}