Ардуино: датчик влажности и температуры DHT11
Содержание
- Подключение датчика DHT11 к Ардуино
- Подключение модуля DHT11 ROC к Ардуино
- Программа для работы с DHT11
- Задания
- Заключение
- Полезные материалы
Составной датчик DHT11 включает в себя сразу два полезных измерительных прибора — термометр и гигрометр. Первый, очевидно, измеряет температуру, а второй — влажность воздуха. Обычно, датчик можно приобрести в таком вот пластиковом корпусе:
Для удобства использования, мы в RobotClass сделали модуль в форм-факторе 23×23мм, на котором датчик DHT11 уже имеет необходимый для правильной работы резистор подтяжки и штыревой трёхконтактный разъём.
Характеристики датчика:
- напряжение питания: от 3 до 5 В;
- потребляемый ток: 2,5 мА в момент опроса (в остальное время меньше);
- диапазон измерений влажности: от 20 до 80%, при точности — 5%;
- диапазон измерений температур: от 0 до 50°C, при точности ±2°C;
- частота опроса: 1 Гц (раз в секунду).
Датчик DHT11 можно использовать для создания простой погодной станции или для контроля влажности в теплице.
Кроме DHT-11, существует множество аналогичных датчиков, которые отличаются точностью, энергопотреблением, интерфейсом. Например, у датчика DHT-22 диапазон измерений влажности составляет от 0 до 100%, а температуры от -40 до 125°C.
Подключение датчика DHT11 к Ардуино
У датчика DHT11 есть четыре вывода, один из которых (№3) не используется.
Как видно на фото, выводы нумеруются слева на право, если смотреть на корпус датчика со стороны решетки и ногами вниз. Подключаем выводы к Ардуино Уно по следующей схеме:
Датчик DHT11 | 1 | 2 | 4 |
Ардуино Уно | +5V | 2 | GND |
Принципиальная схема
Внешний вид макета
Важно отметить, что второй вывод датчика мы подключаем не только ко второй линии GPIO на Ардуино, но еще и к плюсу питания через резистор подтяжки 4,7 кОм. Таким образом, мы, что называется, подтягиваем линию данных датчика к плюсу. Это необходимо для правильного функционирования DHT11.
Подключение модуля DHT11 ROC к Ардуино
В случае использования модуля от RobotClass, подключение будет выглядеть следующим образом.
Принципиальная схема
Внешний вид макета
Программа для работы с DHT11
Теперь, когда датчик подключен, приступим к программированию контроллера. Первое, что нам следует сделать — установить в Arduino IDE дополнительную библиотеку. Существует множество библиотек для работы с DHT, но мы выберем вариант с портала Adafruit. Ссылка на библиотеку имеется в конце урока.
Устанавливаем библиотеку и составляем тестовую программу:
В верхней части программы имеется три строки с директивой define, две из которых закомментированы (перед ними стоят два слеша). В зависимости от типа датчика мы можем раскомментировать нужную строку. Сейчас выбран датчик DHT11.
Загружаем программу в Ардуино Уно, открываем монитор последовательного порта (Tools/Serial Monitor) и наблюдаем результаты измерений!
Задания
- Автоматическая теплица. Требуется собрать автоматический регулятор влажности, состоящий из контроллера Ардуино Уно, датчика влажности DHT11 и реле. Программа регулятора должна каждые 3 секунды проверять значение влажности и температуры. В случае, если во время очередной проверки влажность опускается ниже 50% при температуре не ниже +20 градусов, с помощью реле включается вентилятор. Для простоты, к реле можно подключить обычный светодиод.
Заключение
Хотя датчик влажности DHT11 и является самым популярным, он не отличается выдающимися характеристиками. К примеру, его более продвинутый собрат DHT22 имеет больший диапазон измерений влажности и температуры, а также большую точность.
Полезные материалы
Скачать архив с библиотекой для работы с DHT11 можно по следующей ссылке:
Также библиотеку можно установить через менеджер библиотек в Arduino IDE. В поисковой строке менеджера необходимо ввести DHT sensor library by Adafruit.
Источник: