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

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

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

Датчики температуры и влажности типа 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 раз.

Аватара пользователя
dizzyy
Капитан
Сообщения: 752
Зарегистрирован: 24.11.2017{, 16:25}
Репутация: 37
Откуда: Червоноград
Имя: Марьян

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

#2

Сообщение dizzyy » 10.09.2018{, 09:55}

блок работает , тестил с esp01, в юарт шлет
в связи с тм1637 жрутся ...по отдельности работают, вместе нет.
буду пробовать другой блок для 1637..
просто удобно - есп+1637+дшт11 (может реле) все компактно ..

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

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

#3

Сообщение aidar_i » 10.09.2018{, 10:26}

Это блок тм1637 мешает. Какой блок использовали?

Отправлено спустя 1 час 2 минуты 21 секунду:
Можете проект выложить?

Аватара пользователя
dizzyy
Капитан
Сообщения: 752
Зарегистрирован: 24.11.2017{, 16:25}
Репутация: 37
Откуда: Червоноград
Имя: Марьян

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

#4

Сообщение dizzyy » 10.09.2018{, 13:59}

Пользовательский блок TM1637Full(beta6)
сейчас попробую последнюю версию блока для 1637..если непоможет то выложу

Отправлено спустя 49 минут 49 секунд:
вот проект часов малым в комнату (правда там под вемос сейчас, на нем наботает вот так ) а надо но есп на 1 и 3 пины и датчик на 00
Вложения
esp1.flp
(819.57 КБ) 151 скачивание

stypler
Сержант
Сообщения: 148
Зарегистрирован: 01.06.2018{, 07:25}
Репутация: 11

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

#5

Сообщение stypler » 10.09.2018{, 16:34}

dizzyy, Просто я решил отписаться, т.к. задавал вопрос на счет блоков пользователей.
Взял из вышеприведенной ссылки на схему. Заменил на ESP01 датчик оставил китайский на GPIO-2,
ТМ1637 посадил на GPIO-1 и GPIO-3, добавил реле на GPIO-0. всё работает. Раньше хотел видеть
знак после запятой, но для личного пользования на мой взгляд всё отлично.

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

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

#6

Сообщение aidar_i » 10.09.2018{, 18:35}

У Вас на Wemos работает? Новый датчик DHT попробуйте ПБ из первого сообщения - DHT_ESP8266.Вы использовали старый для Ардуино stDHT.
Последний раз редактировалось aidar_i 07.01.2019{, 18:00}, всего редактировалось 1 раз.

stypler
Сержант
Сообщения: 148
Зарегистрирован: 01.06.2018{, 07:25}
Репутация: 11

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

#7

Сообщение stypler » 10.09.2018{, 18:54}

aidar_i писал(а):
10.09.2018{, 18:35}
попробуйте ПБ из первого сообщения - DHT_ESP8266
Да, я пробовал вчера, но выводил в каскаду флоат, что то не получилось. Просто не разобрался, в каскаде изменился
вывод флоат из холдинг регистра. В следующие выходные попробую ещё. Из ESP01 нет выводов что бы подключить LCD.
NodeMcu все перевел.
Вложения
ESP01_chasy_term.flp
(876.72 КБ) 151 скачивание

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

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

#8

Сообщение aidar_i » 10.09.2018{, 19:21}

Переведите флоат в интежер штатным блоком.
Попробуйте подключить CDA - к 2, SCL - к 0,(Сюда можно подключить и LCD). DATA DHT - к 1 (ТХ), дополнительно еще попробуйте его к CH PD (вместе с Gpio- 1).

SerOv
Лейтенант
Сообщения: 569
Зарегистрирован: 06.01.2018{, 19:50}
Репутация: 26

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

#9

Сообщение SerOv » 10.09.2018{, 19:51}

Стал проверять пример. Пример DHT+ESP+WEB_1.flp и обнаружил интересную особенность. Если после прошивки убрать ножку (DHT22) с которой считываются показания. Значения в мониторе порта не обнуляются. Продолжается вывод температуры. Хотя ножка пустая. Это как?
Последний раз редактировалось SerOv 10.09.2018{, 20:20}, всего редактировалось 1 раз.

Аватара пользователя
dizzyy
Капитан
Сообщения: 752
Зарегистрирован: 24.11.2017{, 16:25}
Репутация: 37
Откуда: Червоноград
Имя: Марьян

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

#10

Сообщение dizzyy » 10.09.2018{, 20:18}

stypler писал(а):
10.09.2018{, 16:34}
Заменил на ESP01 датчик оставил китайский на GPIO-2,
ТМ1637 посадил на GPIO-1 и GPIO-3
такая же схема , по отдельности работает а в паре нет
можно ваш проект

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

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

