04.10.2014, 21:33 | #101 |
Junior Member
Регистрация: 03.10.2014
Адрес: Балашиха
Сообщений: 12
Вес репутации: 0 |
Re: CyberWrt модуль "Робот"
Код:
#include <CyberLib.h> // Подключаем библиотеку #include <Servo.h> // Подключаем библиотеку сервоприводов Servo myservo1; Servo myservo2; long previousMillis; // Нужно для таймера int LedStep = 0; // Счетчик для LED int i; #define robot_go {D4_Low; D5_High; D6_High; D7_Low;} #define robot_back {D4_High; D5_High; D6_High; D7_High;} #define robot_stop {D4_Low; D5_Low; D6_Low; D7_Low;} #define robot_rotation_right {D4_Low; D5_High; D6_High; D7_High;} #define robot_rotation_left {D4_High; D5_High; D6_High; D7_Low;} #define LED_ON {D13_High;} #define LED_OFF {D13_Low;} #define Headlamp_ON {D8_Low;} #define Headlamp_OFF {D8_High;} #define Buzzer {tone(11, 494, 500);} #define init {D4_Out; D5_Out; D6_Out; D7_Out; D8_Out; D13_Out;} uint8_t inByte; void setup() { myservo1.attach(9); // Подключение сервоприводов к порту myservo2.attach(10); // Подключение сервоприводов к порту D11_Out; D11_Low; // Динамик Headlamp_OFF; // Фары выкл по умолчанию for(uint8_t i=0; i<12; i++) beep(80, random(100, 2000)); //звуковое оповещение готовности робота init; // Инициализация портов //Buzzer; // Инициализация портов динамика UART_Init(57600);// Инициализация порта для связи с роутером wdt_enable (WDTO_500MS); } void loop() { unsigned long currentMillis = millis(); // Обновление таймера if (LedStep == 0 && currentMillis - previousMillis > 500){ // Задержка 0,5 сек. previousMillis = currentMillis; // обновление таймер LED_ON; // Включить LedStep = 1; // Счетчик шагов } if (LedStep == 1 && currentMillis - previousMillis > 500){ // Задержка 0,5 сек. previousMillis = currentMillis; // обновление таймер LED_OFF; // Выключить LedStep = 2; // Счетчик шагов } if (LedStep == 2 && currentMillis - previousMillis > 500){ // Задержка 0,5 сек. LedStep = 0; // Счетчик шагов } if (UART_ReadByte(inByte)) //Еесли что то пришло { switch (inByte) // Смотрим какая команда пришла { case 'x': // Остоновка робота robot_stop; break; case 'W': // Движение вперед robot_go; break; case 'D': // Повопорт влево robot_rotation_left; break; case 'A': // Поворот вправо robot_rotation_right; break; case 'S': // Движение назад robot_back; break; case 'U': // Серво поднимается myservo1.write(i -= 20); break; case 'J': // Серво опускается myservo1.write(i += 20); break; case 'H': // Серво поворачивается влево myservo2.write(i += 20); break; case 'K': // Серво поворачивается вправо myservo2.write(i -= 20); break; case 'Y': // Серво поворачивается 85 myservo1.write(85); myservo2.write(85); break; case 'F': // Включить фары Headlamp_ON; break; case 'V': // Выключить фары Headlamp_OFF; break; case 'I': // Гудок Buzzer; break; } } wdt_reset(); } |
04.10.2014, 21:49 | #102 |
Junior Member
Регистрация: 03.10.2014
Адрес: Балашиха
Сообщений: 12
Вес репутации: 0 |
Re: CyberWrt модуль "Робот"
Код рабочий.Все прекрасно работало. Удаленно реагировал бес задержек.
Камеру купил не удачную Genius iSlim 2020AF Genius сильно тормозная и автофокус ужасный. А так в целом заработало сразу без бубнов, Использую Nano , Uno пока не смог подружить с этим кодом. |
04.10.2014, 23:44 | #103 |
Administrator
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,617
Вес репутации: 9822 |
Re: CyberWrt модуль "Робот"
Скорость пробовали изменять?
|
05.10.2014, 00:35 | #104 |
Junior Member
Регистрация: 03.10.2014
Адрес: Балашиха
Сообщений: 12
Вес репутации: 0 |
Re: CyberWrt модуль "Робот"
Скорость честно говоря менять не пробовал , всегда работает то что пишешь в коде и стоит в настройках.
Буду пробовать снести все , а потом установлю все что доступно в разделе МОДУЛь |
05.10.2014, 00:39 | #105 |
Junior Member
Регистрация: 03.10.2014
Адрес: Балашиха
Сообщений: 12
Вес репутации: 0 |
Re: CyberWrt модуль "Робот"
Не сразу понял , сори, Вы имели введу понизить скорость ,пока не пробовал.
Буду пробовать . |
05.10.2014, 12:48 | #106 |
Administrator
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,617
Вес репутации: 9822 |
Re: CyberWrt модуль "Робот"
Как проверите отпишитесь
Камеру лучше C270 покупать |
05.10.2014, 13:29 | #107 |
Junior Member
Регистрация: 03.10.2014
Адрес: Балашиха
Сообщений: 12
Вес репутации: 0 |
Re: CyberWrt модуль "Робот"
Фу , сам ни чего не понял. Четыре раза применял волшебную кнопку(галки везде),не помогало.
И о чудо следующая попытка увенчалась успехом. Все встало на свои места. Теперь о коде . Задуманное работает! Регулировка ползунка влияет на клавишу W т.е. вперед. На другие направления скорость осталась прежней. Повторюсь в программировании не силен, но я не вижу в коде задание для клавиш W A S D Я так понял что это шаблон ,который требуется пилить под себя .Верно? В любом случае огромное спасибо. |
05.10.2014, 14:07 | #108 |
Junior Member
Регистрация: 03.10.2014
Адрес: Балашиха
Сообщений: 12
Вес репутации: 0 |
Re: CyberWrt модуль "Робот"
Все, разобрался с кодом ,теперь все регулируется. Следующий этап вставить в код
сервы для камеры. УРА!!! |
11.10.2014, 22:43 | #109 |
Junior Member
Регистрация: 11.10.2014
Сообщений: 2
Вес репутации: 0 |
Re: CyberWrt модуль "Робот"
Здравствуйте Не могли бы вы добавить возможность посигналить Т.e отправить какую нибудь букву в arduino Например K Скетч допишу сам Заранее спасибо
|
11.10.2014, 23:44 | #110 |
Administrator
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,617
Вес репутации: 9822 |
Re: CyberWrt модуль "Робот"
Добавил в репозиторий модифицированный модуль "CyberBot2"
|
Здесь присутствуют: 2 (пользователей: 0 , гостей: 2) | |
|
|