@boOogdan

Кто поможет с программированием на Arduino?

Дано: ардуино с акселерометром. В loop через delay(100) получается координата x.

Предназначение устройства: человек делает движение и поворачивает устройство на ~90 градусов. Значение X изменяется с +-3000 до ~-15000. В среднем это движение занимает от 0,7 до 1,5 секунд. Как можно поймать этот момент?
  • Вопрос задан
  • 816 просмотров
Пригласить эксперта
Ответы на вопрос 1
MikhailD
@MikhailD
Developer
Если я правильно понял задачу, как-то так:
const int minX = 3000;
const int maxX = 15000;
bool isAction = false;

void loop()
{
    int x = GetX();
    if (x >= maxX && !isAction)
    {
        isAction = true;
        // some code . . .
    }
    else if (x <= minX && isAction)
    {
        isAction = false;
    }

    delay(100);
}


минимальное и максимальное значение X нужно подобрать.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы