Arduino mega mit mp3 modul und tastern

Moin ich habe ein Problem bei meinem Projekt und weis nicht was der Fehler ist, kann mir da jemand weiter helfen der Code ist folgender :

int Tasterleise = 7;
int Tasterback = 6 ;
int Tasterplay = 5;
int Tasternext = 4;
int Tasterlaut = 3;
int Tast1 = 0;
int Tast2 = 0;
int Tast3 = 0;
int Tast4 = 0;
int Tast5 = 0;
#include "Arduino.h"
#include "SoftwareSerial.h"
#include "DFRobotDFPlayerMini.h" 
SoftwareSerial mySoftwareSerial(10, 11); // RX, TX
DFRobotDFPlayerMini myDFPlayer;
void printDetail(uint8_t type, int value);

void setup()
{

 
    
 mySoftwareSerial.begin(9600);
 Serial.begin(115200);

 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!"));
   while (true) {
     delay(0); // Code to compatible with ESP8266 watch dog.
   }
 }
 Serial.println(F("DFPlayer Mini online."));
pinMode(Tasterleise,INPUT_PULLUP);
   pinMode(Tasterback,INPUT_PULLUP);
   pinMode(Tasterplay,INPUT_PULLUP);
  pinMode(Tasterback,INPUT_PULLUP);
    pinMode(Tasterlaut,INPUT_PULLUP);
 //  Sensorwert =analogRead(A0);


 
 myDFPlayer.volume(10);  //Set volume value. From 0 to 30
 myDFPlayer.play(1);  //Play the first mp3
}

void loop()
{

 Tast1=digitalRead(Tasterleise);
 Tast2=digitalRead(Tasterback);
 Tast3=digitalRead(Tasterplay);
 Tast4=digitalRead(Tasternext);
 Tast5=digitalRead(Tasterlaut);
 static unsigned long timer = millis();

 if (millis() - timer > 3000) {
   timer = millis();
   //   myDFPlayer.next();  //Play next mp3 eve
 }

 if (myDFPlayer.available()) {
   printDetail(myDFPlayer.readType(), myDFPlayer.read()); //Print the detail message from DFPlayer to handle different errors and states.

 }
 
if (digitalRead(Tast1)==HIGH)
 { 
   myDFPlayer.volumeDown();
 }
if (digitalRead(Tast2)==HIGH)
{
  myDFPlayer.previous();
}
if (digitalRead(Tast3)==HIGH)
{
 myDFPlayer.pause();
}
if (digitalRead(Tast4)==HIGH)
{
  myDFPlayer.next();
}
if (digitalRead(Tast5)==HIGH)
{
 myDFPlayer.volumeUp();
}
}


void printDetail(uint8_t type, int value) {
 switch (type) {
   case TimeOut:
     Serial.println(F("Time Out!"));
     break;
   case WrongStack:
     Serial.println(F("Stack Wrong!"));
     break;
   case DFPlayerCardInserted:
     Serial.println(F("Card Inserted!"));
     break;
   case DFPlayerCardRemoved:
     Serial.println(F("Card Removed!"));
     break;
   case DFPlayerCardOnline:
     Serial.println(F("Card Online!"));
     break;
   case DFPlayerPlayFinished:
     Serial.print(F("Number:"));
     Serial.print(value);
     Serial.println(F(" Play Finished!"));
     break;
   case DFPlayerError:
     Serial.print(F("DFPlayerError:"));
     switch (value) {
       case Busy:
         Serial.println(F("Card not found"));
         break;
       case Sleeping:
         Serial.println(F("Sleeping"));
         break;
       case SerialWrongStack:
         Serial.println(F("Get Wrong Stack"));
         break;
       case CheckSumNotMatch:
         Serial.println(F("Check Sum Not Match"));
         break;
       case FileIndexOut:
         Serial.println(F("File Index Out of Bound"));
         break;
       case FileMismatch:
         Serial.println(F("Cannot Find File"));
         break;
       case Advertise:
         Serial.println(F("In Advertise"));
         break;
       default:
         break;
     }
     break;
   default:
     break;
 }
}

Ja, wir helfen gern, wenn wir auch richtige Informationen bekommen.

Was ist dein Problem ?
Was funktioniert nicht ?
Was für Teile (Arduino, andere Teile) verwendest du ?
Hier brauchen wir Hyperlinks von dir.

Und dein Sketch ist so nicht lesbar.
Setze den bitte in Code-Tags.

Verwende dazu die Schaltfläche </> oben links im Editorfenster.
Das kannst du auch nachträglich machen.
Dazu den Sketch markieren und die Schaltfläche klicken.

Damit wird dieser für alle besser lesbar.

ich weis nicht genau was du meinst mit der schaltfläche ich finde die nicht, die Teile die Verbaut sind sind

https://www.az-delivery.de/products/mp3-player-modul?variant=8198615662688&gclid=CjwKCAiAx_DwBRAfEiwA3vwZYje8XlRXZ3jyHC9S1RY9QEelRu9SDkVGSuzWybgK3owm274tTVtFGBoCC2oQAvD_BwE

und 5 Taster mit 2 Kontakten wobei ich den Taster nicht finde und als letztes ist dort ein ausgebauter Lautsprecher

und mein Problem ist das die Taster nicht funktionieren

Joheinis: ich weis nicht genau was du meinst mit der schaltfläche ich finde die nicht, die Teile die Verbaut sind sind [/quote ]

Du hast es aber schon hin bekommen. Prima !

[quote ] https://www.az-delivery.de/products/mp3-player-modul?variant=8198615662688&gclid=CjwKCAiAx_DwBRAfEiwA3vwZYje8XlRXZ3jyHC9S1RY9QEelRu9SDkVGSuzWybgK3owm274tTVtFGBoCC2oQAvD_BwE

und 5 Taster mit 2 Kontakten wobei ich den Taster nicht finde und als letztes ist dort ein ausgebauter Lautsprecher

und mein Problem ist das die Taster nicht funktionieren

Das ist kein Hyperlink, nur eine URL. Einen Hyperlink kann man anklicken.

Zeige ein Schaltbild, dann können wir sehen, ob alles richtig ist.

Hast du die Taster richtig angeschlossen ? Vorher mit einem Ohm-Meter messen, welche Kontakte du verwenden musst.

Joheinis: Moin ich habe ein Problem bei meinem Projekt und weis nicht was der Fehler ist, kann mir da jemand weiter helfen der Code ist folgender :

int Tasterleise = 7;
void loop()
{
 Tast1=digitalRead(Tasterleise);
if (digitalRead(Tast1)==HIGH)
 { 
   myDFPlayer.volumeDown();
 }
}

Code gekürzt.... Ich bezweifel dass das funktioniert...

Moko: Code gekürzt.... Ich bezweifel dass das funktioniert...

Da hast du völlig Recht.

Total überlesen.

@TO Diesen Fehler machst du bei allen Tastern.

hier ist das schaltbild als foto

https://drive.google.com/open?id=1EeStilKc3JD26zEOgrOy6qwxtutQDCpZ

Joheinis: hier ist das schaltbild als foto

Sorry, aber das ist kein Schaltbild. Das ist ein Foto des Aufbaus, nur leider kann man da nicht viel erkennen, da der Kabelverlauf nicht eindeutig zu sehen ist.

Berichtige mal den Fehler, den Moko erkannt hat und informiere uns über dein Ergebnis.

Wenn du noch weiterhin Fehler hast, baue serielle Ausgaben ein, damit du die Fehler einkreisen kannst.

Auch wenn man nicht viel erkennen kann, aber ein weiterer Fehler ist mir aufgefallen:

Du fragst die Taster nach HIGH ab, die gehen auch alle auf dem Steckbrett nach +VCC und zusätzlich hast du interne PullUps aktiviert. Das funktioniert nicht. Dann brauchst du externe PullDown-Widerstände.

Wenn du die internen nutzt, dann lege die Taster auf GND und frage im Sketch nach LOW ab.

dankeschön werde ich gleich mal ausprobieren und melde mich danach nochmal

leider funktioniert es noch nicht hab das etwas umgeschrieben und die Taster auf GND gelegt

Wenn Du etwas umgeschrieben hast, solltest du den aktuellen Sketch hier posten. Wir sehen sonst nicht, was du geändert hast.

int Tasterleise = 7;
int Tasterback = 6 ;
int Tasterplay = 5;
int Tasternext = 4;
int Tasterlaut = 3;
int Tast1 = 0;
int Tast2 = 0;
int Tast3 = 0;
int Tast4 = 0;
int Tast5 = 0;
#include "Arduino.h"
#include "SoftwareSerial.h"
#include "DFRobotDFPlayerMini.h" 
SoftwareSerial mySoftwareSerial(10, 11); // RX, TX
DFRobotDFPlayerMini myDFPlayer;
void printDetail(uint8_t type, int value);

void setup()
{

  
     
  mySoftwareSerial.begin(9600);
  Serial.begin(115200);

  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!"));
    while (true) {
      delay(0); // Code to compatible with ESP8266 watch dog.
    }
  }
  Serial.println(F("DFPlayer Mini online."));
pinMode(Tasterleise,INPUT);
    pinMode(Tasterback,INPUT);
    pinMode(Tasterplay,INPUT);
   pinMode(Tasterback,INPUT);
     pinMode(Tasterlaut,INPUT);
 pinMode(Tasterleise, HIGH);
 pinMode(Tasterback, HIGH);
pinMode(Tasterplay, HIGH);
pinMode(Tasterback, HIGH);
pinMode(Tasterlaut,HIGH);

  
  myDFPlayer.volume(10);  //Set volume value. From 0 to 30
  myDFPlayer.play(1);  //Play the first mp3
}

void loop()
{

  

  

  
  static unsigned long timer = millis();

  if (millis() - timer > 3000) {
    timer = millis();
    //   myDFPlayer.next();  //Play next mp3 eve
  }

  if (myDFPlayer.available()) {
    printDetail(myDFPlayer.readType(), myDFPlayer.read()); //Print the detail message from DFPlayer to handle different errors and states.

  }
  Tast1=digitalRead(Tasterleise);
 if (digitalRead(Tast1)==LOW)
  { 
    myDFPlayer.volumeDown();
  }
    Tast2=digitalRead(Tasterback);
if (digitalRead(Tast2)==LOW)
{
   myDFPlayer.previous();
}
Tast3=digitalRead(Tasterplay);
if (digitalRead(Tast3)==LOW)
{
  myDFPlayer.pause();
}
 Tast4=digitalRead(Tasternext);
if (digitalRead(Tast4)==LOW)
{
   myDFPlayer.next();
}
Tast5=digitalRead(Tasterlaut);
if (digitalRead(Tast5)==LOW)
{
  myDFPlayer.volumeUp();
}
}


void printDetail(uint8_t type, int value) {
  switch (type) {
    case TimeOut:
      Serial.println(F("Time Out!"));
      break;
    case WrongStack:
      Serial.println(F("Stack Wrong!"));
      break;
    case DFPlayerCardInserted:
      Serial.println(F("Card Inserted!"));
      break;
    case DFPlayerCardRemoved:
      Serial.println(F("Card Removed!"));
      break;
    case DFPlayerCardOnline:
      Serial.println(F("Card Online!"));
      break;
    case DFPlayerPlayFinished:
      Serial.print(F("Number:"));
      Serial.print(value);
      Serial.println(F(" Play Finished!"));
      break;
    case DFPlayerError:
      Serial.print(F("DFPlayerError:"));
      switch (value) {
        case Busy:
          Serial.println(F("Card not found"));
          break;
        case Sleeping:
          Serial.println(F("Sleeping"));
          break;
        case SerialWrongStack:
          Serial.println(F("Get Wrong Stack"));
          break;
        case CheckSumNotMatch:
          Serial.println(F("Check Sum Not Match"));
          break;
        case FileIndexOut:
          Serial.println(F("File Index Out of Bound"));
          break;
        case FileMismatch:
          Serial.println(F("Cannot Find File"));
          break;
        case Advertise:
          Serial.println(F("In Advertise"));
          break;
        default:
          break;
      }
      break;
    default:
      break;
  }
}

