DHT11 и ESP32 C3 Super Mini: измерване на Температура и Влажност с използвайки MicroPython

DHT11 и ESP32 C3 Super Mini измерване на Температура и Влажност с използвайки MicroPython

В тази статия ще разгледаме как да изчетем данни от сензора DHT11 за температура и влажност, използвайки ESP32 C3 Super Mini и MicroPython. Ще покажем стъпка по стъпка как да свържете сензора и да напишете код за четене на измерените стойности.

Необходими компоненти:

  • ESP32 C3 Super Mini
  • DHT11 сензор за температура и влажност. Пълна спецификация тук.
  • Свързващи кабели
  • Breadboard (за по-лесно свързване)

Свързване на компонентите

Сензорът DHT11 има четири пина, но се използват само три от тях:

DHT11 пин диаграма (pinout)
DHT11 пин диаграма (pinout)
  1. VCC – за захранване (свържете към 3.3V на ESP32).
  2. GND – заземяване (свържете към GND на ESP32).
  3. Data – цифров изход, който ще предава измерените стойности (свържете към GPIO пин, например GPIO0).

Ето как да свържете DHT11 към ESP32 C3 Super Mini:

Схема на свързване на DHT11 с ESP32 C3 super mini

DHT11 и ESP32 C3 Super Mini измерване на Температура и Влажност с използвайки MicroPython схема
  • VCC пина на DHT11 към 3.3V на ESP32.
  • GND пина на DHT11 към GND на ESP32.
  • Data пина на DHT11 към GPIO0 на ESP32.

Може да прочетете за характеристиките и да видите пин-конфигурацията (pinout) на тази платформа в ревюто ни за нея: ESP32 C3 Super Mini.

Инсталиране на MicroPython на ESP32 C3

Преди да продължите с програмирането, трябва да инсталирате MicroPython на вашия ESP32 C3. Можете да следвате официалните инструкции за инсталация на MicroPython, като използвате инструмента esptool.py. Всичко относно инсталацията може да прочетете в страницата ни: Инсталиране на MicroPython върху ESP32.

Програмиране с MicroPython

Кодът за четене на температура и влажност с DHT11 и ESP32 е почти идентичен с този за ESP8266. Ето как изглежда примерният код:

import dht
from machine import Pin
from time import sleep

dht_inicialize = dht.DHT11(Pin(0))

while True:
    dht_inicialize.measure()
    temp = dht_inicialize.temperature()
    hum = dht_inicialize.humidity()
    
    print("Температура = ", round(temp , 1), "*C")
    print("Влажност = ", round(hum , 1), "%")
    sleep(1)

Обяснение на кода:

Импортиране на библиотеки:

import dht
from machine import Pin
from time import sleep
  • dht: Тази библиотека предоставя интерфейс за работа с DHT11 сензори.
  • Pin: От библиотеката machine, използва се за дефиниране на GPIO пиновете на ESP32.
  • sleep: От библиотеката time, използва се за въвеждане на забавяне между измерванията.

Инициализация на DHT11:

dht_inicialize = dht.DHT11(Pin(0))

Тук инициализираме DHT11 сензора, като свързваме неговия Data пин към GPIO0 на ESP32.

Измерване на температура и влажност:

    dht_inicialize.measure()
    temp = dht_inicialize.temperature()
    hum = dht_inicialize.humidity()
  • dht_inicialize.measure(): Извършва измерването на температура и влажност.
  • temperature(): Връща измерената температура в градуси по Целзий.
  • humidity(): Връща измерената влажност в проценти.

Отпечатване на измерените стойности:

    print("Температура = ", round(temp , 1), "*C")
    print("Влажност = ", round(hum , 1), "%")

Използваме round(temp, 1) и round(hum, 1) за закръгляне на стойностите до една десетична.

Забавяне между измерванията:

sleep(1)

Тази команда въвежда едно-секундно забавяне между отделните измервания.

Заключение

Използването на DHT11 сензор с ESP32 C3 Super Mini и MicroPython е лесно и ефективно решение за измерване на температура и влажност. С този прост код можете да създадете проекти за мониторинг на околната среда, умни домашни системи и IoT приложения.