Mktronixx Arduino, Elektronik und Mehr

Smarte Wäscheklammer

Smarte Wäscheklammer

Smarte Wäscheklammer

Dies ist eine Wäscheklammer die euch über das WLAN oder auch über das Internet (wenn ihr Port-Forwarding aktiviert) informiert, in wie weit die Wäsche schon getrocknet ist.

Arduino-Projekt:

Download Button

Download: https://www.mktronixx.de/arduino/esp12waecheklammer2.ino.zip

Eagle-Dateien (Schaltplan und Board):

Download Button

Download: https://www.mktronixx.de/arduino/elektronischeWächeklammerEagle.zip

Was ihr Braucht:

  1. ESP12-E oder ESP12F Modul (Mit ESP01 wird das nicht funktionieren, da dieses zu wenig GPIOs hat)
  2. Geätzte Leiterplatte (siehe Eagle-Dateien)
  3. oder Breadboard und Pin-Adapterplatine für das ESP-Modul
  4. USB zu Seriell-Wandler (Ich empfehle Module mit dem FT232RL)
  5. Spannungswandler auf 3,3V mit 1A (z.B. LF33CV)
  6. 2x Elektrolytkondensator 100µF
  7. 2x Keramikkondensator 100nF
  8. Poti 1 kOhm
  9. Poti 10 kOhm
  10. Poti 100kOhm
  11. Widerstand 330 Ohm
  12. Spannungsquelle (z.B. USB-Stecker)
  13. Wäscheklammer
  14. Draht
  15. Schaltlitze
  16. Lötkolben und Lötzeug
  17. WLAN 2,4 GHZ

Für die Kontakte an der Klammer habe ich einfach Schaltdraht mit dem Lötkolben erwärmt und dann durch das Plastik gedrückt. Anschließend wird der Draht auf der von den Klamotten abgewandten Seite verdrillt und dann ein Stück Litze angelötet um den Kontakt elektrisch anzuschließen. Es empfiehlt sich die beiden Kontakte auf die selbe Seite der Klammer zu machen, damit der später angezeigte Trocknungswert nicht von der Klamottendicke anhängt.

Hinweise zum Sketch und zur Programmierung:

Das Programm hier ist im Moment ein Webserver der auf Port 80 auf Verbindungen lauscht. Es verbindet sich als Gerät in euren heimischen WLAN. Dafür müsst ihr im Programmcode noch eure SSID (wie euer Netzwerk heißt) und euer Passwort eingeben. Ihr könnt den aktuellen Trocknungsgrad über eine Website auslesen.

Ich plane allerdings irgendwann das IoT-Protokoll MQTT zu implementieren. Falls ihr schneller seid, könnt ihr mir euren Programmcode auch zuschicken.

WLAN Einstellungen im Programmcode
WLAN Einstellungen

Um das ESP-Modul zu Programmieren benötigt ihr einen USB-Seriell-Wandler wie z.B. den FT232RL. Kauft am besten ein entsprechendes Modul was sich auf 3.3V umschalten lässt. Um den ESP zu programmieren muss zuerst die ESP-Hardware-Libary in der Arduino IDE Installiert werden. Ab Arduino 1.6.5 klickt man dazu auf Datei->Voreinstellungen und trägt bei zusätzliche Boardverwalter-URLs folgendes ein:

http://arduino.esp8266.com/stable/package_esp8266com_index.json

Falls dort schon etwas steht, bitte mit Komma abtrennen. Bei Problemen bitte folgendes ausprobieren:

https://github.com/esp8266/Arduino/releases/download/2.3.0/package_esp8266com_index.json


IDE-Einstellingen
Link in den Einstellungen einfügen (Klick vergrößert)

Anschließend unter Werkzeuge->Board->Boardverwalter nach ESP8266 suchen und installieren.

Nun als Board Generic ESP8266 Module wählen:
Flashsize: 512k,
Debug Port: Dissabled, Debuglevel: Keine,
Reset Method: ck,
Flash Frequency: 40Mhz,
CPU Frequency: 80Mhz,
Uploadspeed: 115200.

Um das Modul zu programmieren muss GPIO0 (GPIO-Null) auf Masse gelegt werden. TXD am FTDI-Modul wird mit RXD am Chip und umgekehrt verbunden.
Achtung! Nicht jedes FTDI-Modul kann eine 3,3V Logikspannung! Bei diesen die das nicht können, ist unbedingt einen Spannungsteiler in der TXD-Leitung (=TXD am FTDI Modul, RXD am ESP) zu verwenden! Dieser setzt sich aus 2 Widerständen von je 1 und 2 Kiloohm zusammen. Die Stromversorgung sollte extra bereitgestellt werden, nicht den 5V-Pin des FTDI-Moduls verwenden, dieser liefert zu wenig Strom. Stattdessen das Modul aus einen Netzteil versorgen, unbedingt 3,3V Spannungsregler verwenden!
Nun wird das FTDI-Modul mit dem PC verbunden. In der Arduinosoftware ist anschließend der entsprechende Port zu wählen. Nun Upload Klicken. Sobald in der Arduinosoftware "Hochladen..." steht, ist die Massebrücke an GPIO0 zu entfernen. Nun nichts mehr anfassen, bis das Sketch hochgeladen wurde. Fertig!

Mehr Information zur Programmierung der ESP-Module gibt es hier: https://arduino-hannover.de/2015/04/08/arduino-ide-mit-dem-esp8266/

Hinweiße zum Schaltplan:

Klammer Schaltplan
Schaltplan (Klick vergrößert)

Ihr habt euch bestimmt gefragt, warum ich die Kontakte der Klammer nicht direkt an die Versorgungsspannung angeschlossen habe.
Nun das hat damit zu tun, das ansonsten immer ein Strom fließen würde, welcher mit der Zeit die Kontakte korrodieren lassen würde. Ich handhabe das so, das ich nur im Moment des Messens Kurz Spannung anlege. Außerdem lass ich den Messstrom kurz in verschiedene Richtungen fließen um das Problem noch ein wenig zu minimieren.

Das EAGLE-Board aus dem Download habe ich nie in der Realität gefertigt. Es kann sein, das es beim Ätzen Probleme macht oder irgend etwas nicht passt.

Benutzung:

Nachdem die Klammer an die nasse Wäsche geklammert und eingeschaltet wurde, ist die IP des Moduls im Browser aufzurufen. Sie lässt sich zum Beispiel einfach über die Android APP "Fing" herausfinden. (Mit Apple hingegen kenne ich mich nicht aus.)
Es empfiehlt sich IP/Mac-Bindig im Router für das Modul einzurichten, um immer die gleiche IP zu haben. Nun sollte das Modul an den Potis kalibriert werden, bis gerade so 0.00% angezeigt werden. Dazu die Webseite manuell aktualisieren, denn das automatische Aktualisieren findet nur alle 30 Sekunden statt. Dieser Schritt muss bei jeder Verwendung wiederholt werden. Eine automatische Kallibiriung werde ich demnächst integrieren.

Mit dieser Konfiguration lässt sich das Modul nur im heimischen WLAN aufrufen. Um es auch das Internet aufrufen zu können, muss am Router Port Forwarding eingerichtet werden. Achtung! Dies kann auch Gefahren in sich bergen!