Проверка показаний (прошу помощи).

egg
Offline
Зарегистрирован: 07.04.2015
Всем привет, проблемма в следующем, если данные с датчика приходят более 33 загорается светодиод, опрос идёт каждые 200ms но иногда прилетают левые данные например 33,4,33. Хотелось бы проверку чтоб выполнял действие если только данные более 33 приходят 5раз подряд. Направьте примером ). Спасибо
 
 
if (temp_c>33)
 
   digitalWrite(ledPin, 1);
else 
   digitalWrite(ledPin, 0);
 
Andrey-S
Offline
Зарегистрирован: 02.01.2015

А что у Вас за датчик такой? И как он подсоединен? 

vk007
Offline
Зарегистрирован: 16.06.2015

Заведите счетчик, который будет увеличиваться на 1, если значение температуры превышает 33 и иначе сбрасываться в 0. Как только счетчик достигнет значения 5 значит вы получили, что хотели.

Опрос температурного датчика 5 раз в секунду? Хм... Случаем не ds18b20 используете?

temp_c - я правильно понял - температура?

vk007
Offline
Зарегистрирован: 16.06.2015

Но правильней было бы воспользоваться медианным фильтром, чтобы отсеять левые данные. А то вдруг у вас помеха будет приходить через каждые 4 значения? В таком случае 5 подряд не дождетесь.

Вот как пример: http://chipenable.ru/index.php/embedded-programming/item/203-mediannyy-f...

egg
Offline
Зарегистрирован: 07.04.2015

датчик именно ds18b20, статистика показалла что где то 1-2 раза в 10 сек. сбой как добавить этот счетчик? был бы очень благодарен за пример. Спасибо.

dimax
dimax аватар
Offline
Зарегистрирован: 25.12.2013

egg, нужно лечить болезнь, а не симптомы. Разбирайтесь почему выдаёт левые значения.

bwn
Offline
Зарегистрирован: 25.08.2014

И не долбите его каждые 200мС. А за что dimax минуснули, чудны дела твои хосподи)))).

Проверьте все контакты, резистор и отсутствие колайдеров в непосредственной близости. Работают они весьма стабильно.

egg
Offline
Зарегистрирован: 07.04.2015

Всем Спасибо,  счетчик то что надо! все работает.

Gippopotam
Gippopotam аватар
Offline
Зарегистрирован: 12.09.2014

egg пишет:

Всем Спасибо,  счетчик то что надо! все работает.

Так что за датчик-то? Не многие датчики могут отдавать точную температуру так часто...

trembo
trembo аватар
Offline
Зарегистрирован: 08.04.2011

1. Часто- вредно. Они ещё и подогреваются от частых опросов.

2. Проверяйте CRC.