Ungefähr 71% der Erde sind mit Wasser bedeckt, aber leider sind nur 2,5% Trinkwasser. Angesichts des Bevölkerungswachstums, der Umweltverschmutzung und des Klimawandels wird erwartet, dass wir bis 2025 mehrjährige Wasserknappheit erleben werden. Einerseits gibt es bereits geringfügige Streitigkeiten zwischen Nationen und Staaten über die gemeinsame Nutzung von Flusswasser, andererseits verschwenden wir als Menschen aufgrund unserer Nachlässigkeit viel Trinkwasser.
Es mag auf den ersten Blick nicht groß erscheinen, aber wenn Ihr Wasserhahn einmal pro Sekunde einen Tropfen Wasser tropft, dauert es nur etwa fünf Stunden, bis Sie eine Gallone Wasser verschwenden. Das ist genug Wasser, damit ein durchschnittlicher Mensch zwei überlebt Tage. Was kann also getan werden, um dies zu stoppen? Wie immer liegt die Antwort darauf in der Verbesserung der Technologie. Wenn wir alle manuellen Wasserhähne durch einen intelligenten ersetzen, der sich automatisch von selbst öffnet und schließt, können wir nicht nur Wasser sparen, sondern auch einen gesünderen Lebensstil haben, da wir den Wasserhahn nicht mit unseren schmutzigen Händen bedienen müssen. In diesem Projekt werden wir einen automatischen Wasserspender mit Arduino und einem Magnetventil bauen, der Ihnen automatisch Wasser geben kann, wenn ein Glas in der Nähe platziert wird. Klingt cool, oder? Also lasst uns einen bauen…
Erforderliche Materialien
- Magnetventil
- Arduino Uno (jede Version)
- HCSR04 - Ultraschallsensor
- IRF540 MOSFET
- 1k und 10k Widerstand
- Steckbrett
- Kabel anschließen
Arbeitskonzept
Das Konzept hinter dem automatischen Wasserspender ist sehr einfach. Wir werden einen HCSR04-Ultraschallsensor verwenden, um zu überprüfen, ob Gegenstände wie das Glas vor dem Spender platziert sind. Ein Magnetventil wird verwendet, um den Wasserfluss zu steuern. Wenn er erregt ist, fließt das Wasser heraus und wenn er nicht erregt ist, wird das Wasser gestoppt. Wir werden also ein Arduino-Programm schreiben, das immer prüft, ob sich ein Objekt in der Nähe des Wasserhahns befindet. Wenn ja, wird der Magnet eingeschaltet und warten, bis das Objekt entfernt wird. Sobald das Objekt entfernt ist, schaltet sich der Magnet automatisch aus und schließt den Wasserversorgung. Erfahren Sie hier mehr über die Verwendung des Ultraschallsensors mit Arduino.
Schaltplan
Das vollständige Schaltbild für einen Wasserspender auf Arduino-Basis ist unten dargestellt
Das in diesem Projekt verwendete Magnetventil ist ein 12-V-Ventil mit einer maximalen Nennstromstärke von 1,2 A und einer Dauerstromstärke von 700 mA. Wenn das Ventil eingeschaltet ist, verbraucht es ungefähr 700 mA, um das Ventil eingeschaltet zu halten. Wie wir wissen, ist ein Arduino eine Entwicklungsplatine, die mit 5 V betrieben wird. Daher benötigen wir eine Schalttreiberschaltung, damit der Magnet sie ein- und ausschalten kann.
Das in diesem Projekt verwendete Schaltgerät ist der N-Kanal-MOSFET IRF540N. Es hat die 3 Pins Gate, Source und Drain von Pin 1. Wie im Schaltplan gezeigt, wird der Pluspol des Magneten mit dem Vin-Pin des Arduino gespeist. Da wir einen 12-V-Adapter verwenden, um das Arduino mit Strom zu versorgen, gibt der Vin-Pin 12 V aus, mit dem der Magnet gesteuert werden kann. Der Minuspol des Magneten ist über die Source- und Drain-Pins des MOSFET mit Masse verbunden. Der Magnet wird also nur mit Strom versorgt, wenn der MOSFET eingeschaltet ist.
Der Gate-Pin des MOSFET wird zum Ein- oder Ausschalten verwendet. Sie bleibt ausgeschaltet, wenn der Gate-Pin geerdet ist, und wird eingeschaltet, wenn eine Gate-Spannung angelegt wird. Um den MOSFET ausgeschaltet zu halten, wenn keine Spannung an den Gate-Pin angelegt wird, wird der Gate-Pin über einen 10k-Widerstand gegen Masse gezogen. Der Arduino-Pin 12 wird zum Ein- oder Ausschalten des MOSFET verwendet, sodass der D12-Pin über einen 1K-Widerstand mit dem Gate-Pin verbunden ist. Dieser 1K-Widerstand wird zur Strombegrenzung verwendet.
Der Ultraschallsensor wird von den + 5V- und Erdungsstiften des Arduino gespeist. Der Echo- und Trigger- Pin ist mit Pin 8 bzw. Pin 9 verbunden. Wir können den Arduino dann so programmieren, dass er mithilfe des Ultraschallsensors die Entfernung misst und den MOSFET einschaltet, wenn ein Objekt erkannt wird. Die gesamte Schaltung ist einfach und kann daher leicht auf einem Steckbrett aufgebaut werden. Meins sah nach dem Herstellen der Verbindungen ungefähr so aus.
Programmierung des Arduino Boards
Für dieses Projekt müssen wir ein Programm schreiben, das den Ultraschallsensor HCSR-04 verwendet, um die Entfernung des Objekts davor zu messen. Wenn der Abstand weniger als 10 cm beträgt, müssen wir den MOSFET einschalten und sonst müssen wir den MOSFET ausschalten. Wir werden auch die integrierte LED verwenden, die an Pin 13 angeschlossen ist, und sie zusammen mit dem MOSFET umschalten, damit wir sicherstellen können, dass der MOSFET ein- oder ausgeschaltet ist. Das vollständige Programm dazu finden Sie am Ende dieser Seite. Gleich unten habe ich das Programm erklärt, indem ich es in kleine aussagekräftige Schnipsel zerlegt habe.
Das Programm beginnt mit der Definition von Makros. Wir haben den Trigger- und Echo- Pin für den Ultraschallsensor und den MOSFET-Gate-Pin und die LED als E / A für unser Arduino. Wir haben also definiert, mit welchem Pin diese verbunden werden sollen. In unserer Hardware haben wir das Echo und Trigger - Pin auf 8 und 9 verbunden ten digitalen Stift verbunden. Dann wird der MOSFET-Pin mit Pin 12 verbunden und die integrierte LED ist standardmäßig mit Pin 13 verbunden. Wir definieren dasselbe anhand der folgenden Zeilen
# Trigger definieren 9 # Echo definieren 8 # LED definieren 13 # MOSFET definieren 12
Innerhalb der Setup- Funktion deklarieren wir , welche Pins eingegeben und welche ausgegeben werden. In unserer Hardware ist nur der Echo- Pin des Ultraschallsensors (US) der Eingangspin und alle anderen sind Ausgangspins. Daher verwenden wir die PinMode- Funktion von Arduino, um dasselbe wie unten gezeigt anzugeben
pinMode (Trigger, OUTPUT); pinMode (Echo, INPUT); PinMode (LED, OUTPUT); PinMode (MOSFET, OUTPUT);
Innerhalb des Hauptschleifenfunktion wir Aufruf der Funktion namens measure_distance (). Diese Funktion misst mit dem US-Sensor die Entfernung des Objekts davor und aktualisiert den Wert auf die Variable ' Entfernung' . Um die Entfernung mit dem US-Sensor zu messen, muss der Triggerstift zuerst zwei Mikrosekunden lang niedrig und dann zehn Mikrosekunden lang hoch und erneut zwei Mikrosekunden lang niedrig gehalten werden. Dadurch wird ein Schallstoß von Ultraschallsignalen in die Luft gesendet, der vom Objekt vor ihm reflektiert wird, und der Echostift nimmt die von ihm reflektierten Signale auf. Dann verwenden wir den Zeitwert, um die Entfernung des Objekts vor dem Sensor zu berechnen. Wenn du wissen willst