Temperatur mit dem NodeMCU messen

Inspiriert vom Golem.de Temperatur im Büro-Projekt habe ich einen NodeMCU genutzt um die Temperatur zu messen. Auf der Teileliste stehen dabei folgende Bauteile:

  • NodeMCUv3-Board
  • Temperatursensor DS18B20
  • Widerstand (4,7 kOhm)
  • Verbindungskabel (6x)

Diese Teile müssen nun wie folgt auf dem Board angebracht werden:

Die fertige Schaltung

Anschließend kann das NodeMCU-Board mit dem passenden Programmcode bestückt werden:

#include <OneWire.h>
#include <DallasTemperature.h>

OneWire oneWire(D2);
DallasTemperature sensors(&oneWire);
DeviceAddress thermometer;

void setup(void) {
  Serial.begin(115200);

  sensors.begin();
  sensors.getAddress(thermometer, 0); 
  sensors.setResolution(thermometer, 12);
}

void loop() {

  Serial.println("Read temperature...\n");
  sensors.requestTemperatures(); 
  
  float temperature = sensors.getTempC(thermometer); 
  Serial.println(temperature);

  delay(5000);
}

In dem Programm wird zuerst eine One-Wire-Verbindung definiert und in der setup-Methode die Verbindung konfiguriert. Anschließend wird in der loop-Methode alle fünf Sekunden die Temperatur ausgelesen und in die serielle Konsole geschrieben.

2 Kommentare » Schreibe einen Kommentar

  1. Hallo,

    habe obigen Sketch eingegeben, aber es kommt die Meldung ‚D2‘ was not declared in this scope. Wo liegt der Fehler. Ich bin blutiger Anfänger.

    Gruß

    • Hallo,

      D2 ist einer der PINs des NodeMCU-Boards. Das NodeMCU wiederum ist ein Entwicklerboard für den ESP8266. Was hier wahrscheinlich fehlt ist die Einrichtung des NodeMCU-Boards in der Arduino-IDE. In einem anderen Artikel (https://seeseekey.net/archive/118843/) hatte ich das Ganze mal beschrieben. Nach der Einrichtung des Boards, sollte die Konstante D2 bekannt sein und das Programm kompilieren.

Schreibe einen Kommentar

Pflichtfelder sind mit * markiert.