Willkommen

In diesem Projekt verwenden wir einen PIR-Sensor, um menschliche Anwesenheit zu erkennen, und einen Lautsprecher, um eine Türklingel zu simulieren, ähnlich den Eingangstürklingeln in Convenience-Stores. Wenn ein Fußgänger in den Bereich des PIR-Sensors kommt, wird der Lautsprecher klingeln und damit eine Türklingel nachahmen.

Benötigte Komponenten

Für dieses Projekt benötigen wir die folgenden Komponenten.

Es ist definitiv praktisch, ein ganzes Kit zu kaufen, hier ist der Link:

Name

ARTIKEL IN DIESEM KIT

LINK

Elite Explorer Kit

300+

Elite Explorer Kit

Sie können sie auch einzeln über die untenstehenden Links kaufen.

KOMPONENTENBESCHREIBUNG

KAUF-LINK

Arduino Uno R4 WiFi

-

Steckbrett

BUY

Jumperkabel

BUY

Widerstand

BUY

PIR-Bewegungssensormodul

BUY

Audio-Modul und Lautsprecher

-

Verdrahtung

../_images/01_welcome_bb.png

Schaltplan

../_images/01_welcome_schematic.png

Code

Bemerkung

  • Sie können die Datei 01_welcome.ino direkt unter dem Pfad elite-explorer-kit-main\fun_project\01_welcome öffnen.

  • Oder kopieren Sie diesen Code in die Arduino IDE.

Wie funktioniert das?

Hier ist eine schrittweise Erklärung des Codes:

  1. Headerdateien einbinden:

    Zwei Headerdateien, analogWave.h und pitches.h, einbinden. Die Datei analogWave.h enthält die Definition der Klasse analogWave, während pitches.h die Definitionen musikalischer Noten enthält.

  2. Objekte instanziieren und Konstanten definieren:

    Erstellen Sie ein wave-Objekt mit der Klasse analogWave und definieren Sie PIR_PIN als 2, welcher der an den PIR-Sensor angeschlossene Pin ist.

  3. Melodie-Array:

    Das melody-Array definiert eine musikalische Melodie, wobei jeder Note eine Zahl folgt, die ihre Dauer repräsentiert. Negative Zahlen stellen punktierte Noten dar (die Dauer um 50% erhöhen).

  4. Globale Variablen:

    Definieren Sie einige globale Variablen, um Daten zwischen Funktionen zu teilen.

  5. setup():

    Initialisieren Sie PIR_PIN als Eingang und stellen Sie die Frequenz der Sinuswelle auf 10 Hz mit wave.sine(10) ein.

  6. loop():

    Überwachen Sie kontinuierlich den Wert des PIR-Sensors. Wenn eine menschliche Anwesenheit erkannt wird (pirValue ist HIGH), rufen Sie die Funktion playMelody() auf, um die Melodie zu spielen, und warten Sie 10 Sekunden, um das wiederholte Abspielen der Melodie zu verhindern.

  7. playMelody():

    Diese Funktion berechnet die Dauer jeder Note basierend auf den Daten im melody-Array und spielt die entsprechende Note. Zwischen den Noten gibt es eine kurze Pause. Die Funktion setzt die Frequenz der Wellenform mit wave.freq() und steuert die Dauer der Noten und Pausen zwischen den Noten mit der Funktion delay().

    Hinweis: Stellen Sie sicher, dass die Headerdatei pitches.h tatsächlich existiert, bevor Sie diesen Code ausführen.