Wassermelder mit Ölmelder: Unterschied zwischen den Versionen
Dl8rds (Diskussion | Beiträge) |
Dl8rds (Diskussion | Beiträge) (→Bilder) |
||
Zeile 130: | Zeile 130: | ||
[[Image:2019-04-20-wassermelder-oelmelder1.jpg|400px]] [[Image:2019-04-20-wassermelder-oelmelder2.jpg|400px]] | [[Image:2019-04-20-wassermelder-oelmelder1.jpg|400px]] [[Image:2019-04-20-wassermelder-oelmelder2.jpg|400px]] | ||
− | [[Image:2019-04-20-wassermelder- | + | [[Image:2019-04-20-wassermelder-oelmelder5.jpg|400px]] [[Image:2019-04-20-wassermelder-oelmelder4.jpg|400px]] |
− | [[Image:2019-04-20-wassermelder- | + | [[Image:2019-04-20-wassermelder-oelmelder3.jpg|400px]] [[Image:2019-04-20-wassermelder-oelmelder6.jpg|400px]] |
[[Image:2019-04-20-wassermelder-oelmelder7.jpg|400px]] [[Image:2019-04-20-wassermelder-oelmelder8.jpg|400px]] | [[Image:2019-04-20-wassermelder-oelmelder7.jpg|400px]] [[Image:2019-04-20-wassermelder-oelmelder8.jpg|400px]] |
Version vom 20. April 2019, 17:58 Uhr
Inhaltsverzeichnis
1 Projektberschreibung
Das gebaute Gerät soll erkennen, ob ein Öltank leckt. Da am Boden des Öltanks Wasser vermutet wird, soll ein Wassermelder angesteuert werden, zudem sollen Dämpfe detektiert werden.
2 Komponenten
- Kunststoffgehäuse
- 2 Platinen
- Kemo Waterswitch https://www.voelkner.de/products/83008/Kemo-Wassermelder-Baustein-M158-9-V-DC-12-V-DC.html
- Passiv PoE Injektor https://www.mikrotik-shop.de/Stromversorgung/Gigabit-PoE-Injector-schwarz::1617.html
- DC DC Wandler (LM 2596 DC -DC Buck converter) https://www.youtube.com/watch?v=QPntXt8Ea3s
- MQ2 Detektor https://www.watterott.com/de/Analog-Smoke/LPG/CO-Gas-Sensor-MQ2
- 5V FTDI Breakout https://www.sparkfun.com/products/9716
- Arduino Ethernet Pro https://www.sparkfun.com/products/retired/10536
- Abstandshalter aus Metall
- Selbstsichernde Muttern M3
- Diverse Schrauben M3
3 Software
Es wurde der Webserver-Sketch verwendet, mit einer geringfügigen Abwandlung
#include <SPI.h> #include <Ethernet.h> // Enter a MAC address and IP address for your controller below. // The IP address will be dependent on your local network: byte mac[] = { 0xEA, 0xA1, 0x23, 0x04, 0xFE, 0xED }; IPAddress myIP; // Initialize the Ethernet server library // with the IP address and port you want to use // (port 80 is default for HTTP): EthernetServer server(80); void setup() { // Open serial communications and wait for port to open: Serial.begin(9600); while (!Serial) { ; // wait for serial port to connect. Needed for Leonardo only } // start the Ethernet connection and the server: myIP = Ethernet.begin(mac); // while (!myIP) { // ; // } server.begin(); Serial.print("server is at "); Serial.println(Ethernet.localIP()); } void loop() { // listen for incoming clients EthernetClient client = server.available(); if (client) { Serial.println("new client"); // an http request ends with a blank line boolean currentLineIsBlank = true; while (client.connected()) { if (client.available()) { char c = client.read(); Serial.write(c); // if you've gotten to the end of the line (received a newline // character) and the line is blank, the http request has ended, // so you can send a reply if (c == '\n' && currentLineIsBlank) { // send a standard http response header client.println("HTTP/1.1 200 OK"); client.println("Content-Type: text/html"); client.println("Connection: close"); // the connection will be closed after completion of the response client.println("Refresh: 5"); // refresh the page automatically every 5 sec client.println(); client.println("<!DOCTYPE HTML>"); client.println("<html>"); // output the value of each analog input pin int wassersensor = analogRead(0); if (wassersensor > 512) { client.print("WASSERSENSOR: ALARM: WASSERSENSOR AKTIV<br/>"); Serial.println("WASSERSENSOR: ALARM: WASSERSENSOR AKTIV"); } else { client.print("WASSERSENSOR: OK</br>"); Serial.println("WASSERSENSOR: OK"); } int gassensor = analogRead(1); client.print("GASSENSOR: "); client.print(gassensor); client.print("<br/>"); Serial.print("GASSENSOR: "); Serial.print(gassensor); client.println("</html>"); break; } if (c == '\n') { // you're starting a new line currentLineIsBlank = true; } else if (c != '\r') { // you've gotten a character on the current line currentLineIsBlank = false; } } } // give the web browser time to receive the data delay(1); // close the connection: client.stop(); Serial.println("client disonnected"); } }
4 Erfahrungswerte
Auch wenn auf dem Arduino drauf steht, daß er mit bis zu 12 Volt versorgt werden kann, sollte er nur mit Spannungen unter 9V betrieben werden. Das KEMO Modul arbeitet mit Spannungen von ab 8 Volt, daher ergibt sich ein Spannungsbereich von 1 Volt, mit dem beide Komponenten miteinander betrieben werden können. Der DC Wandler kann auf diesen Spannungsbereich eingestellt werden.
Dies ist vor allem aus Rücksicht über die hohe Abwärme-Abgabe des Spannungswandlers auf dem Arduino selbst und die hohe Abwärme des WizNet-Chips sinnvoll.