Dann zeige doch einfach deinen bisherigen Sketch sowie ein Schaltbild deines Projektes und beschreibe genau, was nicht funktioniert und was bisher funktioniert.
Was soll das? Das ist herauskopierter Teil aus einem größeren Sketch
Der PLAYER hat doch Beispiele, beschäftige sich erst damit. Nicht alles auf einmal, erst die Teile zum laufen bringen danach langsam sich einarbeiten.
#include <DFPlayerMini_Fast.h>
#if !defined(UBRR1H)
#include <SoftwareSerial.h>
SoftwareSerial mySerial(10, 11); // DFPlayer RX, TX
#endif
DFPlayerMini_Fast myMP3;
int PIRPin = 2; // HC-SR501 Pin
int pirState = LOW; // beim Start wird keine Bewegung erkannt
int val = 0; // Variable zum Auslesen des Status
//
void setup () {
Serial.begin(115200); //Serielle Kommunikation initalisieren
mySerial.begin(9600);
myMP3.begin(mySerial);
#if !defined(UBRR1H)
mySerial.begin(9600);
myMP3.begin(mySerial);
#else
Serial.begin(9600);
myMP3.begin(Serial1);
#endif
Serial.println("Volume set");
myMP3.volume(100);
pinMode(PIRPin, INPUT); // HC-SR501 Pin als Input deklarieren
}
//
void loop ()
{
val = digitalRead(PIRPin); // HC-SR501 Pin auslesen
if (val == HIGH) { // Prüfe ob der Pin "High" ist
if (pirState == LOW) {
// Start
Serial.println("Bewegung erkannt!");
// Output-Veraenderung ausgeben
pirState = HIGH;
Serial.println("Spiele Sound-Datei ab");
delay(5000);
myMP3.play(1); // Spiele die erste Datei ab
}
} else {
if (pirState == HIGH){
// Ende
Serial.println("Bewegung beendet!");
// Output-Veraenderung ausgeben
pirState = LOW;
}
}
}
Dieses läuft nun. . Muss nur noch sehen wie ich es verhindere, dass der Sketch immer wieder neu den Soundtrack auslöst, wenn nochmals ein Objekt erkannt wird, während der Soundtrack läuft.
Pin BUSY abfragen dann brauch man die if Orgie nicht mehr
Noch was das mit dem pirState = LOW; oder High ist Unsinn wen der ist aktiviert bleibt er aktiviert bis die eingestellte (Je nach Model) Zeit abläuft, est gibt welsche die kann man nicht einstellen ohne alles.
Die Haltezeit des PIR-Ausgangs muss nicht mit der Länge des Sounds übereinstimmen.
Um diese Zeit von der Dauer des Sounds zu entkoppeln, ist das m.E. schon sinnvoll.