Помогите исправить скетч

Dronix
Offline
Зарегистрирован: 02.02.2014

Есть скетч управляющий панорамной головкой из 2х микро серво. Нужно исправить, вместо одной серво отвечающей за горизонтальный поворот будет шаговый двигатель (48 шагов полный оборот). Буду благодарен за помощь.

#include <Servo.h>
Servo servopan; // Поворот
Servo servotilt; // Наклон
int rows = 6; // Общее кол-во кадров по горизонтали (в расчете на 180 градусов)
int cols = 5; // Общее кол-во кадров по вертикали
int tiltmin = 30; // самое нижнее положение камеры
int tiltmax = 200; // самое верхнее положение камеры
int tiltcenter = 85; // положение при окончании съемки (для хранения)
int panmin = 30; // самое левое положение камеры
int panmax = 170; // самое правое положение камеры
int pancenter = 103; // положение при окончании съемки (для хранения)
int currentpan = 0; // Текущий текущая строка
int currenttilt = 0; // Текущий текущая колонка
int pan;
int tilt;
int delayset = 2000; // Задержка на установку позиции камеры, чтобы не было “смаза”
int delaypress = 1000; // Задержка на установку экспозиции
int delayshoot = 15; // Задержка на съемку
int delaystart = 2000; // Задержка после включения
void setup()
{
  servopan.attach(9); // подключаем сервпоривод поворачивающий камеру
  servotilt.attach(10); // подключаем сервопривод наклоняющий камеру
  pinMode(12, OUTPUT); // Конфигурим на выход. Это управляющий сигнал для USB
  digitalWrite(12, LOW);
  servotilt.write(tiltcenter); // устанавливаем в положение для хранения
  servopan.write(pancenter); // по центру
  delay(delaystart);
  digitalWrite(12, HIGH); // На всякий случай, т.к выл непонятный глюк с пропуском первого кадра
  delay(2000);
  digitalWrite(12, LOW);
  delay(1000);
  //*************************************************
  // servopan.write(panmin);
  // delay(5000);
  // servopan.write(panmax);
  // delay(60000);
  //*************************************************
}

void loop()
{
  for (currentpan = panmin; currentpan < panmax; currentpan = currentpan + (panmax - panmin)/rows)

  {
    servopan.write(currentpan);

    for (currenttilt = tiltmin; currenttilt < tiltmax; currenttilt = currenttilt + (tiltmax - tiltmin)/cols)
    {
      servotilt.write(currenttilt);
      delay(delayset);

      digitalWrite(12, HIGH); // Съемка
      delay(2000);
      digitalWrite(12, LOW);
      delay(1000);
    }
  }
  servotilt.write(tiltcenter); // устанавливаем в положение для хранения
  servopan.write(pancenter); // по центру
  delay(10000);
}

 

vvadim
Offline
Зарегистрирован: 23.05.2012

Проше порыться в гугле и найти готовый код для панорамной головки на шаговых моторах.

как пример http://arduino.ru/forum/proekty/robotizirovanaya-panoramnaya-golovka-nachalo-proekta

Dronix
Offline
Зарегистрирован: 02.02.2014

vvadim пишет:

Проше порыться в гугле и найти готовый код для панорамной головки на шаговых моторах.

как пример http://arduino.ru/forum/proekty/robotizirovanaya-panoramnaya-golovka-nachalo-proekta

Спасибо, прям в точку. Осталось только разобраться как настроить кол-во снимков по вертикали и горизонтали.