Проблема с настройкой DHT22

Использование датчиков и обсуждение пользовательских блоков к ним
Ответить
Allex901
Рядовой
Сообщения: 5
Зарегистрирован: 29 дек 2015, 10:53
Откуда: Санкт-Петербург

Проблема с настройкой DHT22

Сообщение Allex901 »

Добрый день!
Гуру, помогите разобраться с DHT22. Есть задача - вывод на экран №1 показаний времени; на экран №2 - температуры и влажности. На часах настроено мигающее двоеточие секунд с частотой мигания 1 раз в секунду.
Проблема - если в настройках DHT22 установить опрос датчика каждую секунду, то мигающее двоеточие секунд мигает в два раза реже, т.е. раз в 2 секунды; а также переключение между экранами дисплея становится некомфортным - если кнопка переключения экранов Кн1 нажимается в момент опроса датчика, ардуинка на нажатие кнопки не реагирует.
Второй момент не проблема - его видимо, легко решить, добавив таймер TOF на Кн1, а вот с неправильным миганием двоеточия справится не могу.
В принципе, частый опрос DHT22 не требуется, достаточно было бы и раз в 30-60 секунд. Но тогда требуется получить актуальные данные с него по событию - например, по нажатию кнопки Кн2. Пробую, подключаю Кн2 к входу разрешения опроса DHT22. В настройках DHT22 оставляю опрос раз в секунду, и как я понимаю, пока Кн2 не нажата, опроса быть не должно. И здесь для меня сюрприз - не смотря на ненажатую кнопку Кн2, двоеточие мигает также с частотой раз в 2 секунды, что указывает на то, что датчик все равно опрашивается (и "подвешивает" ардуинку). Если я в DHT22 настраиваю опрос раз в 30 секунд, ситуация такая - двоеточие секунд работает с нужной частотой 1Hz, но нажатие Кн2 не приводит к актуализации показаний с DHT22. Как можно решить эту проблему?
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Последний раз редактировалось Allex901 27 янв 2016, 10:24, всего редактировалось 1 раз.
Аватара пользователя
Олег
Полковник
Сообщения: 1532
Зарегистрирован: 13 окт 2015, 16:47
Контактная информация:

Проблема с настройкой DHT22

Сообщение Олег »

Вы физически используете один дисплей, а зачем в схеме стоит два?
С кнопкой у вас происходит следующее. В Настройках входа у вас включен подтягивающий резистор, то-есть пока кнопка не нажата у вас на входе датчика висит высокий уровень, при нажатии появляется низкий. Инвертируйте выход кнопки.
Последний раз редактировалось Олег 27 янв 2016, 10:48, всего редактировалось 1 раз.
Allex901
Рядовой
Сообщения: 5
Зарегистрирован: 29 дек 2015, 10:53
Откуда: Санкт-Петербург

Проблема с настройкой DHT22

Сообщение Allex901 »

Второй дисплей в схеме установлен ошибочно, а с кнопкой это я сморозил;) Спасибо, теперь все работает так, как нужно.

Правильно ли я понимаю, что если мне требуется настроить, чтобы данные с DHT22  на дисплее актуализировались раз в 60 секунд или при нажатии кнопки Кн2, то существует один вариант: в настройках DHT22 настраиваем обновление раз в секунду, а внешними генератором подавать положительный импульс продолжительностью 1000 мс на вход En DHT22 раз в 60 секунд, а также на этот же вход завести Кн2, скажем, с таймером TOF на 1000 мс?
PS Тайминг в секунду указал для примера
Последний раз редактировалось Allex901 27 янв 2016, 12:18, всего редактировалось 1 раз.
Аватара пользователя
Олег
Полковник
Сообщения: 1532
Зарегистрирован: 13 окт 2015, 16:47
Контактная информация:

Проблема с настройкой DHT22

Сообщение Олег »

Не пробовал, но по-логике так и должно быть.
Allex901
Рядовой
Сообщения: 5
Зарегистрирован: 29 дек 2015, 10:53
Откуда: Санкт-Петербург

