Страница 1 из 3

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

Добавлено: 09 сен 2018, 14:37
aidar_i
Во время процесса чтения сигнала любые прерывания повредят результат. В реализации 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
Пример DHT+ESP+WEB_4.flp
Вывел дополнительно выход параметра - температура точки росы.
t - температура, в С.
р - влажность в %.
d - температура точки росы.
time - время опроса в миллисекундах.
DHTPIN - пины ESP8266, куда подключаете.
DHTTYPE - тип датчика, DHT11, DHT21, AM2301, DHT22, AM2302.
Наш форумчанин проверил и на ESP32 здесь.

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

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

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

Работа датчиков с библиотекой TickerScheduler здесь.

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

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

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

Добавлено: 10 сен 2018, 11:29
aidar_i
Это блок тм1637 мешает. Какой блок использовали?

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

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

Добавлено: 10 сен 2018, 14:49
dizzyy
Пользовательский блок TM1637Full(beta6)
сейчас попробую последнюю версию блока для 1637..если непоможет то выложу

Отправлено спустя 49 минут 49 секунд:
вот проект часов малым в комнату (правда там под вемос сейчас, на нем наботает вот так ) а надо но есп на 1 и 3 пины и датчик на 00

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

Добавлено: 10 сен 2018, 16:34
stypler
[ref]dizzyy[/ref], Просто я решил отписаться, т.к. задавал вопрос на счет блоков пользователей.
Взял из вышеприведенной ссылки на схему. Заменил на ESP01 датчик оставил китайский на GPIO-2,
ТМ1637 посадил на GPIO-1 и GPIO-3, добавил реле на GPIO-0. всё работает. Раньше хотел видеть
знак после запятой, но для личного пользования на мой взгляд всё отлично.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Добавлено: 10 сен 2018, 21:23
dizzyy
aidar_i писал(а): 10 сен 2018, 20:31Применяйте DHT_ESP8266!
работает
теперь я понял...старая то была с + сериал что и мешало

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

Отправлено спустя 15 минут 6 секунд:
вот схема
[spoiler]
1.JPG
[/spoiler]

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

Добавлено: 10 сен 2018, 21:31
SerOv
Вот по этой схеме. Все равно температура продолжает показываться. EEPROM здесь нет и все равно. показывает.
[spoiler]
NS.jpg
[/spoiler]

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

Добавлено: 10 сен 2018, 21:41
aidar_i
Проверил, ошибка была в ПБ, исправил и перезалил в первый пост.
В проекте можно добавить , если все выходы 0, вывод надписи на браузер"Неисправен датчик"

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

Добавлено: 10 сен 2018, 22:09
SerOv
Да все работает адекватно. Спасибо за блок.

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

Добавлено: 10 сен 2018, 22:29
aidar_i
Перезалил пример, добавил исправность датчика и оформил чуть получше.

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

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

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

Добавлено: 11 сен 2018, 15:10
stypler
[ref]dizzyy[/ref], Вот сдесь схема, второй день работает без сбоев. viewtopic.php?p=54303#p54303

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

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

Добавлено: 12 сен 2018, 18:03
stypler
[ref]aidar_i[/ref],
aidar_i писал(а): 10 сен 2018, 22:29Перезалил пример, добавил исправность датчика и оформил чуть получше.
Кокой вывод указать в настройках ПБ DHT_ESP8266_1 что бы он работад с ESP01 У меня свободный только GPIO-2