Комментарии 13
на реальной модели по мере строительства своего умного дома столкнулся с тем, что иногда датчики выдают значения взятые с «потолка».
Поэтому чтобы исключить ложные срабатывания, советую проверять данные на адекватность, например брать 3 значения и контролировать на разброс значений либо еще как.
Вот например скриншот для понимания.

Один из датчиков на регулярной основе «простреливает» какой-то ерундой. Раньше с ним все было ок, но спустя год работы он начал вот так чудить.
Поэтому чтобы исключить ложные срабатывания, советую проверять данные на адекватность, например брать 3 значения и контролировать на разброс значений либо еще как.
Вот например скриншот для понимания.

Один из датчиков на регулярной основе «простреливает» какой-то ерундой. Раньше с ним все было ок, но спустя год работы он начал вот так чудить.
Да, я тоже сталкивался с этой фигнёй, ещё бывает, просто не читаются. Вообще температуру лучше терморезистором мерять, и надёжней, и опрашивается мгновенно, а влажность (если это актуально) делать как Вы советуете.
в моем случае слишком много терморезисторов выйдет)))
температуры во всех помещениях, температура котла, бойлера, отопления, теплого пола, солнечных коллекторов.
Я решил что буду брать 3 пары крайних значений и оценивать по ним тенденцию падения или повышения температуры. Значения с большим выбросом от соседей в расчет не берутся.
температуры во всех помещениях, температура котла, бойлера, отопления, теплого пола, солнечных коллекторов.
Я решил что буду брать 3 пары крайних значений и оценивать по ним тенденцию падения или повышения температуры. Значения с большим выбросом от соседей в расчет не берутся.
А какие у Вас датчики везде стоят?
Получается у Вас МК как минимум секунд пять «висит», пока датчики опрашивает.
Благодарю. Я в «своих поделках» использую термисторы, а вот для влажности, обязательно поковыряю либу.
А это:
Вы экспериментальным путём подобрали? Повлияло ли на качество работы?
В свою очередь хочу порекомендовать Вам ещё одну библиотеку для ускорения ардуины.
А это:
70 вместо 250-ти
Вы экспериментальным путём подобрали? Повлияло ли на качество работы?
В свою очередь хочу порекомендовать Вам ещё одну библиотеку для ускорения ардуины.
Внутри DHT22 стоят два датчика, температуры и влажности. Время чтения каждого составляет 250 мс, то есть во время опроса (dht.readTemperature) вся программа «вешается» и обмен данными с ардуиной невозможен.
На самом деле, это не так. Датчик DHT22 отдаёт оба параметра вместе и нельзя запросить только один из них. Я не видел класс dht, но судя по вашему описанию, он делает запрос к датчику и возвращает только один из полученных параметров, хотя считать он обязан оба.
У вас в статье же есть ссылка на библиотеку DHT22, а вы используете класс dht. Почему?
Используйте DHT22. На сколько я могу судить при беглом взгляде на его код, он работает адекватнее: сначала вы делаете запрос DHT22::readData() (это будет занимать какое-то время, пусть даже те же 250 мс), а затем получаете результаты геттерами DHT22::getHumidity и DHT22::getTemperatureC (мгновенно).
Используйте DHT22. На сколько я могу судить при беглом взгляде на его код, он работает адекватнее: сначала вы делаете запрос DHT22::readData() (это будет занимать какое-то время, пусть даже те же 250 мс), а затем получаете результаты геттерами DHT22::getHumidity и DHT22::getTemperatureC (мгновенно).
Я на самом деле ненавижу этот датчик, то читается, то нет. Вобщем скверно работает, но другого, за те же деньги наверно нет.
Если Вас не затруднит, покажитете пожалуйста на примере, как правильно делать?
Исправил ссылку на библиотеку DHT.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Шаблон интерфейса для «умного дома» на Ардуино — третья часть