Smarter Mülleimer

Dies ist ein Arduino-Code, der entwickelt wurde, um einen intelligenten Mülleimer zu steuern. Wenn sich ein Objekt in einem Bereich von 20 Zentimetern vor dem Mülleimer befindet, öffnet sich der Deckel automatisch. Dieses Projekt nutzt einen SG90-Servomotor und einen HC-SR04-Ultraschall-Entfernungssensor.

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.

KOMPONENTENVORSTELLUNG

KAUF-LINK

Arduino Uno R4 WiFi

-

Steckbrett

BUY

Jumperkabel

BUY

Ultraschallmodul

BUY

Servomotor

BUY

Verdrahtung

../_images/07_smart_trash_can_bb.png

Schaltplan

../_images/07_smart_trash_can_schematic.png

Code

Bemerkung

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

  • Oder kopieren Sie diesen Code in die Arduino IDE.

Wie funktioniert des?

Hier ist eine schrittweise Erklärung des Codes:

  1. Bibliotheken importieren und Konstanten/Variablen definieren:

    Die Bibliothek Servo.h wird importiert, um den SG90-Servomotor zu steuern. Parameter für den Servomotor, Ultraschallsensor und andere erforderliche Konstanten und Variablen werden definiert.

  2. setup():

    Initialisieren Sie die serielle Kommunikation mit dem Computer mit einer Baudrate von 9600. Konfigurieren Sie die Trigger- und Echopins des Ultraschallsensors. Befestigen Sie den Servomotor an seinem Steuerpin und setzen Sie seine Anfangsposition auf den geschlossenen Winkel. Nachdem der Winkel eingestellt wurde, wird der Servomotor abgetrennt, um Energie zu sparen.

  3. loop():

    Messen Sie die Entfernung dreimal und speichern Sie die Werte jeder Messung. Berechnen Sie die durchschnittliche Entfernung aus den drei Messungen. Wenn die durchschnittliche Entfernung weniger als oder gleich 20 Zentimetern (definierter Abstandsschwellenwert) beträgt, dreht sich der Servomotor auf den offenen Winkel (0 Grad). Andernfalls kehrt der Servomotor nach einer einsekündigen Verzögerung in die geschlossene Position (90 Grad) zurück. Der Servomotor wird abgetrennt, wenn er nicht verwendet wird, um Energie zu sparen.

  4. readDistance():

    Senden Sie einen Impuls an den Triggerpin des Ultraschallsensors. Messen Sie die Impulsbreite des Echopins und berechnen Sie den Entfernungswert. Diese Berechnung verwendet die Schallgeschwindigkeit in der Luft, um die Entfernung basierend auf der Pulsdauer zu berechnen.