#include "SoftwareSerial.h"
#include "DFRobotDFPlayerMini.h"
// RX/TX Port definieren
SoftwareSerial DFPlayerSoftwareSerial(3, 4);
// Name des Players
DFRobotDFPlayerMini mp3Player;
int Taster;
int Lautstaerke = 20;
/*
Schalter für die Pausenfunktion
Pause == true -> Wiedergabe gestoppt
Pause == false -> Wiedergabe neu starten
*/
bool Pause = false;
void setup()
{
DFPlayerSoftwareSerial.begin(9600);
Serial.begin(9600);
// auf Seriellen Monitor warten
while (!Serial);
Serial.println();
// Player starten
mp3Player.begin(DFPlayerSoftwareSerial, false, true);
/*
Equalizer:
mp3Player.EQ(DFPLAYER_EQ_NORMAL);
mp3Player.EQ(DFPLAYER_EQ_POP);
mp3Player.EQ(DFPLAYER_EQ_ROCK);
mp3Player.EQ(DFPLAYER_EQ_JAZZ);
mp3Player.EQ(DFPLAYER_EQ_CLASSIC);
mp3Player.EQ(DFPLAYER_EQ_BASS);
*/
mp3Player.EQ(DFPLAYER_EQ_ROCK);
// Lautstärke 1 .. 30
mp3Player.volume(Lautstaerke);
// Wiedergabe starten
mp3Player.enableLoopAll();
}
int Tasterabfrage()
{
int Analogwert = analogRead(A0);
// kurzes delay() -> doppelten Tastendruck so weit wie möglich verhindern
delay(200);
//Serial.println(Analogwert);
/*
A0 gibt je nach Taster einen Wert aus
über den Seriellen Monitor wird dieser Wert angezeigt
und kann dann eventuell angepasst werden
*/
// Serial.println(Analogwert);
switch (Analogwert)
{
case 0 ... 20:
Taster = 1;
break;
case 30 ... 60:
Taster = 2;
break;
case 70 ... 120:
Taster = 3;
break;
case 150 ... 200:
Taster = 4;
break;
case 300 ... 400:
Taster = 5;
break;
default:
return 0;
}
// gedrückten Taster zurückgeben
return Taster;
}
void loop()
{
Taster = Tasterabfrage();
// Taster links -> Lautstärke -
if (Taster == 1)
{
if (Lautstaerke > 0) Lautstaerke = Lautstaerke - 2;
mp3Player.volume(Lautstaerke);
Serial.println("Lautst\u00e4rke: " + String(Lautstaerke));
}
// Taster oben Mitte -> nächster Titel
if (Taster == 2)
{
mp3Player.next();
}
// Taster unten Mitte -> vorheriger Titel
if (Taster == 3)
{
mp3Player.previous();
}
// Taster rechts -> Lautstärke +
if (Taster == 4)
{
if (Lautstaerke < 30) Lautstaerke = Lautstaerke + 2;
mp3Player.volume(Lautstaerke);
Serial.println("Lautst\u00e4rke: " + String(Lautstaerke));
}
// Taster außen -> Pause/Weiter
if (Taster == 5)
{
if (!Pause)
{
Pause = !Pause;
mp3Player.stop();
}
if (Pause)
{
Pause = !Pause;
mp3Player.start();
}
}
}
Letzte Aktualisierung: