ESP32 - Capteur de température

Ce guide vous montre comment utiliser le capteur de température DS18B20 1-Wire avec l'ESP32 et MicroPython. Nous aborderons :

Capteur de température MicroPython pour ESP32

Préparation du matériel

1×Module de développement ESP32 ESP-WROOM-32
1×Câble USB Type-A vers Type-C (pour PC USB-A)
1×Câble USB Type-C vers Type-C (pour PC USB-C)
1×Capteur de température DS18B20 (avec adaptateur)
1×Capteur de température DS18B20 (sans adaptateur)
1×Fils de connexion
1×Recommandé: Carte d'extension à bornier à vis pour ESP32
1×Recommandé: Breakout Expansion Board for ESP32
1×Recommandé: Répartiteur d'alimentation pour ESP32

Ou vous pouvez acheter les kits suivants:

1×Kit de Démarrage DIYables ESP32 (ESP32 inclus)
1×Kit de Capteurs DIYables (30 capteurs/écrans)
1×Kit de Capteurs DIYables (18 capteurs/écrans)
Divulgation : Certains des liens fournis dans cette section sont des liens affiliés Amazon. Nous pouvons recevoir une commission pour tout achat effectué via ces liens, sans coût supplémentaire pour vous. Nous vous remercions de votre soutien.

Note d'achat: De nombreux capteurs DS18B20 sur le marché sont de faible qualité. Nous recommandons vivement d'acheter le capteur de la marque DIYables en utilisant le lien ci-dessus. Nous l'avons testé et il a bien fonctionné.

À propos du capteur de température One-Wire DS18B20

Schéma des broches

Le capteur de température DS18B20 possède trois broches.

  • Broche GND : Connectez-la à la masse (0 volt).
  • Broche VCC : Connectez-la à VCC (soit 5 volts ou 3,3 volts).
  • Broche DATA : Elle est utilisée pour les données 1-Wire. Connectez-la à une broche numérique sur l'ESP32.

Il existe deux principaux types de capteurs de température DS18B20 : le boîtier TO-92, qui ressemble à un transistor, et la sonde étanche. Ce guide se concentrera sur l'utilisation de la sonde étanche.

Répartition des broches du capteur de température DS18B20

Connecter un capteur de température DS18B20 à un ESP32 nécessite généralement une résistance de pull-up, ce qui peut être complexe à mettre en œuvre. Heureusement, certains fabricants proposent des adaptateurs de câblage qui incluent une résistance de pull-up et un bornier à vis, ce qui simplifie le processus d'installation.

Diagramme de câblage

  • Comment connecter l'ESP32 et le capteur de température DS18B20 en utilisant breadboard.
Schéma de câblage du capteur de température ESP32 MicroPython

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.

  • Comment connecter l'ESP32 et le capteur de température DS18B20 en utilisant breadboard et un adaptateur.
Schéma de câblage ESP32 MicroPython DS18B20

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.

Comment connecter l'ESP32 et un capteur de température

Nous vous suggérons d’obtenir un capteur DS18B20 avec un adaptateur de câblage. Cet adaptateur vous permet de connecter facilement le capteur, car il dispose déjà d'une résistance intégrée, vous n'avez donc pas besoin d'une autre résistance.

Code MicroPython pour ESP32

/* * Ce code ESP32 MicroPython a été développé par newbiely.fr * Ce code ESP32 MicroPython est mis à disposition du public sans aucune restriction. * Pour des instructions complètes et des schémas de câblage, veuillez visiter: * https://newbiely.fr/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)

Étapes rapides

Voici les instructions sur la manière de configurer et d’exécuter votre code MicroPython sur l’ESP32 en utilisant l’IDE Thonny :

  • Assurez-vous que Thonny IDE est installé sur votre ordinateur.
  • Assurez-vous que le firmware MicroPython est chargé sur votre carte ESP32.
  • Si c'est votre première utilisation d'un ESP32 avec MicroPython, consultez le guide de démarrage MicroPython ESP32 pour des instructions étape par étape.
  • Suivez le diagramme donné pour connecter le capteur de température DS18B20 1-wire à l'ESP32.
  • Connectez la carte ESP32 à votre ordinateur avec un câble USB.
  • Ouvrez Thonny IDE sur votre ordinateur.
  • Dans Thonny IDE, allez dans Outils Options.
  • Sous l'onglet Interpréteur, choisissez MicroPython (ESP32) dans le menu déroulant.
  • Assurez-vous que le port correct est sélectionné. Thonny IDE détecte généralement automatiquement, mais vous devrez peut-être le sélectionner manuellement (par exemple COM12 sur Windows ou /dev/ttyACM0 sur Linux).
  • Copiez le code MicroPython fourni et collez-le dans l'éditeur de Thonny.
  • Enregistrez le code sur votre ESP32 en :
    • Cliquer sur le bouton Enregistrer ou appuyer sur Ctrl+S.
    • Dans la boîte de dialogue d'enregistrement, choisissez Périphérique MicroPython.
    • Nommez le fichier main.py.
  • Cliquez sur le bouton vert Exécuter (ou appuyez sur F5) pour exécuter le script.
  • Placez le capteur dans l'eau chaude et froide, ou tenez-le dans votre main.
  • Vérifiez le message dans le Shell en bas de Thonny.
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 ≡

Vidéo

※ NOS MESSAGES

  • N'hésitez pas à partager le lien de ce tutoriel. Cependant, veuillez ne pas utiliser notre contenu sur d'autres sites web. Nous avons investi beaucoup d'efforts et de temps pour créer ce contenu, veuillez respecter notre travail !