Форум обсуждения систем  

Вернуться   Форум обсуждения систем "Умный дом", проектов Ардуино, OpenWRT и других DIY устройств > Форум умного дома > Сделай сам > CyberWrt

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 12.10.2014, 20:39   #111
mrjinatan
Junior Member
 
Регистрация: 11.10.2014
Сообщений: 2
Вес репутации: 0
mrjinatan is an unknown quantity at this point
По умолчанию Re: CyberWrt модуль "Робот"

Использовал в качестве драйвера стандартную плату машинки Там практически везде стоит realtek rx2 Распиновка такая
6 пин realtek к 3 пину arduino
7 пин realtek к 4 пину arduino
11 пин realtek к 5 пину arduino
10 пин realtek к 10 пину arduino
Плюс данного метода что мы не теряем радио управление машинки
Про подключение светодиодов думаю ясно
В скетче много мусора Потом почищу и вылажу уже с возможностью посигналить
PHP код:
/*
 Скетч для роботы cyber robot с платой машинки вместо драйвера
 Для основы взят скетч MobotBTCar
 Автор mrjinatan
 Фары включаются автоматически при движении
*/


int forward 5;     // Pin 5 - Вперед
int reverse 6;    // Pin 6 - Назад
int left 4;        // Pin 4 - Влево
int right 3;        // Pin 3  - Вправо
int turbo 8;        // Pin 8  - Не используеться
int short_lights 8;    // Pin 8  - Передние Фары
int long_lights 11;    // Pin 11  - Правый Поворотник
int back_lights 12;    // Pin 12  - Левый поворотник
int reverse_lights 9;    // Pin 9  - Задние Фары

char val;  // Variable to receive data from the serial port

void setup() {

  
// initialize the digital pins as output
  
pinMode(forwardOUTPUT);
  
pinMode(reverseOUTPUT);
  
pinMode(leftOUTPUT);
  
pinMode(rightOUTPUT);
  
pinMode(turboOUTPUT);
  
pinMode(short_lightsOUTPUT);
  
pinMode(long_lightsOUTPUT);
  
pinMode(back_lightsOUTPUT);
  
pinMode(reverse_lightsOUTPUT);

  
Serial.begin(9600);     // Start serial communication at 9600bps
}


// Fordward action
void go_forward() {
  
digitalWrite(forwardHIGH);
  
digitalWrite(short_lightsHIGH);
  
digitalWrite(reverseLOW);
  
digitalWrite(reverse_lightsLOW);
}

// Stop Forward action
void stop_go_forward() {
  
digitalWrite(forwardLOW);
}

// Reverse action
void go_reverse() {
  
digitalWrite(reverseHIGH);
  
digitalWrite(forwardLOW);
  
digitalWrite(short_lightsLOW);
  
digitalWrite(reverse_lightsHIGH);
}

// Stop Reverse action
void stop_go_reverse() {
  
digitalWrite(reverseLOW);
  
digitalWrite(reverse_lightsLOW);
}

// Turbo action
void go_turbo() {
  
digitalWrite(turboHIGH);
  
digitalWrite(forwardLOW);
  
digitalWrite(reverseLOW);
}

// Stop Turbo action
void stop_go_turbo() {
  
digitalWrite(turboLOW);
}

// Left action
void go_left() {
  
digitalWrite(leftHIGH);
  
digitalWrite(rightLOW);
  
digitalWrite(back_lightsHIGH);   // turn the LED on (HIGH is the voltage level)
      
}

// Right action
void go_right() {
  
digitalWrite(rightHIGH);
  
digitalWrite(leftLOW);
  
digitalWrite(long_lightsHIGH);   // turn the LED on (HIGH is the voltage level)
}

// Stop turn action
void stop_turn() {
  
digitalWrite(rightLOW);
  
digitalWrite(leftLOW);
}

// Stop car
void stop_car() {
  
digitalWrite(forwardLOW);
  
digitalWrite(reverseLOW);
  
digitalWrite(turboLOW);
  
digitalWrite(rightLOW);
  
digitalWrite(leftLOW);
  
digitalWrite(reverse_lightsLOW);
  
digitalWrite(long_lightsLOW);
  
digitalWrite(back_lightsLOW);
}

// Short Lights ON
void lights_on() {
  
digitalWrite(short_lightsHIGH);
  
digitalWrite(back_lightsHIGH);
}

// Short Lights OFF
void lights_off() {
  
digitalWrite(short_lightsLOW);
  
digitalWrite(back_lightsLOW);
}

// Long Lights ON
void long_lights_on() {
  
digitalWrite(long_lightsHIGH);
}

// Long Lights OFF
void long_lights_off() {
  
digitalWrite(long_lightsLOW);
}

// Reverse Lights ON
void back_lights_on() {
  
digitalWrite(reverse_lightsHIGH);
}

// Reverse Lights OFF
void back_lights_off() {
  
digitalWrite(reverse_lightsLOW);
}
  
// Read serial port and perform command
void performCommand() {
  if (
Serial.available()) {
    
val Serial.read();
  }
    if (
val == 'W') { // Forward
      
go_forward();
    } else if (
val == 'k') { // Stop Forward
      
stop_go_forward();
    } else if (
val == 'S') { // Backward
      
go_reverse();
    } else if (
val == 'k') { // Stop Backward
      
stop_go_reverse();
    } else if (
val == 't') { // Turbo
      
go_turbo();
    } else if (
val == 'k') { // Stop Turbo
      
stop_go_turbo();
    } else if (
val == 'D') { // Right
      
go_right();
    } else if (
val == 'A') { // Left
      
go_left();
    } else if (
val == 'k') { // Stop Turn
      
stop_turn();
    } else if (
val == 'x') { // Stop
      
stop_car();
    } else if (
val == 'k') { // Short Lights
      
lights_on();
    } else if (
val == 'h') { // Stop Short Lights
      
lights_off();
    } else if (
val == 'h') { // Long Lights
      
long_lights_on();
    } else if (
val == 'g') { // Stop Long Lights
      
long_lights_off();
    }
  
}


