![]() |
![]() |
#1 |
Junior Member
Регистрация: 07.07.2014
Сообщений: 20
Вес репутации: 0 ![]() |
![]()
Всем привет! Вот решил поделится своим проектом. В начале задумывался над ботом. Потом решил это дело бросить на время. Так как нужна надежная платформа. Которая бы работало долго и надежно.
Для начало решил поиграться с микроконтроллерами. Было куплено:
аккумуляторы были Руководствовался этой статьей http://cyber-place.ru/showthread.php?t=697 Вот что получилось. ![]() ![]() Плюсы собранного:
Минусы собранного:
|
![]() |
![]() |
![]() |
#2 |
Administrator
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,618
Вес репутации: 9824 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]()
1- +100500
2- что именно плохо работает, по конкретней можно? 3- или трехколесный вариант робота 4- возможно что у Вас не установлены дополнительные конденсаторы по питанию 5- см. 4 6- для 4-х комнатной квартиры вполне хватает |
![]() |
![]() |
![]() |
#3 |
Junior Member
Регистрация: 07.07.2014
Сообщений: 20
Вес репутации: 0 ![]() |
![]()
1 - =)
2 -Про неисправности точнее скажу через пару дней тестов. Погоняю на разных браузерах. Поменяю контроллер на nano3 и т.д. 3 - Для квартиры неплохой вариант. Я брал на 4 колесах... для улицы. 4 - с этим пунктом разобрался. было в самом деле проблема с питанием. если кому интересно. было: роутер +5 fundruino +5 TL-MR3020 +5 стало роутер +5 fundruino +7.5 TL-MR3020 + 8 (не знаю... можно ли больше... если 4 мотора ... сколько можно подать? аккумулятор выдает 14.5) теперь все без проблем.... 5 - вот тут грешу на браузер. после обновления страницы все норм. 6 - планирую впаять антенну в роутер. 7 - опять же для улицы... может кто посоветует уже проверенный вариант? если кому нужен скетч для Funduino ATMEGA 328P pin 11 10 9 6 in 1 2 3 4 Код:
#include <CyberLib.h> #define motors_init {D11_Out; D10_Out; D6_Out; D9_Out;} #define robot_go {D11_High; D10_Low; D6_High; D9_Low;} #define robot_back {D11_Low; D10_High; D6_Low; D9_High;} #define robot_stop {D11_Low; D10_Low; D6_Low; D9_Low;} #define robot_rotation_left {D11_Low; D10_High; D6_High; D9_Low;} #define robot_rotation_right {D11_High; D10_Low; D6_Low; D9_High;} uint8_t inByte; void setup() { motors_init; //инициализация выходов моторов Serial.begin(57600);//инициализация порта для связи с роутером wdt_enable (WDTO_500MS); //Сторожевая собака 0,5сек. } void loop() { if (Serial.available()) //если что то пришло { inByte = Serial.read(); 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; } } wdt_reset(); //покормить собаку } Последний раз редактировалось werm; 06.08.2014 в 18:59. |
![]() |
![]() |
![]() |
#4 |
Junior Member
Регистрация: 07.07.2014
Сообщений: 20
Вес репутации: 0 ![]() |
![]() вот выложил видео работы бота кстати подскажите в чем может быть проблема? я так понимаю функция остановки бота вложена в бот... реализация остановки происходит в браузере... то есть в скрипте прописано после отправки любой команды автоматом высылается команда x // но у меня она работает не стабильно... то есть в большинстве бот едет дальше ... даже после отпускания кнопки... приходится на клаве всегда заранее держать кнопку x может есть другие реализации управления? счас скачаю сниффер посмотрю что отправляет браузер... кстати а есть на openwrt какая не будь консольная прога для прослушивания порта? cat не пойдет |
![]() |
![]() |
![]() |
#5 | ||
Administrator
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,618
Вес репутации: 9824 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]() Цитата:
Цитата:
|
||
![]() |
![]() |
![]() |
#6 |
Junior Member
Регистрация: 07.07.2014
Сообщений: 20
Вес репутации: 0 ![]() |
![]()
Решил припаять антенну к роутеру... что бы точно знать что сигнал устойчивый...
Может кто подскажет как узнать уровень сигнала роутера из консоли? Решил не использовать библиотеку cyberlib - не хотелось в ней разбираться... написал свой скетч для fundruino Код:
uint8_t inByte; int pinLB=6; // левое назад int pinLF=9; // левое вперед int pinRB=10; // правое назад int pinRF=11; // правое вперед void setup() { pinMode(pinLB,OUTPUT); // pin 6 (PWM) pinMode(pinLF,OUTPUT); // pin 9 (PWM) pinMode(pinRB,OUTPUT); // pin 10 (PWM) pinMode(pinRF,OUTPUT); // pin 11 (PWM) Serial.begin(57600);//инициализация порта для связи с роутером } void loop() { if (Serial.available()) //если что то пришло { inByte = Serial.read(); switch (inByte) //смотрим какая команда пришла { case 'x': //стоп digitalWrite(pinRB,HIGH); digitalWrite(pinRF,HIGH); digitalWrite(pinLB,HIGH); digitalWrite(pinLF,HIGH); break; case 'W': //вперед digitalWrite(pinRB,LOW); digitalWrite(pinRF,HIGH); digitalWrite(pinLB,HIGH); digitalWrite(pinLF,LOW); break; case 'D': //лево digitalWrite(pinRB,LOW); digitalWrite(pinRF,HIGH); digitalWrite(pinLB,LOW); digitalWrite(pinLF,HIGH); break; case 'A': //право digitalWrite(pinRB,HIGH); digitalWrite(pinRF,LOW); digitalWrite(pinLB,HIGH); digitalWrite(pinLF,LOW); break; case 'S': //назад digitalWrite(pinRB,HIGH); digitalWrite(pinRF,LOW); digitalWrite(pinLB,LOW); digitalWrite(pinLF,HIGH); break; } } } |
![]() |
![]() |
![]() |
#7 | |
Senior Member
Регистрация: 02.04.2012
Адрес: Питер
Сообщений: 1,125
Вес репутации: 1312 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]() Цитата:
|
|
![]() |
![]() |
![]() |
#8 |
Administrator
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,618
Вес репутации: 9824 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]()
cat /dev/ttyUSB0
|
![]() |
![]() |
![]() |
#9 |
Junior Member
Регистрация: 07.07.2014
Сообщений: 20
Вес репутации: 0 ![]() |
![]() Первое и второе не работает... не знаю почему... ![]() Последний раз редактировалось werm; 12.08.2014 в 18:19. |
![]() |
![]() |
![]() |
#10 | |
Administrator
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,618
Вес репутации: 9824 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]() Цитата:
|
|
![]() |
![]() |
![]() |
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1) | |
|
|