#11

Сообщение aidar_i » 10.09.2018{, 20:31}

SerOv писал(а):
10.09.2018{, 19:51}
Продолжается вывод температуру
Вывод не продолжается, прежнее значение сохраняется в EEPROM (включен)и изображается на экране. Попробуйте изменить температуру, отключите EEPROM.
Применяйте DHT_ESP8266!

SerOv
Лейтенант
Сообщения: 569
Зарегистрирован: 06.01.2018{, 19:50}
Репутация: 26

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

#12

Сообщение SerOv » 10.09.2018{, 21:05}

aidar_i писал(а):
10.09.2018{, 20:31}
прежнее значение сохраняется в EEPROM и изображается на экране.
А для чего его надо сохранять в EEPROM? Так ведь не понятно что с датчиком? А если он накрылся.

Аватара пользователя
dizzyy
Капитан
Сообщения: 752
Зарегистрирован: 24.11.2017{, 16:25}
Репутация: 37
Откуда: Червоноград
Имя: Марьян

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

#13

Сообщение dizzyy » 10.09.2018{, 21:08}

aidar_i писал(а):
10.09.2018{, 20:31}
Применяйте DHT_ESP8266!
работает
теперь я понял...старая то была с + сериал что и мешало

так что можно спокойно добавить в описание работа с есп01 на 0 пине совмесно с тм1637 на пинах 1 и3 ..

Отправлено спустя 15 минут 6 секунд:
вот схема
СпойлерПоказать
1.JPG

SerOv
Лейтенант
Сообщения: 569
Зарегистрирован: 06.01.2018{, 19:50}
Репутация: 26

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

#14

Сообщение SerOv » 10.09.2018{, 21:31}

Вот по этой схеме. Все равно температура продолжает показываться. EEPROM здесь нет и все равно. показывает.
СпойлерПоказать
NS.jpg

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

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

#15

Сообщение aidar_i » 10.09.2018{, 21:41}

Проверил, ошибка была в ПБ, исправил и перезалил в первый пост.
В проекте можно добавить , если все выходы 0, вывод надписи на браузер"Неисправен датчик"
Последний раз редактировалось aidar_i 10.09.2018{, 22:31}, всего редактировалось 1 раз.

SerOv
Лейтенант
Сообщения: 569
Зарегистрирован: 06.01.2018{, 19:50}
Репутация: 26

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

#16

Сообщение SerOv » 10.09.2018{, 22:09}

Да все работает адекватно. Спасибо за блок.

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

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

#17

Сообщение aidar_i » 10.09.2018{, 22:29}

Перезалил пример, добавил исправность датчика и оформил чуть получше.

Аватара пользователя
Rovki
Полковник
Сообщения: 4872
Зарегистрирован: 22.04.2016{, 17:25}
Репутация: 269
Откуда: Чехов
Имя: Анатолий
Контактная информация:

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

#18

Сообщение Rovki » 10.09.2018{, 23:36}

stypler писал(а):
10.09.2018{, 18:54}
aidar_i писал(а):
10.09.2018{, 18:35}
попробуйте ПБ из первого сообщения - DHT_ESP8266
Да, я пробовал вчера, но выводил в каскаду флоат, что то не получилось. Просто не разобрался, в каскаде изменился
вывод флоат из холдинг регистра. В следующие выходные попробую ещё. Из ESP01 нет выводов что бы подключить LCD.
NodeMcu все перевел.
В каскаде сделали последовательность передачи байт и слов флоат по модбасу такой же как в FLProg 1,2,3,4 .
Электронщик до мозга костей и не только

stypler
Сержант
Сообщения: 148
Зарегистрирован: 01.06.2018{, 07:25}
Репутация: 11

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

#19

Сообщение stypler » 11.09.2018{, 15:05}

dizzyy, Вот сдесь схема, второй день работает без сбоев. viewtopic.php?p=54303#p54303

Отправлено спустя 5 минут 17 секунд:
Rovki, Я использовал блок Swap

stypler
Сержант
Сообщения: 148
Зарегистрирован: 01.06.2018{, 07:25}
Репутация: 11

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

#20

Сообщение stypler » 12.09.2018{, 18:03}

aidar_i,
aidar_i писал(а):
10.09.2018{, 22:29}
Перезалил пример, добавил исправность датчика и оформил чуть получше.
Кокой вывод указать в настройках ПБ DHT_ESP8266_1 что бы он работад с ESP01 У меня свободный только GPIO-2

Ответить

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