Датчики температуры и влажности типа DHT(для ESP8266 и Ардуино)

Для DHT11, DHT21, AM2301, DHT22, AM2302.

Пользовательские блоки расширяющие базовый функуионал программы по работе с различными датчиками и энкодерами
Правила форума
Рекомендации по размещению блоков:
Автор блока создает подробное описание блока, отличие от подобных(если есть на данный момент).Сложные блоки очень желательно с примерами.
При выходе новых версий редактирует/дополняет свой первый пост с указанием даты, версии, причины.
В каждой теме обсуждается только выложенный автором блок - баги, возможность (или предложение) доработки и прочие хотелки.
Свои блоки, переработанные, с другими библиотеками, протоколами и т.д.- размещаем либо сами отдельно, либо обсуждаем и дорабатываем в форуме Разработка блоков.
Пользователи улучшив блок автора и проверив его работоспособность - могут обратиться к автору или модераторам с просьбой добавить их версию блока в первое сообщение темы.
aidar_i
Полковник
Сообщения: 3122
Зарегистрирован: 24.12.2016{, 16:55}
Репутация: 675
Откуда: Уфа
Имя: Айдар
Контактная информация:

Датчики температуры и влажности типа DHT(для ESP8266 и Ардуино)

#1

Сообщение aidar_i » 09.09.2018{, 14:37}

Во время процесса чтения сигнала любые прерывания повредят результат. В реализации Arduino Adafruit они отключают все прерывания во время процесса чтения. ESP8266 не может отключить все прерывания, поэтому, если прерывание действительно происходит, ожидайте плохой результат.
Нашел библиотеку без них.Скачать
Статьи о применении его
Здесь
Проверил на Wemos D1 mini. Для датчиков DHT11, DHT21 (AM2301), DHT22 (A8M2302).
Gpio 0, 2, 4, 5, 12-15 работают. Если использовать пин 15, датчик, при загрузке программы, нужно отключить с этого контакта, а то ошибка.
Попробовал создать точку доступа и через веб браузер получать данные с DHT22. Все работает хорошо! Делал пример по видеоуроку ArduinoProm.
DHT_ESP8266_1_(CODE).ubi
(30.52 КБ) 422 скачивания
Пример DHT+ESP+WEB_4.flp
(205.63 КБ) 430 скачиваний
Вывел дополнительно выход параметра - температура точки росы.
t - температура, в С.
р - влажность в %.
d - температура точки росы.
time - время опроса в миллисекундах.
DHTPIN - пины ESP8266, куда подключаете.
DHTTYPE - тип датчика, DHT11, DHT21, AM2301, DHT22, AM2302.
Наш форумчанин проверил и на ESP32 здесь.

dizzyy испытал на ESP-01, его сообщение ниже.

Еще один блок для работы с ESP8266
DHT____ESP3266_(CODE).ubi
(17.19 КБ) 292 скачивания
Библиотека DHTesp здесь.

Блок для Ардуино здесь.

Работа датчиков с библиотекой TickerScheduler здесь.
Последний раз редактировалось aidar_i 09.07.2021{, 20:18}, всего редактировалось 14 раз.

aidar_i
Полковник
Сообщения: 3122
Зарегистрирован: 24.12.2016{, 16:55}
Репутация: 675
Откуда: Уфа
Имя: Айдар
Контактная информация:

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

#21

Сообщение aidar_i » 12.09.2018{, 21:30}

2

Lukum
Рядовой
Сообщения: 63
Зарегистрирован: 06.11.2018{, 18:46}
Репутация: 1
Имя: Алексей

Датчики температуры и влажности типа DHT(для ESP8266 и Ардуино)

#22

Сообщение Lukum » 12.07.2020{, 17:03}

Датчик DHT11 не работает в чём может быть проблема вот что шлёт в сом
>>>stack>>>

ctx: cont
sp: 3ffffec0 end: 3fffffc0 offset: 0000
3ffffec0: ffffffff 3fffc6fc 00000001 000007cf
3ffffed0: 000000fe 00000000 00000000 00000000
3ffffee0: 00000000 00000000 00000000 00ff0000
3ffffef0: 5ffffe00 5ffffe00 00000020 00000000
3fffff00: 00000002 00000010 3ffee2f0 4020249e
3fffff10: 401007fe 4614a4af 0009cd00 402024b4
3fffff20: 40101c95 0009cd73 3ffee2f0 402029c5
3fffff30: 00000000 3ffee44c 00000012 3ffee3f0
3fffff40: 3ffee2f0 3ffee44c 00000012 3ffee3f0
3fffff50: 3ffee2f0 00000810 3ffee2f0 40202a74
3fffff60: 3ffee2f0 00000810 3ffee2f0 401001e1
3fffff70: 3ffee2f0 3ffee35c 000003e8 402013c9
3fffff80: 3fffdad0 3ffee35c 3ffee2f0 402010b7
3fffff90: feefeffe feefeffe feefeffe 3ffee3f0
3fffffa0: 3fffdad0 00000000 3ffee3b0 402020ec
3fffffb0: feefeffe feefeffe 3ffe84e8 40101109
<<<stack<<<
.⸮V!⸮⸮@H ISR not in IRAM!

