🍪 Privacy & Transparency

We and our partners use cookies to Store and/or access information on a device. We and our partners use data for Personalised ads and content, ad and content measurement, audience insights and product development. An example of data being processed may be a unique identifier stored in a cookie. Some of our partners may process your data as a part of their legitimate business interest without asking for consent. To view the purposes they believe they have legitimate interest for, or to object to this data processing use the vendor list link below. The consent submitted will only be used for data processing originating from this website. If you would like to change your settings or withdraw consent at any time, the link to do so is in our privacy policy accessible from our home page..

Vendor List | Privacy Policy
Skip to content

Technik Blog

Programmieren | Arduino | ESP32 | MicroPython | Python | Raspberry PI

Menu
  • Projekte
    • LED’s
    • Servo & Schrittmotoren
    • Sound
    • LCD’s
    • Kommunikation
    • Sicherheit
    • Weekend Project
  • Arduino
    • Tutorials
    • ProMini
      • Anschließen & Programmieren
    • Nano
      • Arduino Nano – Übersicht
    • UNO
      • Übersicht
    • MEGA 2560
      • Übersicht
    • Leonardo
      • Übersicht
    • NodeMCU
      • NodeMCU – “Einer für (fast) Alles!”
    • Lilypad
      • Arduino: Lilypad “Jetzt Geht’s Rund!”
    • WEMOS
      • WEMOS D1 – Arduino UNO kompatibles Board mit ESP8266 Chip
      • WEMOS D1 Mini – Übersicht
      • Wemos D1 mini Shields
    • STM32x
      • STM32F103C8T6 – Übersicht
    • Maker UNO
      • Maker UNO – Überblick und Test
    • ATTiny85
      • Mini Arduino mit ATTiny85 Chip
      • ATtiny85 mit dem Arduino UNO beschreiben
  • Android
  • Über mich
  • DeutschDeutsch
  • EnglishEnglish
Menu

Arduino Lektion 81: ESP-01S Temperatursensorshield DS18B20

Posted on 8. Februar 201926. Oktober 2022 by Stefan Draeger

In diesem Tutorial möchte ich das Temperatursensor Shield DS18B20 für den ESP-01S vorstellen.

Temperatursensorshield DS18B20 für den ESP-01s
Dieses Video auf YouTube ansehen.

Bezug

Das Shield kann für ca. 1,8 € inkl. Versandkosten bei ebay.de bestellt werden.

ESP-01S DS18B20
ESP-01S DS18B20

Technische Daten

  • Betriebsspannung 3,7V bis max. 12V
  • Temperatur Messbereich  -55 °C und +125 °C
  • Abmaße 25 mm x 21 mm

Aufbau des Shields

Aufbau des Temperaturshields
Aufbau des Temperaturshields

Schaltung

Die Schaltung ist relativ einfach denn der ESP-01s wird lediglich „nur“ auf den Sockel gesteckt und das Shield mit Spannung versorgt.

Beim Aufstecken sollte man auf den kleinen weißen Pfeil achten, dieser gibt die Richtung vor wie der ESP-01s aufgesteckt wird.

ESP-01S Temperaturshield DS18B20
ESP-01S Temperaturshield DS18B20

Quellcode

Für den nachfolgenden Sketch benötigt man 2 zusätzliche Bibliotheken

  • DallasTemperature
  • OneWire

Diese beiden Bibliotheken werden über den Bibliotheksverwalter installiert.

Bibliothek "DallasTemperature"
Bibliothek „DallasTemperature“

Bibliothek "OneWire"
Bibliothek „OneWire“

#include <ESP8266WiFi.h>
#include <ESP8266WebServer.h>
#include <DallasTemperature.h>

#define ONE_WIRE_BUS 2  //Sensor DS18B20 am digitalen Pin 2

OneWire oneWire(ONE_WIRE_BUS); //

//Übergabe der OnewWire Referenz zum kommunizieren mit dem Sensor.
DallasTemperature sensor(&oneWire);

const char* ssid = ""; //SSID aus dem Router
const char* password = ""; //Passwort für den Zugang zum WLAN

ESP8266WebServer server(80); //Port auf welchem der Server laufen soll. 

void setup() {
  delay(10); //10ms. Warten damit die Seriele Kommunikation aufgebaut wurde.
 
  WiFi.begin(ssid, password); //Initialisieren der Wifi Verbindung.
 
  while (WiFi.status() != WL_CONNECTED) { //Warten bis die Verbindung aufgebaut wurde.
    delay(500);
  }

  server.on("/tempsensor", callTempsensor);
  
  server.begin(); // Starten des Servers.
  sensor.begin(); //Starten der Kommunikation mit dem Sensor
}

void loop() {
 server.handleClient();
}

void callTempsensor(){ 
  sensor.requestTemperatures();
  String celsiusValue = String(sensor.getTempCByIndex(0));
  String fahrenheitValue = String(sensor.getTempFByIndex(0));
  String jsonRespond = "{\"celsius\": \""+String(celsiusValue)+"\" , \"fahrenheit\": \""+String(fahrenheitValue)+"\" }";
  server.send(200, "application/json", jsonRespond);  
}

Wenn man nun das Sketch auf dem ESP-01s kopiert hat und den Mikrocontroller auf das Shield gesteckt hat muss man nun noch die Betriebsspannung anlegen. Ich nutze dazu eine 9V Batterie, welche über ein Power-Modul auf 5V heruntergeregelt wird.

Aufbau, Schaltung ESP01s DS18B20 Shield
Aufbau, Schaltung ESP01s DS18B20 Shield

