Нужен ГУРУ библиотеки AccelStepper, для доработки кода

Всем привет.
Есть слайдер, который возит тележку с прикрепленным к ней телефоном для съемки…

Один шаговый двигатель, один концевик, для поиска начального положения, и лазерный диод. Все это управляется платой Arduino Nano w/ATmega328(Old b…) ( загружаю скетч через телефон by ArduinoDroid, и полное описание платы там обрезано, но в данной конфигурации скетч выполняется без глюков…)

Вот написанный мной скетч

#include <AccelStepper.h>

AccelStepper Stepper1(1, 13, 12); // Использует пин 12 и 13 для dir и step, 1 - режим "external driver" (A4988)

int LASER = 8; // Пин лазера.

int buttonPin = 11; // Пин концевика.

static bool newZeroPoint = true; // Флаг указывающий, что надо найти сначала нулевую позицию, а потом делать остальное.

void setup() {
  pinMode(buttonPin, INPUT); //
  pinMode(LASER, OUTPUT); // инициализируем Pin8 как выход
  Stepper1.setMaxSpeed(1000); //устанавливаем максимальную скорость вращения ротора двигателя (шагов/секунду)
  // скорость перемещения по слайдеру 20 секунд -- Stepper1.setMaxSpeed(1800);
  Stepper1.setAcceleration(300); //устанавливаем ускорение (шагов/секунду^2)
}

void loop() {
  // Поиск начальной позиции.
  if (newZeroPoint)
  {
      if (digitalRead(buttonPin)) 
      {
          // Если концевик сработал, то выставляем нуливую позицию и завершаем поиск.
          Stepper1.setCurrentPosition(0);
          Stepper1.moveTo(100); 
          Stepper1.runToPosition(); 
          delay(1000);  // Пауза в 1 сек
          newZeroPoint = false;
      } else
      {
        // Двигаемся влево на один шаг, до тех пор пока не сработает концевик.
        if (Stepper1.distanceToGo() == 0) {Stepper1.moveTo(Stepper1.currentPosition() - 1);}
        Stepper1.run();
      }
  }
  else
  {
	digitalWrite(LASER, HIGH);   // Включение лазера на 1 секунду
	delay(1000); // Включение лазера на 1 секунду
	digitalWrite(LASER, LOW); // Выключение лазера
	
    Stepper1.moveTo(30000);  // Позиция №1
    Stepper1.runToPosition();  // Ждем пока двигатель не встанет в заданную позицию
    delay(5000);  // Пауза в 5 сек
	
    digitalWrite(LASER, HIGH);   // Включение лазера на 1 секунду
	delay(1000); // Включение лазера на 1 секунду
	digitalWrite(LASER, LOW); // Выключение лазера
	
	Stepper1.moveTo(-30000);  // Позиция №1
    Stepper1.runToPosition();  // Ждем пока двигатель не встанет в заданную позицию
    delay(5000);  // Пауза в 5 сек
  }
}

Изменения предполагают что лазерный диод должен работать в течении перемещения тележки (во время работы двигателя) с настраиваемыми параметрами периодов ON и OFF для лазерного диода. ( сажем 0,2 сек включен 0,8 сек выключен).

Пины для подкючения нужно взять из моего кода.

Андрей, совсем советы других не воспринимаете?
Я же вам уже трижды показал ошибку в этом коде.

Озвучь бюджет (со сколькими «линкольнами» готов расстаться, ну или набережными Хабаровска ). )))

Ребята, а как обратится к админу. Ветка коммерческая…, ну может быть что заказчик совсем тупой, но он платит деньги. А коментарии о тупизне заказчика по моему тут не к месту.

Я не специалист в Arduino, поэтому перполагаю, что исполнитель сам озвучит Желаемую сумму.

Могу взяться. wrk.sadman@gmail.com

Что-то не увидел такого в этой теме. Не ошиблись?

1000р
kakmycmail@gmail.com

Благодарю sadman41. Быстро, качественно, с пояснениями…
Тема закрыта.