Arduino - Bewegungssensor - MP3-Player

In diesem Tutorial befassen wir uns mit der Nutzung von Arduino, einem HC-SR501-Bewegungssensor und einem MP3-Player, um die Wiedergabe einer aufgezeichneten Audiodatei auszulösen, sobald Bewegung erkannt wird. Dieses Projekt ist vielseitig einsetzbar und kann an Anwendungen angepasst werden, wie zum Beispiel das automatische Abspielen aufgezeichneter Audioanweisungen oder Warnungen, wann immer eine menschliche Präsenz erkannt wird.

Erforderliche Hardware

1×Arduino Uno R3
1×USB 2.0 Kabel Typ A/B (für USB-A PC)
1×USB 2.0 Kabel Typ C/B (für USB-C PC)
1×HC-SR501 Bewegungssensor
1×Serieller MP3-Player-Modul
1×Micro-SD-Karte
1×3.5mm Aux-Lautsprecher
1×Verbindungskabel
1×(Empfohlen) Schraubklemmenblock-Shield für Arduino Uno
1×(Empfohlen) Breadboard-Shield für Arduino Uno
1×(Empfohlen) Gehäuse für Arduino Uno
1×(Empfohlen) Prototyping-Grundplatte & Breadboard-Kit für Arduino Uno

Oder Sie können die folgenden Kits kaufen:

1×DIYables STEM V3 Starter-Kit (Arduino enthalten)
1×DIYables Sensor-Kit (30 Sensoren/Displays)
1×DIYables Sensor-Kit (18 Sensoren/Displays)
Offenlegung: Einige der in diesem Abschnitt bereitgestellten Links sind Amazon-Affiliate-Links. Wir können eine Provision für Käufe erhalten, die über diese Links getätigt werden, ohne zusätzliche Kosten für Sie. Wir schätzen Ihre Unterstützung.

Über MP3-Player und Bewegungsmelder

Wenn Sie nichts über MP3-Player und einen Bewegungsensor wissen (Pinbelegung, Funktionsweise, Programmierung ...), informieren Sie sich in den folgenden Tutorials darüber:

Verdrahtungsdiagramm

Arduino Bewegungssensor MP3-Player Verdrahtungsdiagramm

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.

Bewegungsmelder-Ersteinrichtung

Time Delay AdjusterScrew it in anti-clockwise direction fully.
Detection Range AdjusterScrew it in clockwise direction fully.
Repeat Trigger SelectorPut jumper as shown on the image.
Arduino-Bewegungssensor-Ersteinrichtung

Vorbereitung

  • Speichern Sie vorab die aufgezeichnete MP3-Datei, die wir abspielen möchten, auf die Micro-SD-Karte.
  • Stecken Sie die Micro-SD-Karte in das MP3-Player-Modul.
  • Schließen Sie das MP3-Player-Modul an den Arduino an.
  • Schließen Sie den Lautsprecher an das MP3-Player-Modul an.
  • Schließen Sie den Lautsprecher an eine Stromquelle an.
  • Schließen Sie den Bewegungssensor an den Arduino an.

Arduino-Code - Bewegungssensor steuert MP3-Player

/* * Dieser Arduino Code wurde von newbiely.de entwickelt * Dieser Arduino Code wird der Öffentlichkeit ohne jegliche Einschränkung zur Verfügung gestellt. * Für vollständige Anleitungen und Schaltpläne besuchen Sie bitte: * https://newbiely.de/tutorials/arduino/arduino-motion-sensor-mp3-player */ #include <SoftwareSerial.h> #include <Servo.h> #define CMD_PLAY_NEXT 0x01 #define CMD_PLAY_PREV 0x02 #define CMD_PLAY_W_INDEX 0x03 #define CMD_SET_VOLUME 0x06 #define CMD_SEL_DEV 0x09 #define CMD_PLAY_W_VOL 0x22 #define CMD_PLAY 0x0D #define CMD_PAUSE 0x0E #define CMD_SINGLE_CYCLE 0x19 #define DEV_TF 0x02 #define SINGLE_CYCLE_ON 0x00 #define SINGLE_CYCLE_OFF 0x01 #define ARDUINO_RX 7 // Arduino Pin connected to the TX of the Serial MP3 Player module #define ARDUINO_TX 6 // Arduino Pin connected to the RX of the Serial MP3 Player module #define MOTION_SENSOR_PIN 2 // Arduino pin connected to motion sensor's pin SoftwareSerial mp3(ARDUINO_RX, ARDUINO_TX); int prev_motion_state; // the previous state of motion sensor int motion_state; // the current state of motion sensor void setup() { Serial.begin(9600); mp3.begin(9600); delay(500); // wait chip initialization is complete mp3_command(CMD_SEL_DEV, DEV_TF); // select the TF card delay(200); // wait for 200ms pinMode(MOTION_SENSOR_PIN, INPUT); // set arduino pin to input mode motion_state = digitalRead(MOTION_SENSOR_PIN); } void loop() { prev_motion_state = motion_state; // save the last state motion_state = digitalRead(MOTION_SENSOR_PIN); // read new state if (motion_state == LOW && prev_motion_state == HIGH) { // pin state change: LOW -> HIGH Serial.println("Motion detected!"); mp3_command(CMD_PLAY, 0x0000); // Play the first mp3 file } else if (motion_state == HIGH && prev_motion_state == LOW) { // pin state change: HIGH -> LOW Serial.println("Motion stopped!"); } } void mp3_command(int8_t command, int16_t dat) { int8_t frame[8] = { 0 }; frame[0] = 0x7e; // starting byte frame[1] = 0xff; // version frame[2] = 0x06; // the number of bytes of the command without starting byte and ending byte frame[3] = command; // frame[4] = 0x00; // 0x00 = no feedback, 0x01 = feedback frame[5] = (int8_t)(dat >> 8); // data high byte frame[6] = (int8_t)(dat); // data low byte frame[7] = 0xef; // ending byte for (uint8_t i = 0; i < 8; i++) { mp3.write(frame[i]); } }

Schnelle Schritte

  • Verbinde Arduino über ein USB-Kabel mit dem PC
  • Öffne die Arduino IDE, wähle das richtige Board und den richtigen Port
  • Kopiere den obigen Code und öffne ihn in der Arduino IDE
  • Klicke in der Arduino IDE auf die Hochladen-Schaltfläche, um den Code auf den Arduino hochzuladen
  • Bewege deine Hand vor dem Sensor
  • Überprüfe die Audioausgabe des MP3-Players

Video Tutorial

Wir erwägen die Erstellung von Video-Tutorials. Wenn Sie Video-Tutorials für wichtig halten, abonnieren Sie bitte unseren YouTube-Kanal , um uns zu motivieren, die Videos zu erstellen.

※ UNSERE NACHRICHTEN

  • Sie können gerne den Link zu diesem Tutorial teilen. Bitte verwenden Sie jedoch unsere Inhalte nicht auf anderen Websites. Wir haben viel Mühe und Zeit in die Erstellung der Inhalte investiert, bitte respektieren Sie unsere Arbeit!