• Skip to primary navigation
  • Skip to main content
  • Skip to primary sidebar
  • Skip to secondary sidebar
  • Skip to footer

У Павла!

  • Контроллеры
    • Arduino
      • Приборы
      • Музыка
      • Проекты Arduino
      • Уроки Arduino
      • Игры на Arduino
      • Роботы на Ардуино
      • FLProg
    • Одноплатные ПК
      • Orange pi
      • Raspberry pi
        • Raspberry pi pico
        • Raspberry pi server
        • Проекты Raspberry pi
    • ESP
      • ESP8266
        • NodeMCU
      • ESP32
      • M5stack
    • Другие контроллеры
      • STM32
  • Умный дом
    • Home Assistant
      • Автоматизации
    • Tuya
    • Bluetooth
    • ESPHome
    • Frigate
    • Telegram
    • Яндекс
  • ЧПУ
  • 3d печать
  • Об авторе

Подключение датчиков DHT22 И DHT11 к Raspberry pi pico и Raspberry pi.

28 ноября, 2021

Raspberry pi pico: http://alii.pub/5kmf6o

Raspberry pi:  http://ali.pub/53kjyp

DHT22: http://alii.pub/5yjvv7

Прежде чем приступить к материалу, я Вас попрошу, если нравится то, что я делаю и хотите следить за моей деятельностью, то рекомендую подписаться на мой телеграмм канал: https://t.me/ypavla
Там я публикую новости о вышедших видео, статьях и разные устройства для умного дома и не только показываю.
Спасибо за внимание, теперь продолжим.

 

В этой статье покажу как подключить датчики температуры и влажности DHT22 или DHT11  к Raspberry pi pico и Raspberry pi и получить с этого датчика показания.

Я привык работать с Arduino и для меня уже все там просто и понятно. А вот с Python’ом на мой взгляд довольно все сложно. Давайте покажу.

Raspberry pi pico:

Подключать датчик будем к 15 пину. У меня датчик с тремя пинами. Но существуют версии датчиков с 4мя пинами, тогда датчик нужно подключать с помощью резисторов. Выглядит это примерно так:

 

Но повторюсь, мой датчик с тремя пинами, у него уже есть обвязка в виде смд резистора и в нем нужно просто пин “DATA” подключить к 15 пину Raspberry pi pico. Вообще, у меня когда-то был датчик с 4рмя пинами, но я его спалил(((( какраз из-з неверного подключения с резисторами.

После того как подключили датчик температуры и влажности DHT22 ну или же DHT11, перейдем к программированию устройства.

Программировать будем в программе Thonny.

Перерыл много примеров и библиотек в интернете. И для Raspberry pi pico практически нет ничего готового. В общем собрал по крупицам все в кучу и вот что получилось.

Для начала нам нужно в корень микроконтроллера Raspberry pi pico закинуть библиотеку DHT22.py , которую можно скачать отсюда: https://disk.yandex.ru/d/wMWvAltUrbspSg

Или с github: https://github.com/danjperron/PicoDHT22

После этого приступим к самому коду программы, который будет выводить показания температуры и влажности с датчика. Программа выглядит так:


from machine import Pin
from DHT22 import DHT22
import utime



dht_sensor=DHT22(Pin(15,Pin.IN,Pin.PULL_UP))
# dht_sensor=DHT22(Pin(15,Pin.IN,Pin.PULL_UP),dht11=True) - раскомментировать для DHT11, а верхнюю за комментировать.
while True:
    T,H = dht_sensor.read()
    if T is None:
        print(" sensor error")
    else:
        print("Temperature: {}'C".format(T), "Humidity: {}%".format(H))
    #DHT22 not responsive if delay to short
    utime.sleep_ms(500)

Либо можно скачать готовый код тут: https://disk.yandex.ru/d/dNknhqmsLeTeHg

И загружаем этот код в корень Raspberry pi. В итоге у Вас должно получиться 2 файла, вот так:

 

Ну и вот так будут выглядеть показания в консоли программы Thonny:

Впрочем на этом все. Надеюсь статья была Вам полезна. Если да, то скажите об этом в комментариях. Автору будет приятно.

Raspberry pi:

Ну а теперь что касается мини компьютера Raspberry pi.  Я тут делал довольно сложный проект недавно и нужно было прикрутить туда датчик температуры. И что-то я завяз в них и ничего с первого раза-конечно же не получилось. В итоге так как потратил не мало времени, решил как заметку оставить тут способ подключения DHT22 к Raspberry pi.

Схема подключения датчика выглядит так:

Как видим тут используется 4рех пиновый датчик С резистором на 10кОм. Ну и повторюсь, что если 3х пиновый датчик, то резистор ненужен, а сразу подключаете пин DATA датчика к 4 пину Raspberry pi.

Теперь что касается программы.

Для начала установим библиотеку Adafruit_DHT написав в консоли raspberry pi следующее:

sudo pip3 install Adafruit_DHT

 

После этого создадим новый файл, например Teperaryre.py:

nano Temperature.py

Только имейте ввиду, файл создастся в той директории в которой вы находитесь.

И добавим в этот создаваемый файл следующий код:


import Adafruit_DHT

DHT_SENSOR = Adafruit_DHT.DHT22
DHT_PIN = 4

while True:
    humidity, temperature = Adafruit_DHT.read_retry(DHT_SENSOR, DHT_PIN)

    if humidity is not None and temperature is not None:
        print("Temp={0:0.1f}*C  Humidity={1:0.1f}%".format(temperature, humidity))
    else:
        print("Error")

После добавления кода нажимаем сочетание клавиш Cntrl+X и соглашаемся с сохранением.

Ну а далее просто запускаем файл командой

Python3 Temperarure.py

Это при условии что вы находитесь в той-же директории где и файл.

Ну и выдаваться должны примерно такие значения:

Primary Sidebar

Поиск

Новые записи

  • Автоматизация оповещения о надвигающимся дожде в Home Assistant
  • Автоматизация перезагрузки устройства по команде Ping.
  • Разблокирование и добавление шлюза Xiaomi gateway 3 в Home Assistant для управления Bluetooth устройствами из экосистемы Xiaomi Home (mihome)
  • Интеграция для локального управления (без интернета) ик пультом Tuya работающим по wifi из Home Assistant
  • Транслируем показания с Уличного Bluetooth Датчика температуры по BTHome на дисплей датчика температуры XIaomi LYWSD03MMC

Официальный YouTube Канал M5Stack:

Подписывайтесь на Телеграм канал

https://t.me/ypavla

Подписаться на YouTube!

Secondary Sidebar




Подписывайтесь на Telegram Канал!

У Павла!

Footer

Copyright_У Павла! © 2025 ·