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.