Автоматическая тележка для камеры
-
- Сообщения: 30
- Зарегистрирован: 07 дек 2014, 22:57
Re: Автоматическая тележка для камеры
ок, тогда подскажите пожалуйста какой драйвер нужно купить, чтобы все заработало как надо.
такой подойдет? ARDUMOTO
такой подойдет? ARDUMOTO
Последний раз редактировалось arthurilyuts 23 дек 2014, 01:45, всего редактировалось 1 раз.
- Mr.Kubikus
- Сотрудник ПАКПАК
- Сообщения: 1020
- Зарегистрирован: 22 окт 2010, 23:57
Re: Автоматическая тележка для камеры
Чтобы правильно выбрать драйвер надо знать параметры мотора, который будет стоять в изделии.
Вот с этим точно работает с мотором 12В 1А.
Вот с этим точно работает с мотором 12В 1А.
-
- Сообщения: 30
- Зарегистрирован: 07 дек 2014, 22:57
Re: Автоматическая тележка для камеры
Нашел данные по мотору:
DC 24V rpm 60 25W - URL тут
PS. по даташиту L289P, что стоит в Мотор-Шилд "ARDUMOTO" тянет до 46 Вольт и 2 Ампера на канал.
Теперь главное, чтобы аппаратная совместимость была с кодом.
DC 24V rpm 60 25W - URL тут
PS. по даташиту L289P, что стоит в Мотор-Шилд "ARDUMOTO" тянет до 46 Вольт и 2 Ампера на канал.
Теперь главное, чтобы аппаратная совместимость была с кодом.
- Mr.Kubikus
- Сотрудник ПАКПАК
- Сообщения: 1020
- Зарегистрирован: 22 окт 2010, 23:57
Re: Автоматическая тележка для камеры
На странице ARDUMOTO по вашей ссылке отсутствует информация, необходимая для принятия решения.
-
- Сообщения: 30
- Зарегистрирован: 07 дек 2014, 22:57
Re: Автоматическая тележка для камеры
Ураааа! Пришел новый Мотор-Шилд, а вместе с ним новые вопросы, точнее один вопрос.
Подключил все проводки как и на первый Мотор-Шилд, но вот что делать с Pin4 и Pin5?
Глянул по схематическим рисункам, (Pin4=Dir) и (Pin5=PWM).
Потом глянул на новый Мотор-Шилд и увидел что его (PWM=Pin3) и (Dir=Pin12)
Далее в Скетч-Коде и на страничке "Hardware_def.h" поменял значение выходов для "SB2"(вместо 3, прописал 4, а так же и проводок перенес на 4), для "M1_PWM_PIN" (вместо 5, прописал 3) и для "M1_DIR_PIN" (вместо 4, прописал 12) .
Урааааааааа!!!! Свершилось!!! Все заработало!!!
Вот тут видео как оно работает :
Ну, осталось дело за малым, все это хозяйство упаковать в красивую коробочку (пульт) и подключить уже в студии на реальную тележку : ) Ну и пустить в прямой эфир!!!!
Подключил все проводки как и на первый Мотор-Шилд, но вот что делать с Pin4 и Pin5?
Глянул по схематическим рисункам, (Pin4=Dir) и (Pin5=PWM).
Потом глянул на новый Мотор-Шилд и увидел что его (PWM=Pin3) и (Dir=Pin12)
Далее в Скетч-Коде и на страничке "Hardware_def.h" поменял значение выходов для "SB2"(вместо 3, прописал 4, а так же и проводок перенес на 4), для "M1_PWM_PIN" (вместо 5, прописал 3) и для "M1_DIR_PIN" (вместо 4, прописал 12) .
Код: Выделить всё
#define SB2_PIN 4
#define M1_PWM_PIN 3
#define M1_DIR_PIN 12
Вот тут видео как оно работает :
Ну, осталось дело за малым, все это хозяйство упаковать в красивую коробочку (пульт) и подключить уже в студии на реальную тележку : ) Ну и пустить в прямой эфир!!!!
- Вложения
-
- image-03-01-15-09-40.jpeg (286.66 КБ) 33579 просмотров
-
- image-03-01-15-09-08.jpeg (319.34 КБ) 33579 просмотров
- Mr.Kubikus
- Сотрудник ПАКПАК
- Сообщения: 1020
- Зарегистрирован: 22 окт 2010, 23:57
Re: Автоматическая тележка для камеры
Ура! Поздравляю с успешным запуском. Ну и с Новым Годом тоже =)
-
- Сообщения: 30
- Зарегистрирован: 07 дек 2014, 22:57
Re: Автоматическая тележка для камеры
Да, спасибо!!! И Вас с Новым Годом!
А можно еще вопрос?
Я тут вместе с новым мотор-шилдом еще и LCD (LcdI2Cmodule) прикупил вот точно такой, там только 4 провода http://zelectro.cc/LcdI2Cmodule.
Подключил к нашей схеме и даже какой-то текст прописал.
Но вот ни где в Скетч-Коде не нашел то "волшебное" слово, прописав которое, можно было бы считывать в %-ах "SPEED" и "RAMP".
Не поможете?
Что вписать вместо "lcd.print(SPEED_DATA);" и "lcd.print(RAMP_DATA);" ?
Я уже пробывал и "M1_SETP" и "M1_PWM", выдает только или "0" или "1".
А можно еще вопрос?
Я тут вместе с новым мотор-шилдом еще и LCD (LcdI2Cmodule) прикупил вот точно такой, там только 4 провода http://zelectro.cc/LcdI2Cmodule.
Подключил к нашей схеме и даже какой-то текст прописал.
Но вот ни где в Скетч-Коде не нашел то "волшебное" слово, прописав которое, можно было бы считывать в %-ах "SPEED" и "RAMP".
Не поможете?
Код: Выделить всё
lcd.print("SPEED");
lcd.setCursor(6,0);
lcd.print("%");
lcd.setCursor(8,0);
lcd.print(SPEED_DATA);
lcd.setCursor(0, 1);
lcd.print("RAMP");
lcd.setCursor(6,1);
lcd.print("%");
lcd.setCursor(8,1);
lcd.print(RAMP_DATA);
Я уже пробывал и "M1_SETP" и "M1_PWM", выдает только или "0" или "1".
- Вложения
-
- image-04-01-15-01-10.jpeg (73.9 КБ) 33579 просмотров
-
- Сообщения: 30
- Зарегистрирован: 07 дек 2014, 22:57
Re: Автоматическая тележка для камеры
Ураааааа! Сделал!
А именно, на странице "globals.h" добавил значения "int".
далее на страничке "control.ino" прописал "motorSpeed" и "rampSpeed"
Ну и на страничке "camera_motion_controller.ino" над "void setup" добавил код для LCD.
а под "void setup"
ну и под "void loop"
Таким образом на экране отображается значение в %-ах.
Вот только под строками
пришлось прописать несколько пробелов, так как когда 3-х значное число падает до 2-х или 1-ого значного, то оставались нули. Например от 100 до 0 выглядело так : 100 - 990 - 980 - 970 - 960 --- 000.
Прописав несколько пробелов, ситуация исправилась и лишнии нули перестали выходить. Почему так, не знаю : (
Главное работает!!!
ОГРОМНОЕ человеческое СПАСИБО Вам за помощь ув. Kubikus!!!
А именно, на странице "globals.h" добавил значения "int".
Код: Выделить всё
int M1_SETP, M1_RATE, motorSpeed, rampSpeed;
Код: Выделить всё
iTemp = map(R1, 0, 1023, 255, 0);
M1_SETP = constrain(iTemp, 0, 255);
motorSpeed = map(iTemp,255, 0, 100, 0);
iTemp = map(R2, 0, 1023, 50, 1);
M1_RATE = constrain(iTemp, 1, 50);
rampSpeed = map(iTemp, 50, 1, 0, 100);
Код: Выделить всё
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27,16,2);
Код: Выделить всё
lcd.init(); // Инициализация lcd
lcd.backlight(); // Включаем подсветку
lcd.setCursor(1,0); // Курсор находится в начале 1 строки
lcd.print("TV KANAL 7/24"); // Выводим текст в 1 строке
lcd.setCursor(0, 1); // Устанавливаем курсор в начало 2 строки
lcd.print("Robo Dolly v3.01");
delay(2000); // Ждем 2 сек
lcd.clear();
Код: Выделить всё
lcd.print("SPEED"); // Выводим текст в начале 1 строки
lcd.setCursor(6,0); // Устанавливаем курсор в 1 строке пропустив 6 символов
lcd.print("%"); // Выводим текст
lcd.setCursor(8,0); // Устанавливаем курсор в 1 строке пропустив 8 символов
lcd.print(motorSpeed); // Выводим текст
lcd.print(" ");
lcd.setCursor(0, 1); // Устанавливаем курсор в начало 2 строки
lcd.print("RAMP"); // Выводим текст
lcd.setCursor(6,1); // Устанавливаем курсор в 2 строке пропустив 6 символов
lcd.print("%"); // Выводим текст
lcd.setCursor(8,1); // Устанавливаем курсор в 1 строке пропустив 8 символов
lcd.print(rampSpeed); // Выводим текст
lcd.print(" ");
Вот только под строками
Код: Выделить всё
lcd.print(motorSpeed);
lcd.print(rampSpeed);
Прописав несколько пробелов, ситуация исправилась и лишнии нули перестали выходить. Почему так, не знаю : (
Главное работает!!!
ОГРОМНОЕ человеческое СПАСИБО Вам за помощь ув. Kubikus!!!
- Mr.Kubikus
- Сотрудник ПАКПАК
- Сообщения: 1020
- Зарегистрирован: 22 окт 2010, 23:57
Re: Автоматическая тележка для камеры
Всегда пожалуйста! Поздравляю с успешным решением задачи.
-
- Сообщения: 30
- Зарегистрирован: 07 дек 2014, 22:57
Re: Автоматическая тележка для камеры
А можно еще вопрос?
Какую переменную нужно прочитать в Скетч-Коде, что бы на LCD выводить значения "<<<Left" "Right>>>" (прописать направление движения тележки)?
На страничке "global.h" нашел значение "M1_DIR", если это оно, то как его правильно считать?
Я хочу прописать это в "if/else".
Подcкажите пожалуйста.
Какую переменную нужно прочитать в Скетч-Коде, что бы на LCD выводить значения "<<<Left" "Right>>>" (прописать направление движения тележки)?
На страничке "global.h" нашел значение "M1_DIR", если это оно, то как его правильно считать?
Я хочу прописать это в "if/else".
Подcкажите пожалуйста.