ESP32 - Temperatursensor

Diese Anleitung zeigt Ihnen, wie Sie den DS18B20 1-Wire-Temperatursensor mit dem ESP32 und MicroPython verwenden. Wir behandeln:

ESP32 MicroPython Temperatursensor

Erforderliche Hardware

1×38-pin ESP32 ESP-WROOM-32 Dev Module - Narrow
1×(Alternativ) 38-pin ESP32 ESP-WROOM-32 Dev Module - Wide
1×(Alternativ) 30-pin ESP32 ESP-WROOM-32 Dev Module - Wide
1×(Alternativ) ESP32 Uno-form board
1×(Alternativ) ESP32 S3 Uno-form board
1×USB-Kabel Typ-A zu Typ-C (für USB-A PC)
1×USB-Kabel Typ-C zu Typ-C (für USB-C PC)
1×DS18B20 Temperatursensor (mit Adapter)
1×DS18B20 Temperatursensor (ohne Adapter)
1×Verbindungskabel
1×(Empfohlen) Schraubklemmen-Erweiterungsboard für ESP32
1×(Empfohlen) Breakout Expansion Board for ESP32
1×(Empfohlen) Stromverteiler für ESP32

Oder Sie können die folgenden Kits kaufen:

1×DIYables ESP32 Starter-Kit (ESP32 enthalten)
1×DIYables Sensor-Kit (18 Sensoren/Displays)
Offenlegung: Einige der in diesem Abschnitt bereitgestellten Links sind Amazon-Affiliate-Links. Wir können eine Provision für Käufe erhalten, die über diese Links getätigt werden, ohne zusätzliche Kosten für Sie. Wir schätzen Ihre Unterstützung.

Kaufhinweis: Viele DS18B20-Sensoren auf dem Markt sind von geringer Qualität. Wir empfehlen dringend den Kauf des Sensors von der Marke DIYables über den obigen Link. Wir haben ihn getestet und er funktionierte gut.

Überblick über One Wire Temperature Sensor DS18B20

Pinbelegung

Der DS18B20-Temperatursensor hat drei Pins.

  • GND-Pin: Verbinden Sie ihn mit GND (0 Volt).
  • VCC-Pin: Verbinden Sie ihn mit VCC (entweder 5 Volt oder 3,3 Volt).
  • DATA-Pin: Dieser wird für die 1-Wire-Daten verwendet. Verbinden Sie ihn mit einem digitalen Pin des ESP32.

Es gibt zwei Hauptarten von DS18B20-Temperatursensoren: das TO-92-Gehäuse, das wie ein Transistor aussieht, und die wasserdichte Sonde. Diese Anleitung konzentriert sich auf die Verwendung der wasserdichten Sonde.

DS18B20 Temperatursensor Pinbelegung

Der Anschluss eines DS18B20-Temperatursensors an einen ESP32 erfordert in der Regel einen Pull-up-Widerstand, was aufwendig umzusetzen sein kann. Glücklicherweise bieten einige Hersteller Verdrahtungsadapter an, die einen Pull-up-Widerstand und einen Schraubklemmenblock enthalten und so den Aufbau vereinfachen.

Verdrahtungsdiagramm

  • So verbinden Sie ESP32 und DS18B20-Temperatursensor mithilfe eines Steckbretts.
ESP32 MicroPython Temperatursensor Schaltplan

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.

  • So verbinden Sie ESP32 und DS18B20-Temperatursensor mithilfe eines Steckbretts und eines Adapters.
ESP32 MicroPython DS18B20 Schaltplan

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.

So verbinden Sie ESP32 und Temperatursensor

Wir empfehlen, einen DS18B20-Sensor mit Verdrahtungsadapter zu kaufen. Dieser Adapter erleichtert den Anschluss des Sensors, da bereits ein Widerstand enthalten ist und Sie keinen weiteren benötigen.

ESP32 MicroPython Code