Joheinis: ```     Tast2=digitalRead(Tasterback); if (digitalRead(Tast2)==LOW)

}

Du hast den Fehler immer noch drin.

versuchs mal so: if (digitalRead(Tasterback)==LOW)

Geht irgendwie noch immer nicht

int Tasterleise = 7;
int Tasterback = 6 ;
int Tasterplay = 5;
int Tasternext = 4;
int Tasterlaut = 3;
int Tast1 = 0;
int Tast2 = 0;
int Tast3 = 0;
int Tast4 = 0;
int Tast5 = 0;
#include "Arduino.h"
#include "SoftwareSerial.h"
#include "DFRobotDFPlayerMini.h" 
SoftwareSerial mySoftwareSerial(10, 11); // RX, TX
DFRobotDFPlayerMini myDFPlayer;
void printDetail(uint8_t type, int value);

void setup()
{

  
     
  mySoftwareSerial.begin(9600);
  Serial.begin(115200);

  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!"));
    while (true) {
      delay(0); // Code to compatible with ESP8266 watch dog.
    }
  }
  Serial.println(F("DFPlayer Mini online."));
pinMode(Tasterleise,INPUT);
    pinMode(Tasterback,INPUT);
    pinMode(Tasterplay,INPUT);
   pinMode(Tasterback,INPUT);
     pinMode(Tasterlaut,INPUT);
 pinMode(Tasterleise, HIGH);
 pinMode(Tasterback, HIGH);
pinMode(Tasterplay, HIGH);
pinMode(Tasterback, HIGH);
pinMode(Tasterlaut,HIGH);

  
  myDFPlayer.volume(10);  //Set volume value. From 0 to 30
  myDFPlayer.play(1);  //Play the first mp3
}

void loop()
{

  

  

  
  static unsigned long timer = millis();

  if (millis() - timer > 3000) {
    timer = millis();
    //   myDFPlayer.next();  //Play next mp3 eve
  }

  if (myDFPlayer.available()) {
    printDetail(myDFPlayer.readType(), myDFPlayer.read()); //Print the detail message from DFPlayer to handle different errors and states.

  }
 // Tast1=digitalRead(Tasterleise);
 if(digitalRead(Tasterleise)==LOW)
  { 
    myDFPlayer.volumeDown();
  }
  //  Tast2=digitalRead(Tasterback);
if(digitalRead(Tasterback)==LOW)
{
   myDFPlayer.previous();
}
//Tast3=digitalRead(Tasterplay);
if(digitalRead(Tasterplay)==LOW)
{
  myDFPlayer.pause();
}
// Tast4=digitalRead(Tasternext);
if(digitalRead(Tasternext)==LOW)
{
   myDFPlayer.next();
}
//Tast5=digitalRead(Tasterlaut);
if(digitalRead(Tasterlaut)==LOW)
{
  myDFPlayer.volumeUp();
}
}


void printDetail(uint8_t type, int value) {
  switch (type) {
    case TimeOut:
      Serial.println(F("Time Out!"));
      break;
    case WrongStack:
      Serial.println(F("Stack Wrong!"));
      break;
    case DFPlayerCardInserted:
      Serial.println(F("Card Inserted!"));
      break;
    case DFPlayerCardRemoved:
      Serial.println(F("Card Removed!"));
      break;
    case DFPlayerCardOnline:
      Serial.println(F("Card Online!"));
      break;
    case DFPlayerPlayFinished:
      Serial.print(F("Number:"));
      Serial.print(value);
      Serial.println(F(" Play Finished!"));
      break;
    case DFPlayerError:
      Serial.print(F("DFPlayerError:"));
      switch (value) {
        case Busy:
          Serial.println(F("Card not found"));
          break;
        case Sleeping:
          Serial.println(F("Sleeping"));
          break;
        case SerialWrongStack:
          Serial.println(F("Get Wrong Stack"));
          break;
        case CheckSumNotMatch:
          Serial.println(F("Check Sum Not Match"));
          break;
        case FileIndexOut:
          Serial.println(F("File Index Out of Bound"));
          break;
        case FileMismatch:
          Serial.println(F("Cannot Find File"));
          break;
        case Advertise:
          Serial.println(F("In Advertise"));
          break;
        default:
          break;
      }
      break;
    default:
      break;
  }
}

Joheinis: Geht irgendwie noch immer nicht

Genau das ist eine Aussage die wir lieben.

Was geht nicht ? Kannst du das nicht mal mit einer seriellen Debug-Ausgabe prüfen und dann mitteilen ?

Alternativ kannst du auch mal einen Test-Sketch schreiben, der nur einen Taster abfragt und damit mal probieren. Da lernst du gleich mit.