Помогите исправить скетч
- Войдите на сайт для отправки комментариев
Вс, 22/02/2015 - 18:29
Есть скетч управляющий панорамной головкой из 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); }
Проше порыться в гугле и найти готовый код для панорамной головки на шаговых моторах.
как пример http://arduino.ru/forum/proekty/robotizirovanaya-panoramnaya-golovka-nachalo-proekta
Проше порыться в гугле и найти готовый код для панорамной головки на шаговых моторах.
как пример http://arduino.ru/forum/proekty/robotizirovanaya-panoramnaya-golovka-nachalo-proekta
Спасибо, прям в точку. Осталось только разобраться как настроить кол-во снимков по вертикали и горизонтали.