ESP8266 Arduino Masterfirmware DHT22, 1Wire und Taster

Mein ESP8266 Projekt Code ist gewachsen und hat einige neue Details.
Mit dem ESP 1 wären mir natürlich bereits die Pin’s ausgegangen derzeit arbeite ich mit einem Olimex ESP aus der IoT Serie.
Andere sind bereits am Weg 🙂 .

Hinzu gekommen ist:
-DHT22 Sensor
-2 Taster Schaltung die einen Ausgang schalten
-Delays ersetzt durch Zeitberechnungen
-vereinfachte Bedienung
-ausgliederung in einzelne Funktionen

„ESP8266 Arduino Masterfirmware DHT22, 1Wire und Taster“ weiterlesen

WhatIf in Powershell

Jetzt mal ganz ehrlich, jeder macht mal Fehler in der Powershell und schwups die Datei, der Ordner oder das Zertifikat ist geändert bzw. gelöscht was man eigentlich nicht so direkt wollte. Abhilfe schafft hier die Variable $WhatifPreference bzw. $PSDefaultParameterValues

„WhatIf in Powershell“ weiterlesen

Arduino – Temperatur messen mit 1Wire Sensor DS18S20/DS18B20/DS1820

Der OneWire Sensor DS18x20 ist günstig und einfach in der Anwendung.
Hier meine Anleitung wie Ihr den Sensor am Arduino in Betrieb nehmt.

Was wir benötigen:

-OneWire Sensor – Wasserdicht oder eine einfache Variante
Arduino IDE
OneWire Library
4,7 kOhm Widerstand zB. von eBay

Falls noch nicht vorhanden, die Arduino IDE downloaden und entpacken.
Das gleiche machen wir mit der OneWire Library und kopieren diese anschließend in den Arduino IDE Ordner unter den Pfad \arduino-1.0.6\libraries .

Der Sensor muss auch noch am Arduino verkabelt werden dies ist recht einfach, wie Ihr im Bild sehen könnt.
Wenn Ihr die flache Seite anseht, ist der linke Kontakt Ground (GND), der Rechte für +5V (würde auch mit 3,3V funktionieren) und in der Mitte ist er Kontakt für die Daten/Kommunikation in unserem Fall ist das PIN 2.
Arduino OneWire

Solltet Ihr einen Wasserdichten Sensor haben (wie im Bild) schließt Ihn so an:

Schwarz = GND
Gelb bzw. Weiß = Daten
Rot = +5V
DS18B20 Waterproof

Zwischen dem Plus und dem Daten Kontakt benötigen wir nun noch den 4,7 kOhm Widerstand wie oben im Bild eingezeichnet, in der Praxis hab ich es auf meinem Breadboard so gelöst wie im Bild unterhalb.

DS18B20 Resistor

Die Hardware ist somit fertig, weiter geht es mit dem Code.

Der Code is sehr einfach und sparsam gehalten (sollte das Projekt größer werden),
getestet wurde er in der Arduino IDE 1.0.4 und 1.0.6.

Uploaden und im Serial Monitor die Messdaten betrachten.

Falls in der Ausgabe -1000 oder CRC is not valid steht habt ihr ein Problem mit der Verkabelung.

 

 

Viel Spaß beim Messen 😉

 

Arduino – Temperatur messen und mit Webserver ausgeben – DHT22 DHT11 AM2302

Der Arduino mit Ethernetshield ist eine tolle Sache, den hiermit hat man die Möglichkeit Ergebnisse des laufenden Sketch anzuzeigen.
In meinem Fall wird die Temperatur und Luftfeuchtigkeit auf dem Webserver ausgegeben.

ACHTUNG: es gibt einige verschiedene Versionen der DHT.h Library mein Sketch/Code bezieht sich auf die DHT.h von hier https://github.com/markruys/arduino-DHT
bzw. hier ist der download -> https://github.com/markruys/arduino-DHT/archive/master.zip

NUR mit diesem File lässt sich der Code kompilieren und uploaden.

Wenn ihr den Code verwendet müsst ihr folgendes anpassen:

  • „define DHTPIN 2“ -> die Anschlussnummer des Daten PIN‘s
  • „define DHTTYPE DHT22“ -> auf den Sensor den Ihr einsetzt, Auswahlmöglichkeiten: DHT11, DHT22, AM230, RHT03
  • die MAC Adresse
  • die IP Adresse
  • evt den Port des Webservers
  • falls ihr LED’s einsetzten wollt auch die Ports dafür

Solltet ihr keine LED’s verwenden wollen ist dies ohne Änderung des Codes auch möglich.

Wie die HTML Seite aussehen soll könnt ihr unterhalb von „//read and setup temperature“ selbst gestalten. In meinem Code ist es für das Auge nicht sehr schön was die Webseite ausgibt, da die Werte später von einem Skript abgegriffen werden ist es aber auch nicht von Relevanz.

Ansonsten ist das Skript sehr einfach gehalten und läuft nun seit ca. 1 Woche im Dauertest und dies problemlos.

Verkabelt sieht es so aus:

DHT11_Steckplatine

 

Sensor PIN’s von links nach rechts:

Pin1 = VCC (5V)
Pin2 = Data
Pin3 = nichts
Pin4 = GND

Pin 1 und Pin2 werden mit einem 10k Ohm Widerstand verbunden
(wie im Bild ersichtlich)

Viel Spaß mit dem Code:

Edit 13.07.2015