DFPlayer Arduino Nano

Moin,
Ich benötige jetzt auch mal eure Hilfe.
Ich habe einen DFPlayer an einen Nano gehängt dieser soll verschiedene Sounds je nach "Jumperstellung" spielen.
Dieses funktioniert auf dem Uno einwandfrei.
Auf dem Nano leider nur wenn dieser an den PC angeschlossen ist, nicht aber wenn man in ohne PC betreiben möchte...

#include "Arduino.h"
#include "SoftwareSerial.h"
#include "DFRobotDFPlayerMini.h"

SoftwareSerial mySoftwareSerial(10, 11);  // RX, TX
DFRobotDFPlayerMini myDFPlayer;

int buttonPin = 7;  // Pin, an dem der Taster angeschlossen ist
int buttonPin1 = 8;
int buttonPin2 = 9;
int buttonPin3 = 6;
int buttonPin4 = 5;
int buttonPin5 = 4;
int buttonPin6 = 3;
int buttonPin7 = 2;
void setup() {
  mySoftwareSerial.begin(9600);  // Start der SoftwareSerial Kommunikation
  Serial.begin(115200);          // Start der "normalen" seriellen Kommunikation für den Serial Monitor

  if (!myDFPlayer.begin(mySoftwareSerial)) {  // Verbindung der Software Serial Kommunikation mit dem DFPlayer
    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) {  // Programmabbruch -> while(true) ist Endlosschleife
      delay(0);     // Code für den Watchdog des ESP8266, nicht relevant für Arduino UNO
    }
  }

  myDFPlayer.volume(30);             // Lautstärke auf 10 ( Werte von 0 – 30 ist möglich)
  pinMode(buttonPin, INPUT_PULLUP);  // Taster wird mit internem Pullup-Widerstand verwendet
  pinMode(buttonPin1, INPUT_PULLUP);
  pinMode(buttonPin2, INPUT_PULLUP);
  pinMode(buttonPin3, INPUT_PULLUP);
  pinMode(buttonPin4, INPUT_PULLUP);
  pinMode(buttonPin5, INPUT_PULLUP);
  pinMode(buttonPin6, INPUT_PULLUP);
  pinMode(buttonPin7, INPUT_PULLUP);
}

void loop() {
  if (digitalRead(buttonPin) == LOW && digitalRead(buttonPin1) == LOW)

  {                      // wenn der Taster gedrückt wird
    myDFPlayer.play(1);  // spiele das erste MP3 von der SD-Karte
  }
  if (digitalRead(buttonPin) == LOW && digitalRead(buttonPin2) == LOW)

  {                      // wenn der Taster gedrückt wird
    myDFPlayer.play(2);  // spiele das zweite MP3 von der SD-Karte
  }
  if (digitalRead(buttonPin) == LOW && digitalRead(buttonPin3) == LOW)

  {                      // wenn der Taster gedrückt wird
    myDFPlayer.play(3);  // spiele das dritte MP3 von der SD-Karte
  }
  if (digitalRead(buttonPin) == LOW && digitalRead(buttonPin4) == LOW)

  {                      // wenn der Taster gedrückt wird
    myDFPlayer.play(4);  // spiele das vierte MP3 von der SD-Karte
  }
  if (digitalRead(buttonPin) == LOW && digitalRead(buttonPin5) == LOW)

  {                      // wenn der Taster gedrückt wird
    myDFPlayer.play(5);  // spiele das fünfte MP3 von der SD-Karte
  }
  if (digitalRead(buttonPin) == LOW && digitalRead(buttonPin6) == LOW)

  {                      // wenn der Taster gedrückt wird
    myDFPlayer.play(6);  // spiele das sechste MP3 von der SD-Karte
  }
  if (digitalRead(buttonPin) == LOW && digitalRead(buttonPin7) == LOW)

  {                      // wenn der Taster gedrückt wird
    myDFPlayer.play(7);  // spiele das siebte MP3 von der SD-Karte
  }
}

Dfplayer mini play command does not work - Using Arduino / Audio - Arduino Forum

Hast du ein Netzteil oder Batterien angeschlossen ?
Zeige mal ein Schaltbild, wie du es am Nano verdrahtet hast.

Was für einer mit welchem Chip?
Es gibt mittlerweile ohne ende Nano's was nicht kompatibel sind zu UNO, der ist voll Kompatibel

es ist einer von AZ-Delivery Nano V3.0 mit Atmega328 CH340

ich bin leider ganz neu im Forum habe alle sachen bis jetzt aus dem kopf verdrahtet. womit erstellt ihr eure schaltbilder?
ist über netzteil dran

Jeder hat eigene Vorlieben :wink: mansche machen das mit Bleistift auf Blattpapier, das reicht auch.
Mach das so wie @HotSystems im Link zeigt

Hallo
Mit einem Bleistift und Papier geht es in der Regel am schnellsten
Heinz

Da Schaltbilder den gewollten, aber nicht den IST-Zustand darstellen, mach ein FOTO von oben vom Aufbau.
Bitte so, das man sieht wo die Kabel hingehen und herkommen. Es sollte kein Kabel ausserhalb des Bildes weitergehen und woanders wieder rein kommen und bitte keine Schräglage - denke dran, das Du am Tisch sitzt, jeder andere aber sich das vorstellen muss...

In welchem Link ?

Bitte diese Frage noch beantworten.

