# Метеостанция Датчик DHT11 (Humidity & Temperature Sensor) позволяет измерять температуру и влажность воздуха. [Datasheet]: <https://www.mouser.com/ds/2/758/DHT11-Technical-Data-Sheet-Translated-Version-1143054.pdf> | Параметр | Min | Max | Точность | | --------------- | ---- | ---- | -------- | | Температура | 0 | 50 | 2 | | Влажность | 20% | 90% | 1% | | Время измерения | 6 с | 30 с | | Для работы потребуются библиотеки: * https://github.com/adafruit/DHT-sensor-library * https://github.com/adafruit/Adafruit_Sensor ### Схема подключения У нас используется готовый модуль, который уже содержит все необходимые элементы, поэтому подключение будет простым ![](/assets/images/iot/01/dht11.svg "Схема подключения") | DHT11 | WeMos D1 | |-------|----------| | VCC | 3V3 | | OUT | D2 | | GND | GND | ### Пример программы ```c #include <DHT.h> #include <DHT_U.h> #define DHTPIN D2 // Digital pin connected to the DHT sensor #define DHTTYPE DHT11 DHT_Unified dht(DHTPIN, DHTTYPE); int delayMS = 10000; long lastMsg = 0; void setup() { pinMode(BUILTIN_LED, OUTPUT); // Initialize the BUILTIN_LED pin as an output Serial.begin(115200); // DHT11 sensor_t sensor; dht.begin(); dht.temperature().getSensor(&sensor); dht.humidity().getSensor(&sensor); } void loop() { if ( millis() - lastMsg > delayMS) { sensors_event_t event; dht.temperature().getEvent(&event); if (isnan(event.temperature)) { Serial.println(F("Error reading temperature!")); } else { Serial.print(F("Temperature: ")); Serial.print(event.temperature); Serial.println(F("°C")); } dht.humidity().getEvent(&event); if (isnan(event.relative_humidity)) { Serial.println(F("Error reading humidity!")); } else { Serial.print(F("Humidity: ")); Serial.print(event.relative_humidity); Serial.println(F("%")); } lastMsg = millis(); } } ``` ### Готовое устройство ![](/assets/images/iot/01/dht11.jpg) ## Задача Написать прошивку, которая будет направлять температуру числом в топик **"itschool/temperature"**, а относительную влажность - в топик **"itschool/humidity"** [к списку задач](iot/summer/tasks)