Home Weather Station
Autoren: Dennis Kononenko & Markus Belsch
Betreuer: Prof. Göbel & Prof. Schneider
→ zurück zur Übersicht: Kategorie:ProjekteET_MTR_BSE_WS2021
Einleitung
Die "Home Weather Station (HWS)" ist ein Projekt, welches im Rahmen des GET Fachpraktikums im 5. Semester des Studiengang Mechatronik erstellt wurde. Das Ziel der HWS ist es lokale Wetterdaten, wie Windgeschwindigkeit, Temperatur, Niederschlag, und Luftfeuchtigkeit zu sammeln und auf einem Bildschirm anzuzeigen.
Anforderungen
ID | Inhalt | Ersteller | Datum | Geprüft von | Datum |
---|---|---|---|---|---|
1 | Messung von Windgeschwindigkeit, Niederschlag, Temperatur, Luftfeuchtigkeit | Dennis Kononenko & Markus Belsch | |||
2 | Auswertung und Umrechnung der gemessenen Daten | Dennis Kononenko & Markus Belsch | |||
3 | Anzeigen von Windgeschwindigkeit, Regenmenge, Temperatur, Luftfeuchtigkeit auf Display | Dennis Kononenko & Markus Belsch | |||
4 | Wetterfeste Konstruktion (Gehäuse) | Dennis Kononenko & Markus Belsch |
Funktionaler Systementwurf/Technischer Systementwurf
Sensor | Funktion | ||
---|---|---|---|
Anemometer | Eingebauter Gleichstrommotor erzeugt messbare Spannung, je schneller die Drehbewegung, desto mehr Spannung | ||
Wasserstandssensor | Wasserkontakt verbindet Leiterbahnen auf Sensor, dadurch erhöht sich der Stromfluss | ||
Temperatursensor | Messung über temperaturabhängigen Widerstand | ||
Luftfeuchtigkeit | Erhöhte Luftfeuchtigkeit sorgt für veränderte Eigenschaften des Dielektrikums, und als Folge ändert sich die Kapazität des Kondensators | ||
Komponentenspezifikation
Komponente | Beschreibung | Bild | |
---|---|---|---|
Arduino Uno | Standard Arduino-Uno | ||
Breadboard | Es wurden 2 Breadboards benötigt. Das Erste befindet sich im Gehäuse und dient als Anschluss für die +/- Eingänge der verschiedenen Sensoren, sowie als Verschaltung für das Anemometer. Das Zweite Breadboard befindet sich auf der HWS und birgt die 3 LEDs. | ||
Anemometer | Das Anemometer stammt vom Hersteller Froggit (Modellnummer: WD321). Das Anemometer liefert keinen direkten Messwert in m/s. Dieser muss vielmehr mittels Software umgerechnet werden. (siehe Kapitel Umsetzung-SW) | ||
Tropfensensor | Der Tropfensensor entspricht demjenigen aus dem Funduino-Baukasten. Er gibt Messwerte im Bereich von 0 bis 1023 aus, je nach Menge an Wasser auf dem Sensor. Auf dem Sensor befinden sich parallel verlaufende Kontaktstellen. Sobald ein Wassertropfen auf dem Sensor gelandet ist, ist eine leitende Verbindung zwischen den Kontaktstellen hergestellt. Daraus wird dann ein analoges Signal abgeleitet. | ||
Temperatursensor | Der Temperatursensor entspricht demjenigen aus dem Funduino-Baukasten. ACHTUNG: Der Sensor muss unbedingt richtig herum angeschlossen werden: Von der flachen Seite des Sensor aus gesehen: links - 5V / mitte - Signal / rechts - GND. Bei umgekehrtem 5V/GND kann der Sensor (wie bei Durchführung dieses Projektes) durchbrennen. | ||
I2C-LCD | Das LCD-Display entspricht demjenigen aus dem Funduino-Baukasten. Auf der Rückseite kann ein Potentiometer (dient der Einstellung vom Kontrast) mittels Kreuz-Schraubendreher eingestellt werden. | ||
Widerstand | Für das Projekt wurden 2x 220Ohm Widerstände benötigt | ||
Kondensator | Ein 100nF Kondensator wurde benötigt, um das Messsignal vom Anemometer zu glätten und dadurch etwas verlässlichere Werte zu erhlaten. | ||
LEDs | 3 LEDs (grün, gelb, rot) sollten den "Gefahrengrad" der jeweiligen Messung (Regen, Temperatur, Wind) anzeigen. |
Umsetzung (HW/SW)
Die Verschaltung wurde im obigen Bild mit dem Fritzing-Tool dargestellt. | ||
Das Anemometer besitzt 1 Eingang und 1 Ausgang. Der Eingang ist direkt mit 5V verbunden, der Ausgang geht in einen Parallel-Schaltkreis aus einem 220Ohm Widerstand und 100nF Kondensator. Dies sollte verlässlichere (und geglättete) Messwerte liefern. | ||
Das I2C-LCD-Display musste natürlich ebenfalls mit 5V/GND verbunden werden. Zudem gibt es einen SCL-(Serial-Clock)-Pin und einen SDL-(Serial-Data)-Pin. Diese beiden Pins wurden an die entsprechenden Pins am Arduino angeschlossen. Somit konnte das Display Text, Zahlen und Messwerte ausgeben. | ||
Die 3 LEDs (rot, gelb, grün) wurden über einen Vorwiderstand von 220 Ohm und auf die DIGITAL-Pins 4,5 und 6 gelegt. Dies machte die Programmierung entsprechend einfach: Der jeweilige Pin wurde auf HIGH gesetzt, damit leuchtete die zugehörige LED dann. | ||
Der SIGNAL-Ausgang vom Temperatursensor ging auf ANALOG-0, der SIGNAL-Ausgang vom Tropfensensor wurde auf ANALOG-1 gesetzt. | ||
Als Spannungsquelle dient eine 9V-Batterie. | ||
Die Software wurde in Arduino (bzw. C) programmiert. Das Programm beinhaltete die Einbindung von Bibliotheken für das LCD-Display. Die measure() Funktion sorgt dafür, dass das Anemometer über eine Zeitmessung auf die jeweilige Windgeschwindigkeit kommt. Innerhalb der Loop-Funktion erfolgt dann das Auslesen von Tropfensensor und Temperatursensor, sowie das Beschreiben des Displays. Außerdem erfolgt hier das setzen des HIGH-Signals auf PIN 4/5 oder 6. Je nachdem, welche Kondition wahr ist (if-Abfrage) wird ein anderer PIN auf HIGH gesetzt und eine andere LED leuchtet auf. |
Komponententest
Ergebnis
Zusammenfassung
Lessons Learned
Projektunterlagen
Projektplan
Projektdurchführung
YouTube Video
Weblinks
Literatur
→ zurück zur Übersicht: WS 21/22: Angewandte Elektrotechnik (BSE)