Bemerkung

Hallo und willkommen in der SunFounder Raspberry Pi & Arduino & ESP32 Enthusiasten-Gemeinschaft auf Facebook! Tauchen Sie tiefer ein in die Welt von Raspberry Pi, Arduino und ESP32 mit anderen Enthusiasten.

Warum beitreten?

  • Expertenunterstützung: Lösen Sie Nachverkaufsprobleme und technische Herausforderungen mit Hilfe unserer Gemeinschaft und unseres Teams.

  • Lernen & Teilen: Tauschen Sie Tipps und Anleitungen aus, um Ihre Fähigkeiten zu verbessern.

  • Exklusive Vorschauen: Erhalten Sie frühzeitigen Zugang zu neuen Produktankündigungen und exklusiven Einblicken.

  • Spezialrabatte: Genießen Sie exklusive Rabatte auf unsere neuesten Produkte.

  • Festliche Aktionen und Gewinnspiele: Nehmen Sie an Gewinnspielen und Feiertagsaktionen teil.

👉 Sind Sie bereit, mit uns zu erkunden und zu erschaffen? Klicken Sie auf [ hier ] und treten Sie heute bei!

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

KAUFEN

Jumperkabel

KAUFEN

Widerstand

KAUFEN

PIR-Bewegungssensormodul

KAUFEN

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.