В этом уроке мы с вами научимся использовать модуль температуры и влажности DHT11 вместе с микроконтроллером Arduino Uno.
Вы когда-нибудь хотели знать температуру и влажность вокруг себя? Если да, этот проект будет очень полезным для вас. Если нет, все равно это поможет вам глубже окунуться в микроконтроллеры и Ардуино. Но самое интересно в то, что вы сможете использовать эти знания во всем: от домашних автоматических систем до умных часов, домов и т.п.
Комплектующие
Детали, используемые в этом проекте ниже.
Аппаратные компоненты
- Arduino Uno & Genuino Uno × 1
- Датчик температуры и влажности DHT11 (3 контакта) × 1
- Датчик температуры и влажности DHT11 (4 контакта) × 1
- Датчик температуры DHT22 (вы можете использовать DHT11 с тремя контактами, DHT11 с 4 контактами или DHT22) × 1
- Макет (на выбор) × 1
- Провода перемычки (на выбор) × 1
Программное обеспечение
Arduino IDE или веб-редактор Arduino, который вы найдете на официальном сайте arduino.cc.
Что такое влажность?
Влажность - это водяной пар вокруг вас, смешанный с воздухом. Она измеряется в процентах. Таким образом, если влажность составляет 60 процентов (что является средней влажностью), то 60 процентов воздуха вокруг вас - это водяной пар.
Если это 100%, то это означает, что датчик неисправен, датчик сломан или поврежден, Arduino разбился, Arduino не может получить никакого сигнала, в коде есть ошибка или вы находитесь под водой. Если это 0%, это означает все причины, перечисленные ранее, за исключением последнего, вы находитесь в космосе или находитесь в центре пустыни.
Схема соединения
Наш датчик такой:
Датчик DHT11 имеет 3 контакта, и он устанавливается на плату. Если у вас 4 контакта, вам необходимо эту схему соединения с датчиком:
Если ваш датчик такой же, как у нас, то просто проигнорируйте резистор.
Код проекта
Вы должны следовать этим шагам, чтобы заставить всё работать:
- Вам нужно добавить библиотеку модуля влажности и температуры в среду разработки Arduino.
- Загрузить код.
- Когда код загружен, открыть последовательный монитор и установить скорость передачи в бодах до 9600.
- Увидеть влажность и температуру.
Сначала по инструкции скачиваем и устанавливаем библиотеку для модуля, которую мы можем скачать с GitHub (подробнее о библиотеке DHT смотрите на нашем сайте здесь), после чего мы подключаем её в самом начале скетча.
#include <dht11.h> #define DHT11PIN 4 dht11 DHT11; void setup() { Serial.begin(9600); } void loop() { Serial.println(); int chk = DHT11.read(DHT11PIN); Serial.print("Humidity (%): "); Serial.println((float)DHT11.humidity, 2); Serial.print("Temperature (C): "); Serial.println((float)DHT11.temperature, 2); delay(2000); }
На этом наш урок в котором мы подключили модуль влажности и температуры DHT11 к Ардуино Уно завершен. Далее вы можете усложнять свои проекты, основываясь на полученных знаниях.
9 ноября 2020 в 00:33
Уважаемые авторы. Ну нельзя же так. Даже Википедия знает, что «Относительная влажность характеризует содержание влаги по сравнению с максимальным количеством влаги, которое может содержаться в веществе в состоянии термодинамического равновесия. Обычно относительную влажность измеряют в процентах от максимума.»
Или человеческим языком: относительная влажность воздуха — отношение количества влаги (воды), которая находится в воздухе СЕЙЧАС к количеству влаги, которое вообще МОЖЕТ находиться в воздухе при данной температуре. И, конечно, умноженное на 100%.