Программирование акселлерометра на Delphi XE3
От: Самоучка Россия  
Дата: 06.01.16 15:44
Оценка:
Всем привет.
Программирую акселерометр под Delphi XE3 для Android, понимаю, что нужно произвести калибровку девайса перед использованием, что и пытаюсь сделать следующим способом:

по логике вещей, по каждой оси должна быть своя более или менее фиксированная погрешность, которую если вычесть из значения показываемого акселерометром при движении, получим значение ускорений по осям, с поправкой конечно на ускорение свободного падения.
axk, ayk, azk: double;          // калибровочные значения для линейного ускорения
ax,ay,az: Double;               // значения ускорений акселерометра
angleX, angleY, angleZ: Double; // угол наклона относительно вертикальной плоскости
...............
angleX:=90;
angleY:=90;
angleZ:=0;

axk:=RoundTo(MotionSensor1.Sensor.AccelerationX,-3);
ayk:=RoundTo(MotionSensor1.Sensor.AccelerationY,-3);
azk:=RoundTo(MotionSensor1.Sensor.AccelerationZ,-3)-cos(AngleZ)*9.8;
...............

// по срабатыванию таймера
ax:=(RoundTo(MotionSensor1.Sensor.AccelerationX,-3)-(cos(AngleX)*9.8+ axk));
ay:=(RoundTo(MotionSensor1.Sensor.AccelerationY,-3)-(cos(AngleY)*9.8+ ayk));
az:=(RoundTo(MotionSensor1.Sensor.AccelerationZ,-3)-(cos(AngleZ)*9.8+ azk));


у меня пока что ситуация следующая, ложу телефон на ровную поверхность, после чего просто тупо нажимаю контрол на дисплее, дальше НЕ ТРОГАЮ ВООБЩЕ, т.е. по логике вещей ускорение должно быть примерно равно 0, но у мея мля на двух осях x и y показывает ускорение 4,39!!!! как будто я его на стиралку положил. Не понимаю в чем дело?
Re: Программирование акселлерометра на Delphi XE3
От: BlackEric http://black-eric.lj.ru
Дата: 06.01.16 15:55
Оценка:
Здравствуйте, Самоучка, Вы писали:

С>Всем привет.

С>Программирую акселерометр под Delphi XE3 для Android, понимаю, что нужно произвести калибровку девайса перед использованием, что и пытаюсь сделать следующим способом:

Пример
https://github.com/BlackEric001
Re[2]: Программирование акселлерометра на Delphi XE3
От: Самоучка Россия  
Дата: 06.01.16 16:04
Оценка:
Здравствуйте, BlackEric, Вы писали:

Пример

я его уже скачивал, там ошибка выскакивает:"Тег конца head не соответствует тегу начала link" и проект из за этого даже не открывается, а если файлы по отдельности открывать, то там идет XML вариант

тут тоже пример не ахти, да и как я понял мобильные девайсы почему то наотрез отказываются сообщать и углы поворота по датчику TOrientationSensor и угловые ускорения по датчику TMoutionSensor, в обоих случаях выдается не числовое значение NAN почему то.
Отредактировано 06.01.2016 16:12 Самоучка . Предыдущая версия . Еще …
Отредактировано 06.01.2016 16:11 Самоучка . Предыдущая версия .
Отредактировано 06.01.2016 16:10 Самоучка . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.