Решил заняться изучением микросхем акселерометров. Ну и купил LIS302DL, т.к. она была одна из доступных, а также наличие в ней интерфейса I2C, что, как я считаю, упрощает работу. И не требуется использование ADC - ножки будут свободные

Но не тут-то было. Сперва оказалось, надо разобраться с расчётом углов

УголX = arctan(Ax/(sqr(Ay*Ay + Az*Az)))
УголY = arctan(Ay/(sqr(Ax*Ax + Az*Az)))
УголZ = arctan(Az/(sqr(Ax*Ax + Ay*Ay)))
,где A мы получаем от микросхемы с небольшим перерасчётом, байт полученных данных умножить на чувствительность на бит. В случае FS = 0, +-2,3g -> чувствительность составит ~0,018. Дальше всё

Появились непонятки. Микросхема установлена на макетке. Макетка находится в спокойном положении, никто её не трогает, даже если её прижать пальцем к столу, данные по осям поступают с точностью +-2, т.е. непостоянны. Как с этим бороться, не знаю. Ещё по понятна работа регистра STATUS_REG, он всегда читается 255, даже если по некоторым осям данные не меняются. То, что они не меняются, оцениваю по считанным данным. Хотя я их считываю раз в две секунды. Возможно там они уже поменялись кучу раз

В приборе Примус введена калибровка. Вот по этому вопросу у меня полная загвоздка. Как вообще правильно проводить калибровку при работе с этой микросхемой и что это даёт? Подскажите пожалуйста.
Наткнувшись на данный форум, увидел, что slav0n разобрался с данной микросхемой. Поэтому и решил спросить здесь

Давайте разберём, как с ней работать, думаю многим будет интересно :)