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 zu Ludwig EDER Antworten abbrechen

Pflichtfelder sind mit * markiert.