Wie erstelle ich einen intelligenten Mülleimer mit Arduino?
Die Welt bewegt sich schnell und die Technologie bewegt sich auch im Bereich der Elektronik. Alles in dieser modernen Zeit wird schlau. Warum machen wir die Mülleimer nicht schlau? Es ist ein häufiges Problem in unserer Umgebung, dass die meisten Mülleimer von oben abgedeckt werden. Menschen fühlen sich unwohl, wenn sie den Deckel berühren und öffnen, um ihren Ausschlag hineinzuwerfen. Wir können dieses Problem einiger Leute lösen, indem wir den Deckel des Mülleimers automatisieren.
Ein Arduino und ein Ultraschallsensor können zusammen mit dem Servomotor integriert werden, um einen intelligenten Mülleimer herzustellen. Erkennt der Mülleimer vor ihm Müll, öffnet er seinen Deckel automatisch und der Deckel wird nach einer Verzögerung von einigen Sekunden geschlossen.
Wie öffne und schließe ich automatisch den Mülleimerdeckel mit Arduino?
Nachdem wir nun die Zusammenfassung des Projekts kennen, lassen Sie uns fortfahren und weitere Informationen über die Komponenten, die Arbeitsweise und den Schaltplan sammeln, um sofort mit der Arbeit am Projekt zu beginnen.
Schritt 1: Sammeln der Komponenten
Wenn Sie Unannehmlichkeiten während eines Projekts vermeiden möchten, erstellen Sie am besten eine vollständige Liste aller Komponenten, die wir verwenden werden. Der zweite Schritt, bevor Sie mit der Herstellung der Schaltung beginnen, besteht darin, alle diese Komponenten kurz zu untersuchen. Eine Liste aller Komponenten, die wir in diesem Projekt benötigen, finden Sie unten.
Schritt 2: Studieren der Komponenten
Nachdem wir nun eine vollständige Liste aller Komponenten haben, gehen wir einen Schritt vorwärts und gehen eine kurze Studie über die Funktionsweise jeder Komponente durch.
Arduino Nano ist eine Steckbrett-freundliche Mikrocontroller-Karte, mit der verschiedene Aufgaben in einer Schaltung gesteuert oder ausgeführt werden. Wir verbrennen a C-Code auf Arduino Nano, um dem Mikrocontroller-Board mitzuteilen, wie und welche Operationen auszuführen sind. Arduino Nano hat genau die gleiche Funktionalität wie Arduino Uno, ist jedoch recht klein. Der Mikrocontroller auf der Arduino Nano-Platine ist ATmega328p.Wenn Sie keinen Arduino Nano haben, können Sie auch Arduino Uno oder Arduino Maga verwenden.
Die HC-SR04-Karte ist ein Ultraschallsensor, mit dem der Abstand zwischen zwei Objekten bestimmt wird. Es besteht aus einem Sender und einem Empfänger. Der Sender wandelt das elektrische Signal in ein Ultraschallsignal um und der Empfänger wandelt das Ultraschallsignal zurück in das elektrische Signal. Wenn der Sender eine Ultraschallwelle sendet, wird diese nach einer Kollision mit einem bestimmten Objekt reflektiert. Die Entfernung wird anhand der Zeit berechnet, die das Ultraschallsignal benötigt, um vom Sender zum Empfänger zurückzukehren.
EIN Servomotorist ein rotatorischer oder linearer Aktuator, der in exakten Schritten gesteuert und bewegt werden kann. Diese Motoren unterscheiden sich von Gleichstrommotoren. Diese Motoren ermöglichen die präzise Steuerung von Winkel- oder Drehbewegungen. Dieser Motor ist mit einem Sensor gekoppelt, der eine Rückmeldung über seine Bewegung sendet.
Schritt 3: Die Arbeitsweise verstehen
Wir stellen einen Mülleimer her, dessen Deckel sich automatisch öffnet und schließt und der nicht physisch berührt werden muss. Wir müssen nur den Müll vor den Mülleimer stellen. Der Ultraschallsensor erkennt automatisch den Müll und öffnet mit Hilfe eines Servomotors den Deckel. Wenn der Deckel geöffnet ist, werfen wir den Müll in den Papierkorb und wenn wir fertig sind, wird der Deckel nach einer Verzögerung von einigen Sekunden automatisch geschlossen. Dies ist das einfache Arbeitsprinzip hinter diesem Projekt.
Schritt 4: Zusammenbau der Komponenten
- Befestigen Sie ein Steckbrett an der Seite eines Behälters. Legen Sie eine Arduino Nano-Platine ein.
- Bringen Sie einen Ultraschallsensor vor dem Behälter an. Der Sensor sollte mit einem kleinen Elevationswinkel leicht nach oben zeigen.
- Nehmen Sie den Servomotor und befestigen Sie einen Servoarm darin. Befestigen Sie den Servomotor mit Hilfe von Heißkleber an der Verbindung von Behälter und Deckel.
- Stellen Sie nun alle Verbindungen über Verbindungsdrähte her. Verbinden Sie den Vin und die Masse des Motors und den Ultraschallsensor mit den 5 V und der Masse von Arduino. Verbinden Sie den Trigger-Pin des Sensors mit Pin2 und den Echo-Pin mit Pin3 des Arduino. Verbinden Sie den PWM-Pin des Servomotors mit dem Pin 5 des Arduino.
- Nun, da alle Verbindungen der Schaltung hergestellt sind, sollte es so aussehen:
Schritt 5: Erste Schritte mit Arduino
Wenn Sie mit der Arduino IDE noch nicht vertraut sind, machen Sie sich keine Sorgen, da im Folgenden eine schrittweise Anleitung zum Einrichten und Verwenden der Arduino IDE mit einer Mikrocontroller-Karte erläutert wird.
- Laden Sie die neueste Version von Arduino IDE von Arduino herunter.
- Schließen Sie Ihr Arduino Nano-Board an Ihren Laptop an und öffnen Sie das Bedienfeld. Klicken Sie in der Systemsteuerung aufHardware und Sound. Klicken Sie nun aufGeräte und Drucker.Hier finden Sie den Anschluss, an den Ihre Mikrocontroller-Karte angeschlossen ist. In meinem Fall ist es COM14aber es ist auf verschiedenen Computern unterschiedlich.
- Klicken Sie auf das Menü Tool. und setze das Board auf Arduino Nano aus dem Dropdown-Menü.
- Stellen Sie im selben Tool-Menü den Port auf die Portnummer ein, die Sie zuvor in der Geräte und Drucker.
- Stellen Sie im selben Tool-Menü den Prozessor auf ein ATmega328P (alter Bootloader).
- Um Code für den Betrieb der Servomotoren zu schreiben, benötigen wir eine spezielle Bibliothek, mit der wir verschiedene Funktionen für Servomotoren schreiben können. Diese Bibliothek wird zusammen mit dem Code unter dem folgenden Link angehängt. Klicken Sie auf, um die Bibliothek einzuschließen Skizze> Bibliothek einschließen> ZIP hinzufügen. Bibliothek.
- Laden Sie den unten angehängten Code herunter und fügen Sie ihn in Ihre Arduino IDE ein. Klick auf das hochladen Taste, um den Code auf Ihrer Mikrocontroller-Karte zu brennen.
Klicken Sie hier, um den Code herunterzuladen.
Schritt 6: Den Code verstehen
Der Code ist ziemlich gut kommentiert, wird aber im Folgenden kurz erklärt.
1. Am Anfang ist eine Bibliothek enthalten, damit wir eingebaute Funktionen verwenden können, um den Servomotor zu betreiben. Zwei Pins der Arduino Nano-Platine werden ebenfalls initialisiert, damit sie für den Trigger- und Echo-Pin des Ultraschallsensors verwendet werden können. Ein Objekt wird auch so erstellt, dass damit Werte für die Servomotoren eingestellt werden können. Es werden auch zwei Variablen deklariert, damit der Wert der Entfernung und Zeit des Ultraschallsignals gespeichert und dann in der Formel verwendet werden kann.
#einschließen// Bibliothek für Servomotor einschließen Servo servo; // Deklariere ein Objekt für den Servomotor int const trigPin = 2; // Pin2 von Arduino mit Trigger des Ultraschallsensors verbinden int const echoPin = 3; // Verbinde Pin3 des Arduino mit dem Echo des Ultraschallsensors int Dauer, Entfernung; // Variablen deklarieren, um Abstand und Typ des Ultraschallsignals zu speichern
2. void setup ()ist eine Funktion, bei der wir die Pins der Arduino-Karte initialisieren, die als INPUT oder OUTPUT verwendet werden sollen. Der Trigger-Pin wird als Ausgang und ein Echo-Pin als Eingang verwendet. Wir haben das Objekt benutzt Servo, um den Motor an Pin 5 des Arduino Nano anzuschließen. Mit Pin5 kann das PWM-Signal gesendet werden. In dieser Funktion wird auch die Baudrate eingestellt. Die Baudrate ist die Geschwindigkeit von Bits pro Sekunde, mit der der Mikrocontroller mit den externen Geräten kommuniziert.
void setup () {Serial.begin (9600); // Einstellen der Baudrate des Mikrocontrollers pinMode (trigPin, OUTPUT); // Trigger Pin wird als Ausgangs-PinMode verwendet (echoPin, INPUT); // Echo-Pin wird als Eingangsservo verwendet.attach (5); // Den Servomotor an Pin5 von Arduino anschließen}
3. void loop ()ist eine Funktion, die immer wieder in einer Schleife ausgeführt wird. In dieser Schleife wird eine Ultraschallwelle in die Umgebung gesendet und zurück empfangen. Die zurückgelegte Strecke wird gemessen, indem die Zeit verwendet wird, die das Signal benötigt, um den Sensor zu verlassen und zu ihm zurückzukehren. Dann wird die Bedingung entsprechend auf den Abstand angewendet.
void loop () {digitalWrite (trigPin, HIGH); // Senden eines Ultraschallsignals in der umgebenden Verzögerung (1); digitalWrite (trigPin, LOW); // Messen Sie den Impulseingang in Echo Pin Dauer = PulsIn (EchoPin, HIGH); // Entfernung ist die Hälfte der Dauer geteilt durch 29.1 (aus Datenblatt) Entfernung = (Dauer / 2) / 29.1; // wenn die Entfernung weniger als 0,5 Meter und mehr als 0 beträgt (0 oder weniger bedeutet über Reichweite) if (Entfernung <= 50 && Entfernung> = 0) {servo.write (50); Verzögerung (3000); } else {servo.write (160); }}
Jetzt, da wir alle Schritte kennen, um dieses erstaunliche Projekt zu realisieren, beeilen Sie sich und genießen Sie die Herstellung Ihres intelligenten Mülleimers.