Рубрики
Проекты на Raspberry Pi

Подключение датчика температуры и влажности DHT11 к Raspberry Pi Pico

В данной статье мы рассмотрим подключение датчика температуры и влажности DHT11 к плате Raspberry Pi Pico. Мы напишем код MicroPython для взаимодействия с датчиком DHT11. Также мы будем использовать 0,96″ I2C OLED-дисплей и отобразим на нем температуру и влажность, измеренную датчиком DHT11. Кроме того, полученные данные будут отображаться в окне оболочки Python.

DHT11 — это базовый, сверхбюджетный цифровой датчик температуры и влажности. Он использует емкостный датчик влажности и термистор для измерения окружающего воздуха. Этот датчик можно легко подключить к любому микроконтроллеру, например Arduino или RP2040 Raspberry Pi Pico, для мгновенного измерения влажности и температуры. Ранее датчик DHT11 уже широко использовался во многих проектах на нашем сайте, посмотреть которые вы можете по следующей ссылке.

Если для вывода данных от датчика DHT11 вы хотите использовать веб-браузер, а не экран OLED дисплея, то можете посмотреть проект веб-сервера мониторинга температуры и влажности на Raspberry Pi Pico W и DHT11.

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

  1. Плата Raspberry Pi Pico (купить на AliExpress).
  2. Датчик температуры и влажности DHT11 (купить на AliExpress).
  3. Модуль OLED дисплея SSD1306 128×64 с диагональю 0.96 дюйма и интерфейсом I2C (купить на AliExpress).
  4. Макетная плата.
  5. Соединительные провода.

Реклама: ООО «АЛИБАБА.КОМ (РУ)» ИНН: 7703380158

Датчик влажности и температуры DHT11

DHT11 — это базовый, сверхбюджетный цифровой датчик температуры и влажности. Он использует емкостный датчик влажности и термистор для измерения окружающего воздуха и выдает цифровой сигнал на контакт данных (аналоговые входные контакты не требуются). Диапазон температур DHT11 составляет от 0 до 50 градусов по Цельсию с точностью 2 градуса. Диапазон измерения влажности этого датчика составляет от 20 до 80% с точностью 5%.

Датчик DHT11 имеет четыре контакта — VCC, GND, Data Pin и неподключенный контакт. Для связи между датчиком и микроконтроллером предусмотрен подтягивающий резистор сопротивлением от 5 кОм до 10 кОм.

Датчик довольно прост в использовании, но требует тщательного расчета времени для сбора данных. Единственный реальный недостаток этого датчика в том, что вы можете получать от него новые данные только каждые 2 секунды, поэтому при использовании библиотеки показания датчика могут быть устаревшими до 2 секунд. Чтобы узнать больше о датчике DHT11, вы можете проверить DHT11 Datasheet.

Схема проекта

Схема подключения датчика температуры и влажности DHT11 к плате Raspberry Pi Pico представлена на следующем рисунке.

Подключите цифровой выходной контакт DHT11 к GP28 платы Pico. Подключите контакты SCL и SDA OLED-дисплея к контактам GP9 и GP8 платы Raspberry Pi Pico. Подайте на DHT11 и OLED-дисплей напряжение 3,3 В VCC и подключите их контакты GND к контакту Pico GND.

Исходный код программы

Код для подключения датчика DHT11 к плате Raspberry Pi Pico на языке MicroPython включает в себя множество зависимостей. Нам нужно написать код MicroPython для библиотеки DHT11, а также для OLED-дисплея.

Код состоит из 3 частей:
1. SSD1306.py
2. dht.py
3. main.py

SSD1306.py

Сначала откройте новую вкладку и скопируйте следующий код. Сохраните файл под именем SSD1306.py, а затем запустите или загрузите его на плату Raspberry Pi Pico.

dht.py

После загрузки программы SSD1306 снова откройте новую вкладку и скопируйте следующий код. Сохраните файл под именем dht.py, а затем запустите или загрузите его на плату Raspberry Pi Pico.

main.py

Наконец, снова откройте новую вкладку и скопируйте следующий код для основного файла. Сохраните файл под именем main.py, а затем запустите или загрузите его на плату Raspberry Pi Pico.

Мониторинг данных влажности и температуры

Теперь, наконец, наш проект готов, и мы можем измерять данные температуры и влажности окружающей среды. Как только main.py будет загружен, окно Shell начнет показывать значение температуры и влажности.

Аналогично OLED-дисплей также будет отображать значение температуры и влажности на своем экране. Данные обновляются и отображаются с интервалом в две секунды.

Видео, демонстрирующее работу проекта

Ссылка на видео на YouTube

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *