30.08.2015, 00:55 | #131 |
Administrator
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,618
Вес репутации: 9823 |
Re: Модуль "CyberBot-3"
Два модуля роботов не могут вместе существовать
Драйвера можно не трогать, а модули роботов снесите Установите заново cyberbot-3 и настройте его, настройки сохраните и перезапустите роутер |
30.08.2015, 16:00 | #132 |
Senior Member
Регистрация: 07.01.2015
Адрес: Baku
Сообщений: 225
Вес репутации: 0 |
Re: Модуль "CyberBot-3"
|
30.08.2015, 16:12 | #133 |
Senior Member
Регистрация: 07.01.2015
Адрес: Baku
Сообщений: 225
Вес репутации: 0 |
Re: Модуль "CyberBot-3"
Странно, управление заработало, а камера не работает, ни в модуле саибербот3 ни в модуле вебкам...
перезагрузил... великолепно робот стал откликаться быстрее на команды. Oтлично все заработало, теперь осталось придумать как прикрутить уровень заряда и второй датчик...не подскажете? Последний раз редактировалось elik745i; 30.08.2015 в 16:21. |
30.08.2015, 21:38 | #134 | |
Administrator
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,618
Вес репутации: 9823 |
Re: Модуль "CyberBot-3"
Цитата:
Можно к любому из них подключитьрезистивны й делитель для измерения напряжение |
|
31.08.2015, 22:24 | #135 | |
Senior Member
Регистрация: 07.01.2015
Адрес: Baku
Сообщений: 225
Вес репутации: 0 |
Re: Модуль "CyberBot-3"
Цитата:
Если кому понадобится использовать стандартные функции ардуино с нестандартным роботом вот мой код: Код:
/* This sketch is for arduino nano/mini pro, to be used for building 2 motor wheeled robots, equipped with 2 servo actuators for camera control, buzzer and lights. For more details please visit this article: http://cyber-place.ru/showthread.php?t=1896&page=14 and for detailed instructions on how to build and circuit diagram: http://www.voltrans.az/?p=1340 Updated: 3Sep2015 - added CyberBot3 support. Author: Elik745i Site: www.voltrans.az for cyber-place.ru */ #include <Servo.h> // Подключаем библиотеку сервоприводов // // Подключаем H-Bridge HG7881 #define HG7881_A_IA 10 // D10 --> Motor A Input A --> MOTOR A + #define HG7881_A_IB 9 // D9 --> Motor A Input B --> MOTOR A - #define HG7881_B_IA 11 // D11 --> Motor B Input A --> MOTOR B + #define HG7881_B_IB 12 // D12 --> Motor B Input B --> MOTOR B - // functional connections #define MOTOR_A_PWM HG7881_A_IA // Motor A PWM Speed #define MOTOR_A_DIR HG7881_A_IB // Motor A Direction #define MOTOR_B_PWM HG7881_B_IA // Motor B PWM Speed #define MOTOR_B_DIR HG7881_B_IB // Motor B Direction #define DIR_DELAY 100 // brief delay for abrupt motor changes #define tiltServopin 7 //tilt servo attached to pin 7 #define panServopin 8 //pan servo attached to pin 8 #define serialReceive 13 //Serial Receive Message indicator LED #define moveLed 4 //LED indicating tank movement #define light 6 // #define moveDelay 1000 #define moveDelayturn 100 Servo tiltServo; Servo panServo; int val1 = 90; const int servoAngle = 20; const int minAngle = 0; const int maxAngle = 180; int lightState=0; void setup() { Serial.begin( 57600 ); pinMode(serialReceive,OUTPUT); pinMode(moveLed,OUTPUT); pinMode( MOTOR_A_DIR, OUTPUT ); pinMode( MOTOR_A_PWM, OUTPUT ); digitalWrite( MOTOR_A_DIR, LOW ); digitalWrite( MOTOR_A_PWM, LOW ); pinMode( MOTOR_B_DIR, OUTPUT ); pinMode( MOTOR_B_PWM, OUTPUT ); digitalWrite( MOTOR_B_DIR, LOW ); digitalWrite( MOTOR_B_PWM, LOW ); // delay(40000); //wait for router to initialise } void loop() { if (Serial.available()) //Еесли что то пришло { digitalWrite(serialReceive,HIGH); byte inByte = Serial.read(); switch (inByte) // Смотрим какая команда пришла { case 'x': // Остоновка робота robot_stop(); break; case 'W': // Движение вперед robot_go(); break; case 'D': // Поворот вправо robot_right(); break; case 'A': // Повопорт влево robot_left(); break; case 'S': // Движение назад robot_back(); break; case 'J': // Серво поднимается if(val1<maxAngle){ tiltServo.attach(tiltServopin); // attaches the servo on pin 2 for(int i=0;i<servoAngle;i++){ tiltServo.write(val1+i); // sets the servo position according to the scaled value delay(servoAngle); } val1=val1+servoAngle; tiltServo.detach(); // detaches the servo on pin 2 } break; case 'U': // Серво опускается if(val1>minAngle){ tiltServo.attach(tiltServopin); // attaches the servo on pin 2 for(int i=0;i<servoAngle;i++){ tiltServo.write(val1-i); // sets the servo position according to the scaled value delay(servoAngle); } val1=val1-servoAngle; tiltServo.detach(); // detaches the servo on pin 2 } break; case 'K': // Серво поворачивается влево panServo.attach(panServopin); // attaches the servo on pin 2 panServo.write(180); // sets the servo position according to the scaled value delay(200); panServo.detach(); // detaches the servo on pin 2 break; case 'H': // Серво поворачивается вправо panServo.attach(panServopin); // attaches the servo on pin 2 panServo.write(0); // sets the servo position according to the scaled value delay(200); panServo.detach(); // detaches the servo on pin 2 break; case 'B': // Бластер break; case 'C': // Клаксон break; case ']': // запрос состояния аналоговых датчиков sendAnalog(); break; case 'V': // Включить/Выключить фары if (lightState==0){ digitalWrite(light,HIGH); lightState=1; }else{ digitalWrite(light,LOW); lightState=0; } break; } digitalWrite(serialReceive,LOW); } } void robot_stop() { digitalWrite( MOTOR_A_DIR, LOW ); digitalWrite( MOTOR_A_PWM, LOW ); digitalWrite( MOTOR_B_DIR, LOW ); digitalWrite( MOTOR_B_PWM, LOW ); delay( DIR_DELAY ); } void robot_go(){ /* digitalWrite( MOTOR_A_DIR, LOW ); digitalWrite( MOTOR_A_PWM, LOW ); digitalWrite( MOTOR_B_DIR, LOW ); digitalWrite( MOTOR_B_PWM, LOW ); delay( DIR_DELAY ); */ digitalWrite( MOTOR_A_DIR, LOW ); // direction = forward digitalWrite( MOTOR_A_PWM, HIGH ); digitalWrite( MOTOR_B_DIR, LOW ); // direction = forward digitalWrite( MOTOR_B_PWM, HIGH ); // PWM speed = slow delay(moveDelay); } void robot_back(){ /* digitalWrite( MOTOR_A_DIR, LOW ); digitalWrite( MOTOR_A_PWM, LOW ); digitalWrite( MOTOR_B_DIR, LOW ); digitalWrite( MOTOR_B_PWM, LOW ); delay( DIR_DELAY ); */ // set the motor speed and direction digitalWrite( MOTOR_A_DIR, HIGH ); // direction = forward digitalWrite( MOTOR_A_PWM, LOW ); digitalWrite( MOTOR_B_DIR, HIGH ); // direction = forward digitalWrite( MOTOR_B_PWM, LOW ); // PWM speed = slow delay(moveDelay); } void robot_left(){ /* digitalWrite( MOTOR_A_DIR, LOW ); digitalWrite( MOTOR_A_PWM, LOW ); digitalWrite( MOTOR_B_DIR, LOW ); digitalWrite( MOTOR_B_PWM, LOW ); delay( DIR_DELAY ); */ // set the motor speed and direction digitalWrite( MOTOR_A_DIR, HIGH ); // direction = forward digitalWrite( MOTOR_A_PWM, LOW ); digitalWrite( MOTOR_B_DIR, LOW ); // direction = forward digitalWrite( MOTOR_B_PWM, HIGH ); // PWM speed = fast delay(moveDelayturn); } void robot_right(){ /* digitalWrite( MOTOR_A_DIR, LOW ); digitalWrite( MOTOR_A_PWM, LOW ); digitalWrite( MOTOR_B_DIR, LOW ); digitalWrite( MOTOR_B_PWM, LOW ); delay( DIR_DELAY ); */ // set the motor speed and direction digitalWrite( MOTOR_A_DIR, LOW ); // direction = forward digitalWrite( MOTOR_A_PWM, HIGH ); digitalWrite( MOTOR_B_DIR, HIGH ); // direction = forward digitalWrite( MOTOR_B_PWM, LOW ); // PWM speed = slow delay(moveDelayturn); } void sendAnalog(){ int k = analogRead(A0); int f = analogRead(A1); Serial.write("{\"dat1\":\""); Serial.print(k); Serial.write("\",\"dat2\":\""); Serial.print(f); Serial.write("\"}"); } Последний раз редактировалось elik745i; 05.09.2015 в 12:22. |
|
04.09.2015, 11:21 | #136 |
Junior Member
Регистрация: 02.09.2015
Сообщений: 5
Вес репутации: 0 |
Re: Модуль "CyberBot-3"
Доброго времени суток. На днях нашел шасси от игрушки типа танчик. На меге 16ой сделал контроль приводов, с терминала через FTDI переходник на W,S,A,D откликается, а с роутером подружить не смог. Роутер у меняDlink dir 300 b7. Я на нее сначала установил память на 8Мб, потом подрубил камеру и портанул cyberwrt. Все запускается, модуль устанавливается, картинка есть а управление не работает, на встроенном uart тишина. С консоли эхо от роутера приходит и лог при загрузке бежит. uart в системе определен как ttyS0. В скриптах и настройках Вашего модуля поменял порт, но результата нет. Подскажите как его запустить, хаб я не подключал в связи с его отсутствием. камера с ноутбука припаяна четырьмя проводами к роутеру. Подскажите, мне кажется что встроенный uart нужно переключить в какой то иной режим, так как вроде он логи слать не должен при загрузке если используется системой
|
04.09.2015, 13:08 | #138 | |
Junior Member
Регистрация: 02.09.2015
Сообщений: 5
Вес репутации: 0 |
Re: Модуль "CyberBot-3"
Цитата:
Последний раз редактировалось volter5000; 04.09.2015 в 13:34. |
|
04.09.2015, 15:16 | #139 | |
Administrator
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,618
Вес репутации: 9823 |
Re: Модуль "CyberBot-3"
Цитата:
Хочу вынести Ваш код в шапку темы |
|
04.09.2015, 15:18 | #140 | |
Administrator
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,618
Вес репутации: 9823 |
Re: Модуль "CyberBot-3"
Цитата:
Утилиту Serp можно установить с помощью модуля "Пакеты" |
|
Здесь присутствуют: 9 (пользователей: 0 , гостей: 9) | |
|
|