ESP32 - Capteur de température - LCD

Ce tutoriel vous explique comment utiliser l'ESP32 et du code MicroPython pour lire la température d'un capteur DS18B20 et l'afficher sur un écran LCD I2C.

ESP32 MicroPython Capteur de température LCD I2C

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×LCD I2C
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 et de l'écran LCD

Si vous débutez avec le capteur de température DS18B20, l'écran LCD I2C ou la programmation MicroPython pour l'ESP32, je vous recommande de consulter ces tutoriels :

Ces tutoriels vous offriront une compréhension approfondie du capteur de température DS18B20 et de l'écran LCD, de la manière de connecter ces composants à l'ESP32 et de la manière de contrôler efficacement leur comportement à l'aide du code MicroPython.

Diagramme de câblage

  • Comment connecter l'ESP32 à un capteur de température et à un écran LCD en utilisant breadboard
Schéma de câblage du capteur de température LCD pour ESP32 MicroPython

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

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

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

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-lcd */ import machine import onewire import ds18x20 import time from machine import I2C, Pin from DIYables_MicroPython_LCD_I2C import LCD_I2C ds_pin = machine.Pin(23) # The ESP32 pin GPIO23 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() if not sensor_addresses: raise Exception("No DS18B20 sensor found!") sensor_address = sensor_addresses[0] print('Found DS18B20 sensor with address: ', sensor_address) # The I2C address of your LCD (Update if different) I2C_ADDR = 0x27 # Use the address found using the I2C scanner # Define the number of rows and columns on your LCD LCD_ROWS = 2 LCD_COLS = 16 # Initialize I2C i2c = I2C(1, scl=Pin(22), sda=Pin(21), freq=400000) # Initialize LCD lcd = LCD_I2C(i2c, I2C_ADDR, LCD_ROWS, LCD_COLS) # Setup function lcd.backlight_on() lcd.clear() # Custom character for the degree symbol degree_char = chr(0xDF) # Main loop to read and print the temperature every second while True: DS18B20.convert_temp() time.sleep_ms(750) temperature = DS18B20.read_temp(sensor_address) print('Temperature: {:.2f} °C'.format(temperature)) lcd.clear() lcd.set_cursor(0, 0) # Move to the beginning of the first row lcd.print("Temp: {:.2f}{}C".format(temperature, degree_char)) time.sleep(1)

※ Note:

Selon le fabricant, l'adresse I2C de l'écran LCD peut varier. Dans notre exemple, nous avons utilisé l'adresse 0x27 telle que spécifiée par le fabricant, DIYables.

Étapes rapides

Voici des instructions sur la façon de configurer et d’exécuter votre code MicroPython sur l’ESP32 en utilisant l’IDE Thonny :

  • Assurez-vous que l'IDE Thonny est installé sur votre ordinateur.
  • Confirmez que le micrologiciel MicroPython est chargé sur votre carte ESP32.
  • Si c'est la première fois que vous utilisez un ESP32 avec MicroPython, consultez le ESP32 - Premiers pas. guide pour obtenir des instructions étape par étape.
  • Connectez la carte ESP32 au capteur de température DS18B20 et à l'écran LCD I2C selon le schéma fourni.
  • Connectez la carte ESP32 à votre ordinateur avec un câble USB.
  • Ouvrez l'IDE Thonny sur votre ordinateur.
  • Dans l'IDE Thonny, allez dans Outils Options.
  • Sous l'onglet Interpréteur, choisissez MicroPython (ESP32) dans le menu déroulant.
  • Assurez-vous que le bon port est sélectionné. L'IDE Thonny le 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).
  • Accédez à Outils Gérer les paquets dans l'IDE Thonny.
  • Recherchez “DIYables-MicroPython-LCD-I2C”, puis trouvez la bibliothèque LCD I2C créée par DIYables.
  • Cliquez sur DIYables-MicroPython-LCD-I2C, puis cliquez sur le bouton Install pour installer la bibliothèque LCD I2C.
Bibliothèque LCD I2C MicroPython pour ESP32
  • Copiez le code MicroPython fourni et collez-le dans l'éditeur de Thonny.
  • Enregistrez le code sur votre ESP32 en procédant comme suit:
    • En cliquant sur le bouton Enregistrer ou en appuyant 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.
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: 26.07 °C Temperature: 26.11 °C Temperature: 26.11 °C Temperature: 26.24 °C Temperature: 27.44 °C Temperature: 29.10 °C Temperature: 29.86 °C Temperature: 30.24 °C Temperature: 30.39 °C
MicroPython (ESP32) • CP2102 USB To UART Bridge Controller @ COM12 ≡
  • Placez le capteur sur de l'eau chaude ou froide, ou tenez-le dans votre main.
  • Regardez l'affichage sur l'écran LCD.

Si l'écran LCD est vide, veuillez consulter Dépannage pour l'écran LCD I2C pour obtenir de l'aide.

Explication du code

Consultez les commentaires dans le code source pour obtenir des explications sur chaque ligne.

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 !