Nachdem nun die Spannung anliegt versucht sich der ESP-01S in das WLAN Netzwerk anzumelden. Wenn man nun die IP-Adresse des ESP-01S in einem Browser eingibt, dann öffnet sich folgende Seite:

ESP-01S , DS18B20 Shield, JSON Respond
ESP-01S , DS18B20 Shield, JSON Respond

7 thoughts on “Arduino Lektion 81: ESP-01S Temperatursensorshield DS18B20”

  1. Hendrik Ruhbaum sagt:
    19. April 2019 um 16:35 Uhr

    Hallo Stefan,

    Ich befasse mich seit gut 1 Jahr mit den Arduinos und den China Klons. Habe schon diverse Sachen zum Laufen gebracht programmiert über die Arduion IDE. Ich bekomme aber den Sketch esp-01sTemperatursensorshield DS18B20 von dir einfach nicht zum Laufen. Habe mir dein Video auf YouTube schon zigfach angesehen, habe auch nach meiner Ansicht alles so gemacht wie du. Der esp 01s meldet sich im WLAN und ich denke die in den WLANeinstellungen erscheinende Ip soll ich im Browser eingeben-aber der http server läst sich nicht aufrufen.
    Kompilieren und Hardware alles ohne Probleme!
    Du hast im Video auch den Sketch super erklärt- aber ich bekomme es nicht zum Laufen. Vielleicht findest du ja die Zeit mal zu antworten.
    Vorerst schöne Ostern.

    Es grüßt Hendrik

    Antworten
    1. Stefan Draeger sagt:
      19. April 2019 um 19:27 Uhr

      Hallo Hendrik,

      sende mir doch einfach mal deinen Sketch als ZIP an die Adresse info@draeger-it.blog und ich schaue mir diesen einmal an. Manchmal steck der Teufel in einem kleinen Detail was man nicht sofort sieht.

      Dir und deiner Familie auch ein Frohes Osterfest.

      Gruß,

      Stefan

      Antworten
      1. Andreas Fischer sagt:
        15. Februar 2023 um 13:12 Uhr

        Hallo Forum
        mein letzter Thread ist gerade 1.5 Jahre her. Seither habe ich die einige andere Temp-Sensoren eingesetzt, da mich die gemessenen Resultate des DS18B20 auf dem ESP01-Shield überhaupt nicht befriedigten. Grund für die Fehler war die Wärme-Entwicklung des Shields zusammen mit dem ESP01. Der DS18B20 ist alleine sehr genau (-/+0.5°C). Dabei wäre das Modul mit dem Spannung-Wandler 3.3V so praktisch für einfache Single-Messungen der Temperatur inklusive Übertragung via MQTT.
        Nun habe ich mich dem Thema nochmals angenommen und den Sensor abgeklemmt und via einfaches 3-Pol-Steckerchen mit einer 20-30 cm langen Leitung versehen: Nun funktioniert alles einwandfrei mit bester Genauigkeit. Und darunter gerade noch eine USB-C Buchse montiert für die 5V Versorgung! Die Löterei ist etwas knifflig, aber es lohnt sich.
        Andreas

        Antworten
        1. Stefan Draeger sagt:
          15. Februar 2023 um 13:19 Uhr

          Hi,

          eine sehr schöne Lösung, vielen Dank für das Teilen deiner Erfahrung.

          Gruß

          Stefan

          Antworten
  2. Andreas sagt:
    14. August 2020 um 21:35 Uhr

    Vielen Dank für deine ruhigen und fundierten Erläuterungen im Video und den hervorragenden Beschreibungen hier auf dieser Seite.
    Funktionierte (fast) auf Anhieb, lediglich bei der Adresse 192/…/tempsensor habe ich“ /tempsensor“ übersehen. Ohne diesen Zusatz funktioniert es natürlich nicht. Hinweis für Forum: die genaue Adresse 192/.. kann im Router unter „Angeschlossene Geräte“ eruiert werden.
    Mit dem ESP01-Programmer habe ich zuerst einen ESP01 zerschossen, da die TX>RX-Leitung 5V lieferte, was der ESP01 nicht goutierte. Ich habe dann einen USBtoTTL CP2102 genommen und Flash und Rst auf GND geschaltet. Funktioniert tip top. Man könnte wohl auch einen Converter dazwischenschalten.
    Mit deinem einfachen Sketch kann ich nun weitere IoT-Anwendungen entwickeln. Danke!

    Antworten
    1. Stefan Draeger sagt:
      14. August 2020 um 21:58 Uhr

      Hallo Andreas,
      Vielen Dank für deinen Kommentar es freut mich sehr das dir dieser Beitrag gefallen hat.

      Gruß, Stefan Draeger

      Antworten
  3. Pingback: OPEN SMART Rich Shield TWO für den Arduino UNO - Technik Blog

Schreibe einen Kommentar Antworten abbrechen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Kategorien

Tools

  • 8×8 LED Matrix Tool
  • 8×16 LED Matrix Modul von Keyestudio
  • 16×16 LED Matrix – Generator
  • Widerstandsrechner
  • Rechner für Strom & Widerstände
  • ASCII Tabelle

Meta

  • Videothek
  • Impressum
  • Datenschutzerklärung
  • Disclaimer
  • Kontakt
  • Cookie-Richtlinie (EU)

Links

Blogverzeichnis Bloggerei.de Blogverzeichnis TopBlogs.de das Original - Blogverzeichnis | Blog Top Liste Blogverzeichnis trusted-blogs.com
©2023 Technik Blog | Built using WordPress and Responsive Blogily theme by Superb