Ребята с математическими способностями! Помогите разобраться с самоделкой. Я сделал по сути лазерную указку, на ардуино и сервоприводах, чтобы развлекать котов дома. Таких проектов много в интернете. Но эту конструкцию я засунул в корпус от светодиодной лампы и её можно вкручивать в стандартный патрон потолочной люстры, что даёт больший простор для движения луча, чем аналогичные конструкции. Питание 220 вольт через преобразователь. Всё работает отлично, котькам нравится. На фото одна из ранних компоновок указки, на соплях.
Мне не понравилось, что каждый раз при закручивании игрушки в патрон приходится регулировать направление к земле. Поэтому я добавил в устройство плату акселерометра и хотел на основе его показаний корректировать максимальные углы отклонений обеих серв.
Но такие расчёты оказались слишком сложными для меня.
Ниже я добавляю картинку со взаимным расположением серводвигателей и платы акселерометра.
Два серводвигателя двигают качалку с закреплённым на ней лазером по двум осям. Голубая серва вращает синюю по оси Х, а синяя - уже вращает лазером по осям Z и Y. Датчик акселерометра закреплён неподвижно. Ось Х датчика совпадает с осью патрона, в котором смонтировано всё устройство. То есть, в зависимости от люстры, ось Х может быть направлена и вертикально вниз и быть под углом к земле.
Получается, у меня есть ускорения по трём осям AX, AY, AZ от 0 до 9,8g. Надо для двух серв вычислить углы поворота, при которых качалка будет "смотреть" вертикально вниз.
Пожалуйста, может кто нибудь подсказать хотя бы алгоритм расчёта? Или направьте на нужный ресурс, хочется доделать эту байду, уже надоело с ней возиться. А может у кого то возникнет идея проще, без акселерометра?