Ich möchte mit einem Sensor einen Sound abspielen und wenn der Sensor ausgeht, soll ein Verabschiedungssound gespielt werden.
Ich benutze Arduino Nano und DfPlayer Mini.
Es wird kein Sound abgespielt.
Danke im Voraus.
Der Code lautet:
#include <SoftwareSerial.h>
#include <DFRobotDFPlayerMini.h>
// DFPlayer Mini setup
SoftwareSerial mySoftwareSerial(2, 3); // RX, TX for DFPlayer Mini
DFRobotDFPlayerMini dfPlayer;
const int seatMatPin = 7; // Pin connected to seat occupancy mat
bool wasSeated = false;
void setup()
{
// Start serial communication for debugging
Serial.begin(9600); // Start serial communication at 9600 baud rate
// Initialize serial for DFPlayer Mini
mySoftwareSerial.begin(9600);
// Try to start DFPlayer Mini
if (!dfPlayer.begin(mySoftwareSerial)) {
Serial.println("DFPlayer Mini konnte nicht gestartet werden."); // Print error message
while (true); // Stop execution here if DFPlayer Mini fails to start
}
Serial.println("DFPlayer Mini bereit."); // Print success message
// Initialize seat mat pin
pinMode(seatMatPin, INPUT_PULLUP); // Assuming mat signal is active LOW
}
void loop()
{
// Read seat mat state
bool isSeated = digitalRead(seatMatPin) == LOW; // LOW means seat is occupied
if (isSeated && !wasSeated) {
// Seat was just occupied
Serial.println("Sitz wurde besetzt. Begrüßungsmelodie abspielen."); // Print message
dfPlayer.play(1); // Play greeting sound
wasSeated = true;
}
else if (!isSeated && wasSeated) {
// Seat was just vacated
Serial.println("Sitz wurde verlassen. Verabschiedungsmelodie abspielen."); // Print message
dfPlayer.play(2); // Play farewell sound
wasSeated = false;
}
delay(100); // Small delay for stability
}