void loop() {
  
performCommand();

mrjinatan вне форума   Ответить с цитированием
Старый 14.10.2014, 01:17   #112
Admin
Administrator
 
Аватар для Admin
 
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,616
Вес репутации: 9821
Admin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant future
По умолчанию Re: CyberWrt модуль "Робот"

Обсуждение модуля "CyberBot-2" вынес в отдельную тему
Admin вне форума   Ответить с цитированием
Старый 18.11.2014, 20:32   #113
gipsyraven
Junior Member
 
Регистрация: 17.11.2014
Сообщений: 26
Вес репутации: 0
gipsyraven is an unknown quantity at this point
По умолчанию Re: CyberWrt модуль "Робот"

При нажатии кнопки и удержании на клаве в уарт шлется символы постоянно с заданым интервалом, подскажите реализацию при нажатии кнопки на клаве посылается один символ управления, а при отпускании символ остановки, как на тачскрине.

Последний раз редактировалось gipsyraven; 18.11.2014 в 20:37.
gipsyraven вне форума   Ответить с цитированием
Старый 10.12.2014, 12:01   #114
Serega
Junior Member
 
Регистрация: 10.12.2014
Сообщений: 10
Вес репутации: 0
Serega is an unknown quantity at this point
По умолчанию Re: CyberWrt модуль "Робот"

Доброго времени суток. Решил собрать робота wifi. Собираю на базе TP-LINK MR3020 и arduino nano/ Atmega 328. В общем залил нужный скетч в ардуинку, посылал команды с монитор порта, все работает отлично, ардуино исполняет команды и это все непосредственно с компьютера. А вот подключаю к роутеру с прошивкой CyberWRT, и тут ВСЁ. Вообще ни как их не могу подружить по USB. Какие только драйвера не устанавливал, разные команды посылал, перечитал всю ветку по настройке. Даже на другом форуме нашел подробное описание как связать эти два устройства но и тут незадача. Arduino работает через микросхему FTDI. Устанавливал драйвера под нее на роутер, только вот библиотеку libftdi не могу установить. Подскажите что я могу делать не так? Может в этом случае проще все это делать связать через UART port?
Serega вне форума   Ответить с цитированием
Старый 10.12.2014, 12:07   #115
Admin
Administrator
 
Аватар для Admin
 
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,616
Вес репутации: 9821
Admin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant future
По умолчанию Re: CyberWrt модуль "Робот"

Для установки драйвера есть соответствующий модуль "Драйвер FTDI"
Admin вне форума   Ответить с цитированием
Старый 10.12.2014, 12:11   #116
Serega
Junior Member
 
Регистрация: 10.12.2014
Сообщений: 10
Вес репутации: 0
Serega is an unknown quantity at this point
По умолчанию Re: CyberWrt модуль "Робот"

Цитата:
Сообщение от Admin Посмотреть сообщение
Для установки драйвера есть соответствующий модуль "Драйвер FTDI"
Я ставил этот драйвер, устройство определяется как ttyUSB0 но все команды с терминала роутера игнорирует.
Serega вне форума   Ответить с цитированием
Старый 10.12.2014, 13:20   #117
Admin
Administrator
 
Аватар для Admin
 
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,616
Вес репутации: 9821
Admin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant future
По умолчанию Re: CyberWrt модуль "Робот"

А подробности?
Какие команды?
Как посылали?
Как проверяли и т.д.
Admin вне форума   Ответить с цитированием
Старый 10.12.2014, 15:37   #118
Serega
Junior Member
 
Регистрация: 10.12.2014
Сообщений: 10
Вес репутации: 0
Serega is an unknown quantity at this point
По умолчанию Re: CyberWrt модуль "Робот"

Команды отсылал вот такие: echo W > /dev/ttyUSB0 и echo W > /dev/ttyACM0.
Отправлял непосредственно из терминала веб-морды cyberwrt. Также пробовал отправлять через putty терминал по подключению SSH. При этом на ардуино не моргает rx и tx и подключенные сервоприводы и моторы не реагируют.
Serega вне форума   Ответить с цитированием
Старый 10.12.2014, 15:47   #119
Serega
Junior Member
 
Регистрация: 10.12.2014
Сообщений: 10
Вес репутации: 0
Serega is an unknown quantity at this point
По умолчанию Re: CyberWrt модуль "Робот"

Еще интересует вопрос как установить библиотеки FTDI (libftdi) или они только для openwrt и других линуксов предназначены? Выполняя команду opkg install kmod-usb-serial-ftdi libftdi выдает Installing kmod-usb-serial-ftdi (3.10.4-1) to root...
Downloading http://cyberwrt.ru/application/packa...4-1_ar71xx.ipk.
Installing kmod-usb-serial (3.10.4-1) to root...
Downloading http://cyberwrt.ru/application/packa...4-1_ar71xx.ipk.
Collected errors:
* opkg_install_cmd: Cannot install package libftdi.
Unknown package 'libftdi'.
Configuring kmod-usb-serial.
Configuring kmod-usb-serial-ftdi.
Взято отсюда: http://cyber-place.ru/showthread.php?t=372
Serega вне форума   Ответить с цитированием
Старый 10.12.2014, 15:56   #120
Admin
Administrator
 
Аватар для Admin
 
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,616
Вес репутации: 9821
Admin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant future
По умолчанию Re: CyberWrt модуль "Робот"

Вы можете поиском в репозитории найти все что там есть, для этого установить модуль"Пакеты"

P.S.
Проверил,
в репозитоии нет библиотеки LibFTDI
Admin вне форума   Ответить с цитированием
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Текущее время: 10:57. Часовой пояс GMT +3.


Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Яндекс.Метрика