User exception (panic/abort/assert)
Abort called

Отправлено спустя 5 часов 33 минуты 34 секунды:
Проверил датчик рабочий на нано с стандартным блоком работает, получается пб не работает с dht11
Вложения
dh11.flp
(59.79 КБ) 57 скачиваний

aidar_i
Полковник
Сообщения: 3122
Зарегистрирован: 24.12.2016{, 16:55}
Репутация: 675
Откуда: Уфа
Имя: Айдар
Контактная информация:

Датчики температуры и влажности типа DHT(для ESP8266 и Ардуино)

#23

Сообщение aidar_i » 02.12.2020{, 17:42}

Попробуйте задать D2 в GPIO.

tolochko
Сержант
Сообщения: 247
Зарегистрирован: 30.11.2016{, 16:58}
Репутация: 7
Откуда: Днепропетровск

Датчики температуры и влажности типа DHT(для ESP8266 и Ардуино)

#24

Сообщение tolochko » 02.12.2020{, 22:19}

Добрый вечер
У кого есть опыт применения датчиков влажности в помещениях с высокой влажностью
Применял DHT и HDC1080
На высокой влажности сильно завышают показания

tolochko
Сержант
Сообщения: 247
Зарегистрирован: 30.11.2016{, 16:58}
Репутация: 7
Откуда: Днепропетровск

Датчики температуры и влажности типа DHT(для ESP8266 и Ардуино)

#25

Сообщение tolochko » 02.12.2020{, 22:46}

В комнате стоят 2 психрометра обычный стеклянный
И програмный на двух 18B20
Они показывают 80% а пленочные 100%

Uasya
Рядовой
Сообщения: 14
Зарегистрирован: 16.03.2019{, 08:39}
Репутация: 1
Откуда: Уфа
Имя: Василий

Датчики температуры и влажности типа DHT(для ESP8266 и Ардуино)

#26

Сообщение Uasya » 06.01.2021{, 19:39}

Спасибо за блок!
aidar_i писал(а):
09.09.2018{, 14:37}
DHT____ESP3266_(CODE).ubi
на ESP32 работает отлично. Проблема была в одновременно подключеных двух датчиках. Второй влажность показывал не корректную. С твоими блоками Все супер на ESP32, flprog 7.3.0, два DHT22

Отправлено спустя 2 часа 17 минут 15 секунд:
aidar_i писал(а):
09.09.2018{, 14:37}
DHT____ESP3266_(CODE).ubi
А как-то на нем можно delay заменить на millis?

aidar_i
Полковник
Сообщения: 3122
Зарегистрирован: 24.12.2016{, 16:55}
Репутация: 675
Откуда: Уфа
Имя: Айдар
Контактная информация:

Датчики температуры и влажности типа DHT(для ESP8266 и Ардуино)

#27

Сообщение aidar_i » 06.01.2021{, 22:07}

Можно, попробуйте сами, в сети много примеров. Если не получится, помогу :)

Uasya
Рядовой
Сообщения: 14
Зарегистрирован: 16.03.2019{, 08:39}
Репутация: 1
Откуда: Уфа
Имя: Василий

Датчики температуры и влажности типа DHT(для ESP8266 и Ардуино)

#28

Сообщение Uasya » 07.01.2021{, 09:34}

В общем сначала просто удалил строку с delay, все заработало, но слишком часто опрос шел. Вставил константу для currentTime, добавил в блоке функцию. Все в коде появилось, но вместе с моей функцией, в код добавляется и его родная функция. Что я делаю не так, пните меня в нужную сторону пожалуйста.
Изображение

texbez
Лейтенант
Сообщения: 355
Зарегистрирован: 20.11.2016{, 19:57}
Репутация: 9
Откуда: Ростов на дону

Датчики температуры и влажности типа DHT(для ESP8266 и Ардуино)

#29

Сообщение texbez » 18.01.2021{, 19:25}

Не работает датчик температуры ниже -10гр. с этим блоком.Грешил на китайские датчики AM2301 (поменял их 3 шт.),сегодня поменял на DHT 22 и картина одна и та же- как только температура опускается ниже -9 гр. показания идут -1гр..Подсоединил сейчас нанку со штатным блоком к этому датчику - всё нормально.

