![DHT11 и ESP32 C3 Super Mini измерване на Температура и Влажност с използвайки MicroPython](http://ardudevelop.eu/wp-content/uploads/2024/09/DHT11-и-ESP32-C3-Super-Mini-измерване-на-Температура-и-Влажност-с-използвайки-MicroPython.png)
В тази статия ще разгледаме как да изчетем данни от сензора DHT11 за температура и влажност, използвайки ESP32 C3 Super Mini и MicroPython. Ще покажем стъпка по стъпка как да свържете сензора и да напишете код за четене на измерените стойности.
Необходими компоненти:
- ESP32 C3 Super Mini
- DHT11 сензор за температура и влажност. Пълна спецификация тук.
- Свързващи кабели
- Breadboard (за по-лесно свързване)
Свързване на компонентите
Сензорът DHT11 има четири пина, но се използват само три от тях:
![DHT11 пин диаграма (pinout)](http://ardudevelop.eu/wp-content/uploads/2024/09/DHT11-пин-диаграма-pinout.png)
- VCC – за захранване (свържете към 3.3V на ESP32).
- GND – заземяване (свържете към GND на ESP32).
- Data – цифров изход, който ще предава измерените стойности (свържете към GPIO пин, например GPIO0).
Ето как да свържете DHT11 към ESP32 C3 Super Mini:
Схема на свързване на DHT11 с ESP32 C3 super mini
![DHT11 и ESP32 C3 Super Mini измерване на Температура и Влажност с използвайки MicroPython схема](http://ardudevelop.eu/wp-content/uploads/2024/09/DHT11-и-ESP32-C3-Super-Mini-измерване-на-Температура-и-Влажност-с-използвайки-MicroPython-схема.png)
- 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 приложения.