Я работаю над приложением, где мне нужно обнаружить движение головы кого-то, особенно когда кто-то кивает. Для этого мы поставили Arduino на крышке с акселерометром (MPU-6050). Акселерометр возвращает значения от 0 до 10 от горизонтали до искажения до 0 и -10 для поиска бит вниз.Обнаружение кивок с Arduino
Мне нужно распознать шаблон в значениях, которые представляют собой простой кивок, например this. Мне сказали, что я должен был использовать что-то вроде:
for(int x = 0; x < 100; x++){
result += abs(oldvalue) + abs(newvalue)/2;
}
Это позволит получить среднее значение более 100 циклов (например, 0,5 секунды), но это невозможно определить Wheter человек кивая или не основано на result
,
Я сам думал о проверке какой-то формы волны, которая на самом деле кивает. Старое значение будет некоторое время ниже или выше другого значения, но не уверен, как это сделать, поскольку я не могу приостановить мой код, потому что он также проверяет вывод от других датчиков (микрофон и компас).
Вы пробовали взятие производная? –
Я этого не сделал, не совсем уверен, как, но я попробую. Спасибо за ваш вклад. – Jef
При поиске периодического сигнала всегда учитывайте БПФ. Вейвлет-преобразование - еще один вариант. – MSalters