Отправлено спустя 1 час 55 минут 53 секунды:
texbez писал(а):
18.01.2021{, 19:25}
Не работает датчик температуры ниже -10гр. с этим блоком.Грешил на китайские датчики AM2301 (поменял их 3 шт.),сегодня поменял на DHT 22 и картина одна и та же- как только температура опускается ниже -9 гр. показания идут -1гр..Подсоединил сейчас нанку со штатным блоком к этому датчику - всё нормально.
Извиняюсь товарищи - вопрос снят, всё работает.
"Дело было не в бобине....,ну и так дальше по тексту (это я про себя, если что).

mishail
Рядовой
Сообщения: 6
Зарегистрирован: 01.06.2021{, 09:23}
Репутация: 0
Откуда: Альметьевск
Имя: михаил

Датчики температуры и влажности типа DHT(для ESP8266 и Ардуино)

#30

Сообщение mishail » 23.06.2021{, 09:57}

Добрый день. Никак не могу заставить работать DHT22. Пробовал и на ESP8266 и на ESP12F. Нет показаний. Данный скетч тоже не дает показаний. Использовал d1,d2,d3 ESP8266 и GPIO2 GPIO4 на ESP12F. Скетч банален но прикладываю. Датчики пробовал разные. питание 3,3В сопротивление по питанию как положено.Пробовал и без него не данных. :smile37:
С библиотекой stDHT.h данные пошли. Да не уточнил плата EESP8266 NodeMCU v3
Вложения
Пример 1.flp
(255.56 КБ) 31 скачивание

aidar_i
Полковник
Сообщения: 3122
Зарегистрирован: 24.12.2016{, 16:55}
Репутация: 675
Откуда: Уфа
Имя: Айдар
Контактная информация:

Датчики температуры и влажности типа DHT(для ESP8266 и Ардуино)

#31

Сообщение aidar_i » 23.06.2021{, 11:57}

mishail писал(а):
23.06.2021{, 09:57}
Добрый день. Никак не могу заставить работать DHT22. Пробовал и на ESP8266 и на ESP12F. Нет показаний. Данный скетч тоже не дает показаний. Использовал d1,d2,d3 ESP8266 и GPIO2 GPIO4 на ESP12F. Скетч банален но прикладываю. Датчики пробовал разные. питание 3,3В сопротивление по питанию как положено.Пробовал и без него не данных. :smile37:
С библиотекой stDHT.h данные пошли. Да не уточнил плата EESP8266 NodeMCU v3
Поробуйте в блоке поставить DHTPIN 5. Подключить к d1. И в блоках УАРТ поставили скорость 9600, может в мониторе у Вас 115200 стоит.
Вот соответствие в схеме пинов на плате и GPIO.
СпойлерПоказать
nodemcu-v3-pinout-complete-final.png
Данные с датчика нужно записать в системный параметр.

mishail
Рядовой
Сообщения: 6
Зарегистрирован: 01.06.2021{, 09:23}
Репутация: 0
Откуда: Альметьевск
Имя: михаил

Датчики температуры и влажности типа DHT(для ESP8266 и Ардуино)

#32

Сообщение mishail » 23.06.2021{, 14:06}

вот скрин с UART с примера выше. пин D1 в настройках стоит 5 скорость 9600
Вложения
Скриншот 23-06-2021 135448.png

ecoins
Полковник
Сообщения: 2930
Зарегистрирован: 12.02.2016{, 11:40}
Репутация: 453
Откуда: Шатура
Имя: Энвер

Датчики температуры и влажности типа DHT(для ESP8266 и Ардуино)

#33

Сообщение ecoins » 23.06.2021{, 14:55}

mishail писал(а):
23.06.2021{, 09:57}
Добрый день. Никак не могу заставить работать DHT22. Пробовал и на ESP8266 и на ESP12F. Нет показаний. Данный скетч тоже не дает показаний. Использовал d1,d2,d3 ESP8266 и GPIO2 GPIO4 на ESP12F. Скетч банален но прикладываю. Датчики пробовал разные. питание 3,3В сопротивление по питанию как положено.Пробовал и без него не данных.
Эти сенсоры не устойчиво работают на 3в.
Подключите к +5В, а резистор подтягивающий выход к 3В (итого четыре провода).

mishail
Рядовой
Сообщения: 6
Зарегистрирован: 01.06.2021{, 09:23}
Репутация: 0
Откуда: Альметьевск
Имя: михаил

Датчики температуры и влажности типа DHT(для ESP8266 и Ардуино)

#34

Сообщение mishail » 23.06.2021{, 20:40}

