Hallo zusammen,
ich habe folgendes Problem. Ich bau aktuell ein Radio für meinen Sohn. Verwendet wird ein Arduino Nano in Verbindung mit einem DFRobotPlayer Mini. Der Player soll auf Tastendruck einen bestimmten Titel abspielen. Das funktioniert soweit tadellos. Allerdings würde ich gerne während der Wiedergabe mittels Poti die Lautstärke einstellen können. Hat da vielleicht jemand eine Idee wie das umzusetzen wäre? So wie in meinem Sketch funktioniert das leider nicht. Habe
es auch schon mit der millis()-Funktion probiert, aber irgendwo hab ich da noch einen Knoten im Kopf.
#include "SoftwareSerial.h"
#include "DFRobotDFPlayerMini.h"
SoftwareSerial mySoftwareSerial(10, 11); // RX, TX
DFRobotDFPlayerMini myDFPlayer;
void printDetail(uint8_t type, int value);
int Button1 = 3;
int Button2 = 4;
int Button3 = 5;
int Button4 = 6;
int Button5 = 14;
int Button6 = 7;
int Button7 = 8;
int Button8 = 9;
int Button9 = 12;
int Button10 = 17;
int LED1 = 15;
int LED2 = 16;
int volumeControl = A7;
int volume;
void setup()
{
mySoftwareSerial.begin(9600);
Serial.begin(115200);
pinMode(Button1, INPUT_PULLUP);
pinMode(Button2, INPUT_PULLUP);
pinMode(Button3, INPUT_PULLUP);
pinMode(Button4, INPUT_PULLUP);
pinMode(Button5, INPUT_PULLUP);
pinMode(Button6, INPUT_PULLUP);
pinMode(Button7, INPUT_PULLUP);
pinMode(Button8, INPUT_PULLUP);
pinMode(Button9, INPUT_PULLUP);
pinMode(Button10, INPUT_PULLUP);
pinMode(LED1, OUTPUT);
pinMode(LED2, OUTPUT);
Serial.println();
Serial.println(F("DFRobot DFPlayer Mini Demo"));
Serial.println(F("Initializing DFPlayer ... (May take 3~5 seconds)"));
if (!myDFPlayer.begin(mySoftwareSerial)) { //Use softwareSerial to communicate with mp3.
Serial.println(F("Unable to begin:"));
Serial.println(F("1.Please recheck the connection!"));
Serial.println(F("2.Please insert the SD card!"));
}
Serial.println(F("DFPlayer Mini online."));
myDFPlayer.volume(10);
//Set volume value. From 0 to 30
}
void loop()
{
volume = map(analogRead(volumeControl),0,1023,0,30);
myDFPlayer.volume(volume);
if (digitalRead(Button1) == LOW){
myDFPlayer.play(1);
}
if (digitalRead(Button2) == LOW){
myDFPlayer.play(2);
}
if (digitalRead(Button3) == LOW){
myDFPlayer.play(3);
}
if (digitalRead(Button4) == LOW){
myDFPlayer.play(4);
}
if (digitalRead(Button5) == LOW){
myDFPlayer.play(5);
}
if (digitalRead(Button6) == LOW){
myDFPlayer.play(6);
}
if (digitalRead(Button7) == LOW){
myDFPlayer.play(7);
}
if (digitalRead(Button8) == LOW){
myDFPlayer.play(8);
}
if (digitalRead(Button9) == LOW){
myDFPlayer.play(9);
}
if (digitalRead(Button10) == LOW){
myDFPlayer.play(10);
}
Serial_Monitor();
}