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+ |
Sie können sie auch einzeln über die untenstehenden Links kaufen.
KOMPONENTENVORSTELLUNG |
KAUF-LINK |
---|---|
- |
|
Verdrahtung
Schaltplan
Code
Bemerkung
Sie können die Datei
07_smart_trash_can.ino
direkt unter dem Pfadelite-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:
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.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.
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.
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.