Сделал : равномерно махать лазерной указкой по стене. В итоге машет совсем неравномерно

Сделал простенький проект: равномерно махать лазерной указкой по стене. В итоге оно машет совсем нервномерно. Скажите, в чем может быть причина?

Видео 20 секунд: servo.mp4 — Яндекс Диск

#include <Servo.h>

#define LASER 7
#define SERVO 6

#define SERVO_LEFT 150
#define SERVO_RIGHT 30
#define SERVO_TIME 1200

Servo servo;

//====================================================
void servo_throw(bool left_to_right)
{
  digitalWrite(LASER, HIGH);
  delay(200);
  servo.write(left_to_right ? SERVO_RIGHT : SERVO_LEFT);
  delay(200);
  digitalWrite(LASER, LOW);
}
//====================================================
void setup() 
{
  pinMode(LASER, OUTPUT);
  servo.attach(SERVO);
  servo.write(SERVO_LEFT);
}
//====================================================
void loop() 
{
  delay(1000);
  servo_throw(true);
  delay(1000);
  servo_throw(false);
}

Что-бы получить ответ - пройдите капчу. Бип-бип.

Да, так и должно быть, иначе стена должна быть вогнуто-круглая. Надо в школе учиться было :slight_smile:

2 лайка

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

круглость стены не при чем: серва дергается неравномерно, на видео это видно

А проходить её должен я! И ведь я реально не знаю куда жать! Обведите кружочками и расставьте циферки.

Питание проверьте. И, вообще-то, принято схему выкладыать

Ставлю на плохую пайку проводов к Ардуине. При вращении сервы всё трясётся-дёргается, возможно, контакт теряется.
Ну или, как вариант, серва убитая (её потенциометр).

Пайка плохая, да - перепаяю. Я паяльник первый раз взял в руки неделю назад :slight_smile:

Мне пришло в голову, что servo.write() - это может быть асинхронная команда, т.е. управление возвращается к скетчу ДО того, как привод реально повернулся на указанный угол. И тогда получается, что привод получает следующую команду ДО того, как закончил выполнение предыдущуей- и дергается, болезный.

То, что я написал выше - имеет смысл? Напрямую в документации разъяснений за синхронность/асинхронность этой команды не нашел.

Можете легко поверить, увеличив задержку на гарантировано большее значение, чем время поворота))

Ну, а мы-то чем виноваты?

Равномерное угловое движение лазера приводит к неравномерному движению пятна на плоской стене. Вы в школе учились? Геометрия-планиметрия была? Оптика геометрическая? Хотя до этого ещё далеко - надо просто заставить серву двигаться.

Не можете её преодолеть :slight_smile:

Проверьте скетчем из интернета на равномерное движение.

Даже не пытался. Оно мне надо?

Проблема у кого – у меня или у ТС? Вот, у кого проблема, тот пусть и преодолевает.

Будьте аккуратно с термотравмами. Сначала поучитесь паять-лудить-снимать окислы. Точнее в обратном порядке.

Это-то, как раз, нормально – в традициях отечественной инженерной школы. Вы знаете ответ на загадку: “Что такое “не жужжит и в зад не лезет””? Так вот, это отечественное приспособление для жужжания в заду.

1 лайк

Недавно поворотную видеокамеру чинил. Головой крутила нехотя. Причина - на соплях державшийся проводок до двигателя. Пропаял - все починилось.

Если капчу победить, то из кино понятно, что имеется ввиду под неравномерностью.
Она у него именно в серве. По скетчу она должна двигаться туда-сюда почти от края до края, а на деле иногда случаются срывы, когда серва не на заданный угол поворачивается, а на сколько получится. При этом собрано всё так, что серва за провода ардуину туда сюда таскает, всё болтается, а пайка конкретно новичковая. Я поэтому на неё и грешу.

Не знаю, чем вы Я обидели, но у меня открывается сразу.

++

Сам удивляюсь! Ссылку открывал с компа, где я в Яндексе залогинен. Только что ссылка через переадресацию… Не знаю.
А вот с планшета, с которого сейчас пишу, действительно без капч открывается.
Не поймёшь этих Яндексов…