/* * Dieser ESP32 MicroPython Code wurde von newbiely.de entwickelt * Dieser ESP32 MicroPython Code wird der Öffentlichkeit ohne jegliche Einschränkung zur Verfügung gestellt. * Für vollständige Anleitungen und Schaltpläne besuchen Sie bitte: * https://newbiely.de/tutorials/esp32-micropython/esp32-micropython-temperature-sensor */ import machine import onewire import ds18x20 import time ds_pin = machine.Pin(17) # The ESP32 pin GPIO17 connected to the DS18B20 sensor # Create the onewire object OneWire = onewire.OneWire(ds_pin) # Create the DS18X20 object DS18B20 = ds18x20.DS18X20(OneWire) # Scan for devices on the bus sensor_addresses = OneWire.scan() print('Found DS18B20 devices: ', sensor_addresses) # Main loop to read and print the temperature every second while True: DS18B20.convert_temp() time.sleep_ms(750) for address in sensor_addresses: temperature = DS18B20.read_temp(address) print('Temperature: {:.2f} °C'.format(temperature)) time.sleep(1)

Schnelle Schritte

Hier finden Sie eine Anleitung, wie Sie Ihren MicroPython-Code auf dem ESP32 mit der Thonny IDE einrichten und ausführen:

  • Stellen Sie sicher, dass Thonny IDE auf Ihrem Computer installiert ist.
  • Vergewissern Sie sich, dass die MicroPython-Firmware auf Ihrem ESP32-Board geladen ist.
  • Wenn Sie zum ersten Mal einen ESP32 mit MicroPython verwenden, lesen Sie die Anleitung ESP32 MicroPython Erste Schritte für eine Schritt-für-Schritt-Anleitung.
  • Schließen Sie den DS18B20 1-Wire-Temperatursensor gemäß dem angegebenen Schaltplan an den ESP32 an.
  • Verbinden Sie das ESP32-Board mit einem USB-Kabel mit Ihrem Computer.
  • Öffnen Sie Thonny IDE auf Ihrem Computer.
  • Gehen Sie in Thonny IDE zu Tools Options.
  • Wählen Sie im Tab Interpreter aus dem Dropdown-Menü MicroPython (ESP32).
  • Stellen Sie sicher, dass der richtige Port ausgewählt ist. Thonny IDE erkennt ihn normalerweise automatisch, aber möglicherweise müssen Sie ihn manuell auswählen (z. B. COM12 unter Windows oder /dev/ttyACM0 unter Linux).
  • Kopieren Sie den bereitgestellten MicroPython-Code und fügen Sie ihn in den Editor von Thonny ein.
  • Speichern Sie den Code auf Ihrem ESP32:
    • Klicken Sie auf den Save-Button oder drücken Sie Ctrl+S.
    • Wählen Sie im Speicherdialog MicroPython device.
    • Nennen Sie die Datei main.py.
  • Klicken Sie auf den grünen Run-Button (oder drücken Sie F5), um das Skript auszuführen.
  • Legen Sie den Sensor in heißes und kaltes Wasser oder halten Sie ihn in der Hand.
  • Sehen Sie sich die Meldung in der Shell unten in Thonny an.
Shell x
>>> %Run -c $EDITOR_CONTENT
MPY: soft reboot MPY: soft reboot Found DS18B20 sensor with address: bytearray(b'(\xffP\x05.\x04\x00\x07') Temperature: 24.00 °C Temperature: 24.31 °C Temperature: 25.44 °C Temperature: 26.63 °C Temperature: 27.50 °C Temperature: 28.06 °C Temperature: 28.56 °C Temperature: 29.06 °C Temperature: 29.25 °C
MicroPython (ESP32) • CP2102 USB To UART Bridge Controller @ COM12 ≡

Video Tutorial

Wir erwägen die Erstellung von Video-Tutorials. Wenn Sie Video-Tutorials für wichtig halten, abonnieren Sie bitte unseren YouTube-Kanal , um uns zu motivieren, die Videos zu erstellen.

※ UNSERE NACHRICHTEN

  • Sie können gerne den Link zu diesem Tutorial teilen. Bitte verwenden Sie jedoch unsere Inhalte nicht auf anderen Websites. Wir haben viel Mühe und Zeit in die Erstellung der Inhalte investiert, bitte respektieren Sie unsere Arbeit!