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


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

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

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

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

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

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

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

Схема подключения датчика температуры и влажности 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 начнет показывать значение температуры и влажности.

Тестирование работы проекта в окне Shell

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

Тестирование работы проекта на экране OLED дисплея

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

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

(Проголосуй первым!)
Загрузка...
13 просмотров

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

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