Проблема с настройкой DHT22

Сообщение Allex901 »

Спасибо, разобрался с Вашей помощью.
OlegAn1962
Лейтенант
Сообщения: 361
Зарегистрирован: 07 сен 2015, 23:53

Проблема с настройкой DHT22

Сообщение OlegAn1962 »

НовыйUser писал(а):далее на схемах просто блоком суммирования чисел подтягивается недостающий проценты к датчикам чтобы все показывали единый результат.
А откуда у вас такая уверенность, что ошибка будет линейна во всём диапазоне?
Аватара пользователя
Boroda
Капитан
Сообщения: 836
Зарегистрирован: 01 май 2016, 01:04
Откуда: Коломна
Имя: Станислав
Контактная информация:

Проблема с настройкой DHT22

Сообщение Boroda »

Не стану создавать новую тему.
Вопрос Сергею (разработчику):
Вставляю стандартный блок DHT22 на третью плату.

В начале секции loop() перед кодом первой платы вставляется код

Код: Выделить всё

float tempDht2;
tempDht2 = _dht1.readTemperature();
if (!(isnan(tempDht2))){_dht1t=tempDht2; }
tempDht2 = _dht1.readHumidity();
if (!(isnan(tempDht2))){_dht1h=tempDht2; }
а вот код на третьей плате выглядит так:

Код: Выделить всё

in_162745127_1 = (int(_dht1t));
....
in_162745127_2 = (int(_dht1h));
...
Смысл ставить эти датчики на отдельную плату с условием пропадает, т.к. основная часть кода, которая пожирает время, остается в основном цикле и работа блока корректируется только в его настройках. А можно сделать так: "где блок, там и код"? Я конечно поставил бит разрешения работы платы и этот же бит завел на блок, но как-то не красиво все это.
Последний раз редактировалось Boroda 08 фев 2017, 19:23, всего редактировалось 1 раз.
Аватара пользователя
support
Супермодератор
Сообщения: 1917
Зарегистрирован: 03 янв 2018, 11:45
Откуда: Астрахань
Имя: Сергей
Поблагодарили: 23 раза
Контактная информация:

Проблема с настройкой DHT22

Сообщение support »

Подождите выхода следующей версии. Там этот вопрос решон. Во первых опрос датчика будет происходить на той плате где он установлен, во вторых применена новая библиотека и опрос происходит намного быстрее. Существующий код писался в стародавние времена, когда о работе плат по условию даже и не планировалась.
Автор программы FLProg.
Аватара пользователя
Boroda
Капитан
Сообщения: 836
Зарегистрирован: 01 май 2016, 01:04
Откуда: Коломна
Имя: Станислав
Контактная информация:

Проблема с настройкой DHT22

Сообщение Boroda »

Спасибо, Сергей!
dim770
Рядовой
Сообщения: 19
Зарегистрирован: 04 ноя 2016, 11:24
Откуда: Калининград

Проблема с настройкой DHT22

Сообщение dim770 »

Добрый день!
Как можно организовать проверку исправности DHT22 аналогично: "if (isnan(h) || isnan(t) ) "?
Последний раз редактировалось dim770 28 апр 2017, 11:43, всего редактировалось 1 раз.
Аватара пользователя
slavas
Лейтенант
Сообщения: 596
Зарегистрирован: 14 сен 2015, 22:29
Откуда: Санкт-Петербург

Проблема с настройкой DHT22

Сообщение slavas »

dim770, какую проверку исправности? Если датчик не отвечает на экран выводится слово "NAN".
Аватара пользователя
slavas
Лейтенант
Сообщения: 596
Зарегистрирован: 14 сен 2015, 22:29
Откуда: Санкт-Петербург

Проблема с настройкой DHT22

Сообщение slavas »

fozik, какой датчик ( на плате или нет), кабель,как подключили.
Экстрасенсы устали.
Ответить

Вернуться в «Датчики температуры, влажности и давления»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 6 гостей