ecoins писал(а):
23.06.2021{, 14:55}
Эти сенсоры не устойчиво работают на 3в.
Подключите к +5В, а резистор подтягивающий выход к 3В (итого четыре провода).
проверил переподключил эффект "0" с библиотекой stDHT.h все работает правда непонятные значения сыпятся явно не в градусах.Наличие сопротивления подтяжки к питанию и 3 или 5в роли не играет

Аватара пользователя
rw6cm
Полковник
Сообщения: 2284
Зарегистрирован: 06.09.2015{, 20:25}
Репутация: 334
Имя: Владимир

Датчики температуры и влажности типа DHT(для ESP8266 и Ардуино)

#35

Сообщение rw6cm » 24.06.2021{, 00:14}

mishail,
Почему с встроенным блоком не проверить?
СпойлерПоказать
2021_06_23_22_24_49_FLProg_7.3.7.png
Win10-64, FLProg (portable)

mishail
Рядовой
Сообщения: 6
Зарегистрирован: 01.06.2021{, 09:23}
Репутация: 0
Откуда: Альметьевск
Имя: михаил

Датчики температуры и влажности типа DHT(для ESP8266 и Ардуино)

#36

Сообщение mishail » 24.06.2021{, 22:01}

rw6cm писал(а):
24.06.2021{, 00:14}
Почему с встроенным блоком не проверить?
Благодарю всех за советы. Сам ступил китайцы на упаковке написали DHT22 а внутрь положили 11-тый.Хотя заказывал 22-ой.Вот такие они - эти китайцы а датчики не отличить визуально и на микрухе АЦП надписей нету.
Вдогонку. FLprog ругается на одновременное применение 2-х таких блоков. Это нормально?. Проясните с чем связано.

Аватара пользователя
rw6cm
Полковник
Сообщения: 2284
Зарегистрирован: 06.09.2015{, 20:25}
Репутация: 334
Имя: Владимир

Датчики температуры и влажности типа DHT(для ESP8266 и Ардуино)

#37

Сообщение rw6cm » 25.06.2021{, 07:13}

mishail писал(а):
24.06.2021{, 22:01}
FLprog ругается на одновременное применение 2-х таких блоков. Это нормально?. Проясните с чем связано.
Зайти в редактирование блока, и убрать галку с позиции "использовать один раз"
Буду ли блоки после этого корректно работать не скажу, надо вникать в код.
Win10-64, FLProg (portable)

ArtemArable
Сержант
Сообщения: 139
Зарегистрирован: 23.11.2020{, 16:46}
Репутация: 10
Имя: Artem

Датчики температуры и влажности типа DHT(для ESP8266 и Ардуино)

#38

Сообщение ArtemArable » 09.09.2021{, 19:36}

Приветствую всех!
Не получается завести DHT-22 на ESP-01S. Даже выложенные здесь проекты не работают. Проблема в назначении пина ESP. Описывалась здесь, но решения не помогают.

alexbonk
Рядовой
Сообщения: 28
Зарегистрирован: 05.10.2021{, 13:29}
Репутация: 1
Имя: алексей

Датчики температуры и влажности типа DHT(для ESP8266 и Ардуино)

#39

Сообщение alexbonk » 05.10.2021{, 15:03}

aidar_i писал(а):
09.09.2018{, 14:37}
DHT_ESP8266_1_(CODE).ubi
(30.52 КБ) 307 скачиваний
Пример DHT+ESP+WEB_4.flp
(205.63 КБ) 316 скачиваний
Вывел дополнительно выход параметра - температура точки росы.
t - температура, в С.
р - влажность в %.
d - температура точки росы.
time - время опроса в миллисекундах.
DHTPIN - пины ESP8266, куда подключаете.
DHTTYPE - тип датчика, DHT11, DHT21, AM2301, DHT22, AM2302.
не компилируется в ide.
Пишет нет библиотеки.
Есть у кого блок или пример с библиотекой?

не пойму как так: 600 раз скачали, но никого не смутило что внутри блока или примера нет библиотеки??

aidar_i
Полковник
Сообщения: 3122
Зарегистрирован: 24.12.2016{, 16:55}
Репутация: 675
Откуда: Уфа
Имя: Айдар
Контактная информация:

Датчики температуры и влажности типа DHT(для ESP8266 и Ардуино)

#40

Сообщение aidar_i » 05.10.2021{, 18:41}

alexbonk писал(а):
05.10.2021{, 15:03}
внутри блока или примера нет библиотеки??
Там есть ссылка, откуда можно скачать.
Вот с моего компа
PietteTech_DHT-8266.rar
(5.44 МБ) 49 скачиваний
Сами умеете устанавливать в Ардуино Иде?

Ответить

Вернуться в «Датчики и энкодеры»