mp3-Play­er DFPlay­er Mini

# 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: 31. Okt 2023 @ 16:39