Ups, das war der @er_name_not_found. im #2
Sorry.


die beider an D6/D7 sind die kabel zum aktivieren des Sounds und werden gegen gnd geschlossen zum auswählen werden später noch gegen Taster ersetzt

Ok, wo und wie kommt die Versorgung drauf, wenn es mit PC geht ohne nicht, ist was falsch verschaltet .

Also wenn ich den Nano am PC hat funktioniert das Programm so wie ich es haben will...
wenn ich aber das usb Kabel in ein netzteil stecke dann kommt kein ton, genauso wie wenn ich es direkt an ein 5v netzteil anschliesse.
Genau das selbe Programm auf den UNO geladen und 1:1 umgeklemmt funktioniert es am PC sowie am Netzteil per USB und direkt.

Sehr ungewöhnlich ist deine Farbkombination für die Betriebsspannung.
Du solltest dich besser an gängige Verwendung der Farben rot = Plus, schwarz oder blau = minus und die Farben nicht noch zwischendurch tauschen. Das irritiert alle und macht es nicht einfach zu helfen.

Leider ist auf deinem Bild nicht zu erkennen, wie du die Spannung an die Module ran bringst.

Versuch das, habe das Ding nicht

//#include "Arduino.h"
#include "SoftwareSerial.h"
#include "DFRobotDFPlayerMini.h"

SoftwareSerial mySoftwareSerial(10, 11);  // RX, TX
DFRobotDFPlayerMini myDFPlayer;

int buttonPin = 7;  // Pin, an dem der Taster angeschlossen ist
int buttonPin1 = 8;
int buttonPin2 = 9;
int buttonPin3 = 6;
int buttonPin4 = 5;
int buttonPin5 = 4;
int buttonPin6 = 3;
int buttonPin7 = 2;
void setup() {
  mySoftwareSerial.begin(9600);  // Start der SoftwareSerial Kommunikation
  Serial.begin(115200);          // Start der "normalen" seriellen Kommunikation für den Serial Monitor
  myDFPlayer.begin(mySoftwareSerial);
 /* 
  if (!myDFPlayer.begin(mySoftwareSerial)) {  // Verbindung der Software Serial Kommunikation mit dem DFPlayer
    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) {  // Programmabbruch -> while(true) ist Endlosschleife
      delay(0);     // Code für den Watchdog des ESP8266, nicht relevant für Arduino UNO
    }
  }
*/
  myDFPlayer.volume(30);             // Lautstärke auf 10 ( Werte von 0 – 30 ist möglich)
  pinMode(buttonPin, INPUT_PULLUP);  // Taster wird mit internem Pullup-Widerstand verwendet
  pinMode(buttonPin1, INPUT_PULLUP);
  pinMode(buttonPin2, INPUT_PULLUP);
  pinMode(buttonPin3, INPUT_PULLUP);
  pinMode(buttonPin4, INPUT_PULLUP);
  pinMode(buttonPin5, INPUT_PULLUP);
  pinMode(buttonPin6, INPUT_PULLUP);
  pinMode(buttonPin7, INPUT_PULLUP);
}

void loop() {
  if (digitalRead(buttonPin) == LOW && digitalRead(buttonPin1) == LOW)

  { // wenn der Taster gedrückt wird
    myDFPlayer.play(1);  // spiele das erste MP3 von der SD-Karte
  }
  if (digitalRead(buttonPin) == LOW && digitalRead(buttonPin2) == LOW)

  { // wenn der Taster gedrückt wird
    myDFPlayer.play(2);  // spiele das zweite MP3 von der SD-Karte
  }
  if (digitalRead(buttonPin) == LOW && digitalRead(buttonPin3) == LOW)

  { // wenn der Taster gedrückt wird
    myDFPlayer.play(3);  // spiele das dritte MP3 von der SD-Karte
  }
  if (digitalRead(buttonPin) == LOW && digitalRead(buttonPin4) == LOW)

  { // wenn der Taster gedrückt wird
    myDFPlayer.play(4);  // spiele das vierte MP3 von der SD-Karte
  }
  if (digitalRead(buttonPin) == LOW && digitalRead(buttonPin5) == LOW)

  { // wenn der Taster gedrückt wird
    myDFPlayer.play(5);  // spiele das fünfte MP3 von der SD-Karte
  }
  if (digitalRead(buttonPin) == LOW && digitalRead(buttonPin6) == LOW)

  { // wenn der Taster gedrückt wird
    myDFPlayer.play(6);  // spiele das sechste MP3 von der SD-Karte
  }
  if (digitalRead(buttonPin) == LOW && digitalRead(buttonPin7) == LOW)

  { // wenn der Taster gedrückt wird
    myDFPlayer.play(7);  // spiele das siebte MP3 von der SD-Karte
  }
}

Die Beschaltung ist ok.
Das Fehlerbild ist eigenartig.
Ich muss leider passen.

Hast Du irgendein Netzteil mit 7-9V, welches Du umfriemeln kannst und + auf VIN und GND auf - legen kannst?

Dann probier das. Sowas ähnliches habe ich schon mal mit einem Sensor gehabt und aus Verzweiflung ein altes Netzteil einfach um seinen Stecker erleichtert... (Heute habe ich Adapterstecker...)

es funktioniert tatsächlich mit der Änderung :slight_smile:
danke euch!!!!!

Schön; Danke für Rückmeldung