Dies ist eine alte Version des Dokuments!


DHT11 Sensor mit Arduino Ethernet Shield und ThingSpeak

Da mein Rondostat HR20E, ein automatisches Heizkörperthermostat, unter der Woche einen Ausfall hatte und abends einen Raum mit sommerlichen 30°C vorgefunden habe, habe ich mir ein kleines Projekt zusammengestellt, mit dem ich die aktuellen Messwerte ins Internet stellen kann, um zu kontrollieren, ob das Thermostat mal wieder spinnt. Die Wahl für den Datendienst fiel relativ schnell auf ThingSpeak, da hier eine gute Arduino Unterstützung vorhanden ist.

In meiner Hardware-Grabbelkiste habe ich außerdem einen DHT11 Temperatur- und Luftfeuchtigkeitssensor gefunden, der mit 5V betrieben wird und damit direkt an den Arduino angeschlossen werden kann, was den Aufbau natürlich vereinfacht. Ein Arduino Ethernet Shield stellt die Verbindung zum Internet her.

Hardware

Die Hardware ist aus den bereits genannten Gründen nichts besonderes. Das Arduino Ethernet Shield wird einfach nur auf den Arduino UNO aufgesteckt und das war es schon. Den DHT11 Sensor verbindet man dann noch mit +5V, GND und - in meinem Fall - mit Pin 7 des Ethernet Shields. Die Folgende Fritzing Skizze zeigt das ganz schön.

Software

Die Software basiert im Prinzip aus drei Komponenten:

  • Ethernet Shield initialisieren
  • DHT11 Sensor ansprechen
  • ThingSpeak Kanal aktualisieren

Um das Ethernet Shield im Arduino Sketch anzusprechen, muss die Zeile

#include <Ethernet.h>

zu Beginn des Sketches eingefügt werden. Danach folgt die Konfiguration der Netzwerkadressen. Eine Konfiguration per DHCP ist auch möglich, weiteres findet man dazu in der offiziellen Referenz zum Arduino Ethernet Shield. Die eigentliche Initialisierung erfolgt dann in der „setup“-Methode mit

Ethernet.begin(mac, ip, myDns, gateway, subnet);
elektronik/dht11_sensor_mit_arduino_ethernet_shield_und_thingspeak.1454961826.txt.gz · Zuletzt geändert: 2016/02/08 21:03 von octoate
CC Attribution-Noncommercial-Share Alike 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0