Можно ли получить значения только во время вибрации/движения с акселерометра (ADXL335/MPU6050)?

Я пытаюсь сделать носимый датчик движения, используя плату ESP32 и акселерометр ADXL335.

В настоящее время, когда я последовательно печатаю выходные данные, я также получаю значение наклона, которое имеет разные значения при разной ориентации (я печатаю среднее значение X, Y и Z). Поэтому, когда я пытаюсь зажечь светодиод, установив пороговое значение, среднее значение отличается в разных ориентациях.

Есть ли способ получать значения только во время вибрации и быть равными нулю, когда вибрации/движения тела нет.

Заранее спасибо, ребята, за помощь.

, 👍-1

Обсуждение

я думаю, что ваш вопрос должен быть о «распознавании движения», @jsotola


2 ответа


1

Ускорение является векторной величиной. Поэтому вместо того, чтобы смотреть на средние значения X, Y и Z, вам, вероятно, следует смотреть на величину вектора ускорения, то есть (X ^ 2 + Y ^ 2 + Z ^ 2) ^ 0,5. Затем вы можете установить порог ускорения, ниже которого вы не будете отправлять данные.

Преимущество использования величины вектора ускорения заключается в том, что она не зависит от ориентации устройства. Например, если вы поместите устройство на стол вдоль оси X, акселерометр покажет что-то вроде X = -g, Y = 0, Z = 0, где g — ускорение свободного падения. Точно так же, если вы поместите устройство на стол под углом 45 градусов между осями X и Y, акселерометр покажет что-то вроде X = -g sqrt(2)/2, Y=-g sqrt(2)/2, Z=0. . В обоих случаях величина вектора ускорения равна g. С другой стороны, средние значения будут -g/3 и -g sqrt(2)/3 соответственно, как вы заметили в "... среднее значение отличается в разных ориентациях".

,

Большое спасибо за помощь @Kavka. Я попробую так., @aadi_k

** Тем не менее величина отличается ** с разной ориентацией., @aadi_k


0

Да.

Линейное ускорение на заданной оси = фактическое ускорение - гравитационное ускорение

Гравитационное ускорение по любой оси = Величина вектора силы тяжести x Косинус угла оси с вектором силы тяжести

,