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

Савелий
Offline
Зарегистрирован: 26.10.2019

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

Под импульсными значениями я подразумеваю примерно такие значения:
400
410
400
430
500 (скачок)
470
450
430
400
400
410
430
490 (скачок)
и тд
но при следующем измерении (перезапуске микроконтроллера) может быть такой расклад
500
513
512
500
550 (скачок)
530
515
490
480
545 (скачок)
помогите пожалуйста

b707
Offline
Зарегистрирован: 26.05.2017

отслеживайте не само значение. а изменение между текущим и предыдущим значением. Например. если разница между значениямибольше 50 - это "скачок"

nik182
Offline
Зарегистрирован: 04.05.2015

Была тема по измерению скорости пули. Там тоже искали скачки примерно по таким данным. Посмотрите, может подойдет. 

Савелий
Offline
Зарегистрирован: 26.10.2019

А если "скачок" не резкий, а плавный? :

400

430

450

470

490 (скачок)

b707
Offline
Зарегистрирован: 26.05.2017

Савелий пишет:

А если "скачок" не резкий, а плавный? :

тогда это не скачок

прежде чем программировать. вам нужно четко для себя сформулировать признаки "скачка" и "не_скачка"

как вариант, можно считать скользящее среднее по десяти значениям и сравнивать текущее значение с этим средним. Если отличается больше некого порога - скачок. меньше -нет

Савелий
Offline
Зарегистрирован: 26.10.2019

Спасибо. Просто делаю пульсометр на TCRT5000 и нужно выводить значения пульса. Только вот скачки могут быть разными по "высоте" есть еще идеи? Сейчас пришлю код который написал, может там где-то ошибка

DetSimen
DetSimen аватар
Offline
Зарегистрирован: 25.01.2017

Савелий пишет:

делаю пульсометр на TCRT5000 

он для этого не предназначен

b707
Offline
Зарегистрирован: 26.05.2017

Савелий пишет:

скачки могут быть разными по "высоте" есть еще идеи?

у меня никаких идей и не должно быть. повторяю - вам нужно определится. что есть скачок. Без этого вы ничего не напрограммируете

Савелий
Offline
Зарегистрирован: 26.10.2019

А вот и скачки

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

Никакие это не скачки - обычный шум в несколько единиц младшего разряда.

Савелий, прежде, чем работать с такими данными, их следует пропустить через ФНЧ в несколько раз ниже частоты дискретизации.