Тел. (495) 972-27-12

CAMBOT на базе Fishertechnik+Arduino+Raspberry Pi

Обсуждаем Arduino, Raspberry Pi и другие электронные компоненты и проекты DIY

CAMBOT на базе Fishertechnik+Arduino+Raspberry Pi

Сообщение serg » 29 июл 2013, 01:07

Прочитав множество статей про Raspberry Pi, решил сделать робота с камерой - благо что все необходимое у меня было.
Собрал гусеничное шасси Fischertechnik ROBO TX Explorer. Моторы подключены к Arduino UNO через Motor Shield.
Сзади на бота установил web-камеру Logitec C210.
Кстати, старался выбирать оборудование по списку совместимости:
http://elinux.org/RPi_VerifiedPeripherals
Для управления выводами GPIO Raspberry Pi из браузера я использовал приложение WebIOPi.
http://code.google.com/p/webiopi/.
Его автор в журнале MagPi привел заинтересовавший меня пример -CAMBOT.
http://www.themagpi.com/en/issue/9 и http://www.themagpi.com/en/issue/10.
свои файлы я выложил в директорию /usr/share/webiopi/htdocs/app/cambot
Для связки Raspberry Pi с Arduino воспользовался идеей автора статьи
http://inductible.wordpress.com/2013/02/23/telemus-a-remotely-operated-vehicle-based-on-raspberry-pi-and-arduino/
чтобы в качестве команд управления микроконтроллер принимал простые коды - вперед "1111" стоп -"0000" и т.д. по четырем проводам от Raspberry Pi к Arduino. Не забыв про 5-й провод -"землю".
Code: [Выделить всё] [Expand/Collapse]
int pwm_a = 3; 
int pwm_b = 11; 
int dir_a = 12; 
int dir_b = 13;

int pwm_a1 = 4; 
int pwm_b1 = 5; 
int dir_a1 = 6; 
int dir_b1 = 7;

int val1=0;
int val2=0;
int val3=0;
int val4=0;

void setup()
{Serial.begin(9600);
  pinMode(pwm_a1, INPUT);         
  pinMode(pwm_b1, INPUT);
  pinMode(dir_a1, INPUT);
  pinMode(dir_b1, INPUT);
 
  pinMode(pwm_a, OUTPUT);         
  pinMode(pwm_b, OUTPUT);
  pinMode(dir_a, OUTPUT);
  pinMode(dir_b, OUTPUT);
    }
void loop() {
   val1=digitalRead(pwm_a1);
   val2=digitalRead(pwm_b1);
   val3=digitalRead(dir_a1);
   val4=digitalRead(dir_b1);
       if(val1 == 1&val2==1&val3==1&val4==1)
       {
          digitalWrite(dir_a, 1);
          digitalWrite(dir_b, 1);
          analogWrite(pwm_a, 255);
          analogWrite(pwm_b, 255);
        };
       
       if(val1 == 1&val2==0&val3==1&val4==0)
       {
         digitalWrite(dir_a, 0);
         digitalWrite(dir_b, 0);
         analogWrite(pwm_a, 255);
         analogWrite(pwm_b, 255);
       };

       if(val1 == 1&val2==1&val3==1&val4==0)
       {
         analogWrite(pwm_a, 0);
         analogWrite(pwm_b, 255);
       };
       
       if(val1 == 1&val2==0&val3==1&val4==1)
       {
         analogWrite(pwm_a, 255);
         analogWrite(pwm_b, 0);
       };
       
       if(val1 == 0&val2==0&val3==0&val4==0)
       {
       analogWrite(pwm_a, 0);
       analogWrite(pwm_b, 0);
       }; 
   }
GeSHi © Codebox Plus

Для запуска видео сразу при старте попробовал применить информацию из статьи на Хабре
http://habrahabr.ru/post/181930/.
Но при выходе из браузера бот теряет управление и putty не коннектится с Raspberry. Буду искать другое решение.
Wi-fi донгл TrendNet 648UBM сразу не устанавливается -поэтому нашел решение вот здесь
http://dl.dropboxusercontent.com/u/80256631/install-rtl8188cus.txt.
Были проблемы с установкой mjpg-streamer. Перепробовав все советы, обнаружил что лучшее - выкачать по svn весь пакет.
(здесь http://sourceforge.net/projects/mjpg-streamer/ старая версия).
В качестве источников питания поставил две батареи - GYGABIT 6600 мАч для Raspberry Pi, камеры и Wi-Fi ,
старая noname батарея 2S1p 800 mAh для двигателей и Arduino. (с GYGABIT боролся неделю - очень чувстительна к "не- контакту") Заряда хватает на 3 часа непрерывной работы.
Хочу предупредить, что WebIOPi в IE и Opere не работает! Я тестировал с Chrome и Firefox . К сожалению, с планшета рулить пока не получается - чтобы ехать надо "непрерывно-прерывисто" нажимать на экранные кнопки. С нетбука тачпедом дети самостоятельно справляются с управлением.
Во вложении - вариант с закомментированным автозапуском.
Вложения
cambot.zip
(2.96 Кб) Скачиваний: 582
DSC00232.JPG
DSC00233.JPG
serg
 
Сообщения: 17
Зарегистрирован: 27 мар 2013, 16:18

Re: CAMBOT на базе Fishertechnik+Arduino+Raspberry Pi

Сообщение Mr.Kubikus » 10 сен 2013, 11:09

Привет!

Мне очень понравился ваш проект. Хочу попробовать повторить.

Для начала подобрал следующие компоненты:
  • Raspberry Pi Model B
  • Microsoft LifeCam HD-3000 (VID:PID=045E:0772)
  • RaspiRobot Board (драйвер для мотора)
  • WiFi адаптер TP-LINK TL-WN725N
С уважением, Григорий
GitHub FB ВК TW
Аватара пользователя
Mr.Kubikus
Сотрудник ПАКПАК
 
Сообщения: 878
Изображения: 49
Зарегистрирован: 22 окт 2010, 23:57
Откуда: Москва

Re: CAMBOT на базе Fishertechnik+Arduino+Raspberry Pi

Сообщение Mr.Kubikus » 11 сен 2013, 17:55

Вот такая кучка комплектухи получилась:

rp-robot-01-500.jpg


Теперь надо спаять плату RaspiRobot Board, к которой будут подключаться моторы.
С уважением, Григорий
GitHub FB ВК TW
Аватара пользователя
Mr.Kubikus
Сотрудник ПАКПАК
 
Сообщения: 878
Изображения: 49
Зарегистрирован: 22 окт 2010, 23:57
Откуда: Москва


Вернуться в Arduino и Ко. ♥♥♥



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1

cron