Скорость движения можно уменьшать (повышая задержки YAW_PERIOD/ROLL_PERIOD), хотя там есть выраженная ступенчатость из-за ограничений ардуиновской библиотеки Servo (шаг в один градус только).
Да, наверное стоило бы более подробно разобрать. Там один сервопривод вращает шестеренку, которая вращает другую шестеренку на колпачке указки. На валу второго сервопривода прикреплена платформа, на которой закреплены упомянутые элементы.
Все очень просто!!! Все из хлама. Лазер из DVD RW привода, линза из лазерной указки, 3 моторчика из CD и DVD приводов, три круглых зеркала из точилок купленных в кацтоварах, маленькая схема управления двигателями и… и все
тоже делал, только лет 20 назад, естесственно тоже без ардуины. Тупо до невозможности — два зеркальца, два моторчика и указка. http://impetus.obninsk.ru/pricol/prazdn.html
тоже — «на соплях».
всё хотел лазер зелёный помощнее и в небо на облака, но пока тормозил — лазеры в небо запретили.
Для повышения точности управления сервоприводом можно использовать полушаговый режим (выше токи, выше разрешение), самому набросать функцию шагания не так тяжело.
Это сервы для моделей, с управлением PWM, там к мотору не подкопаться. На самом деле можно ардуину заставить более точные импульсы выдавать, точность раза в четыре возрастет.
Сделать оказалось проще чем написать, заменил везде write на writeMicroseconds, уменьшил задержки в несколько раз и минимум/максимум на микросекунды, оно двигаться гораздо плавнее стало (не идеально все равно).
DIY дискотечная лазерная установка из указки и ардуинки