DFPlayer Adkey1-Kontakt mit Arduino Nano schalten, aber wie?

Der Pegel kommt nicht weit genug runter.
Da wo er am analogpin 19 hat, muss 0 stehen.
Das schafft der BC nicht.

Ich habe einen vierfach I²C Level Shifter angeschlossen, dann startet die Musik nach einem LOW-Impuls von 50 ms meines UNOs. Den Level Shifter gibt es auch achtfach.

Du hast doch da keine Litze am Speaker !? :wink: Wäre nicht der erste Speaker, dem seine Lötkontakte abbrechen :speech_balloon:

Habe nachgesehen, es ist Litze. Das Teil hat schon mehrere Jahrzehnte überdauert. Der Lack ist ab, aber es tut noch. So wie bei mir :rofl:

1 Like

Vielleicht passt das auch hierher:

Ich betreibe ein JQ6500 Soundmodul an einem Arduino-PIN - ohne Transistor oder FET dazwischen. Angeschlossen ist ein direkter JQ6500 Pin (K1), nicht der Adkey.

Bei Low schreibe ich ein pinMode ( …, OUTPUT) und dann digitalWrite( pin, LOW).

Statt auf High setzte ich den PIN mit pinMode(…, INPUT) einfach auf Eingang, damit keine 5V am JQ6500 anliegen. Das mag der nämlich nicht.

Evtl. wäre das auch für den DFPlayer ein valider Ansatz.

2 Likes

Habe ich probiert, funktioniert!

void setup() {
  Serial.begin(115200);
  Serial.println("Start");
  digitalWrite(4, LOW);
}

void loop() {
  if (Serial.available()) {
    int zeit = Serial.parseInt();
    pinMode(4, OUTPUT); // zum DFPlayer
    delay(zeit);
    pinMode(4, INPUT); // zum DFPlayer
    Serial.print("Zeit ");
    Serial.println(zeit);
  }
}
2 Likes

MERKEN!
Ich kann nur eines vergeben - das sollst Du haben.
Nochmal: MERKEN!

@domapi

Vielen Dank für den Tipp,

wie lang muss der Impuls am K1 sein, damit der JQ6500 eine Datei abspielt?

@agmue

Vielen Dank für den Test-Sketch, der DFPlayer ist leider zu langsam für mein Projekt. Eventuell eignet sich der JQ6500, ich habe mal einen bestellt.

Ich steuere den K1 sehr lange (1 s) an. Er löst ein Tick-Tack-Geräusch für eine Uhr im 2s-Rhythmus aus. D.h. das Geräusch-mp3 dauert ca. 1,6 s.

Du musst halt ausprobieren, ab wann der K1 erkannt wird. Dazu am besten ein kleines Prg. schreiben, das im ms-Abstand K1 auf GND zieht und die Dauer am seriellen Monitor anzeigt.

Oder du findest etwas im Datenblatt; das ist aber Chinesisch :wink:

Habe heute mal meinen chinesischen Kollegen auf das Datenblatt losgelassen.
Leider hat er auch keine Hinweise auf die Mindestdauer eines Impulses im data sheet finden können. :nerd_face:

Also nur mal so als Gedankengang: die Eingänge können mit einem ADPaCK betrieben werden.
Es wäre fatal, wenn der Eingang jeweils eine Sekunde braucht um das drücken einer Taste zu erfassen.

Das ist eh klar, dass es wesentlicher kürzer geht. Die Frage ist nur 1ms, 10ms, 20ms, 50ms ...
Das muss man halt mal ausprobieren.

Das habe ich, da ich kein Chinesisch kann, bin dabei nicht unter 50 ms gekommen.

Was ein entprellen on Chip darstellt.

Das war auch mein Gedanke....

Ja, so sehe ich das auch :slightly_smiling_face:

1 Like

Hallo,
Netztbrum kann man mit 50ms super ausfiltern :wink:

Gruß Heinz