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

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

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 14.10.2014, 01:28   #1
Admin
Administrator
 
Аватар для Admin
 
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,616
Вес репутации: 9820
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
По умолчанию Модуль "CyberBot-2"

Это модификация предыдущего модуля "CyberBot" для Wi-Fi робота
Список деталей и схема подключения для робота
Схема с энкодерами

Схема подключения моторов такая же, а так же в этой версии добавлены дополнительные функции
1-управление поворотом камеры по оси X и Y
2-регулировка скорости движения робота
3-включение фар
4-клаксон
5-выстрел из пушки
6-разметка габаритов робота

Скетч
PHP код:
#include <CyberLib.h>  // Подключаем библиотеку 
#include <Servo.h> // Подключаем библиотеку сервоприводов 

Servo myservo1
Servo myservo2

long previousMillis// Нужно для таймера 
uint8_t LedStep 0// Счетчик
int i
boolean light_stat;
uint8_t inByte
uint8_t speed=255//максимальная скорость по умолчанию

#define init {D4_Out; D5_Out; D6_Out; D7_Out; D8_Out; D11_Out; D12_Out;}  

void setup()   
{  
  
myservo1.attach(9); // Подключение сервоприводов к порту 
  
myservo2.attach(10); // Подключение сервоприводов к порту 
  
init;  // Инициализация портов 
  
D11_Low// Динамик  OFF
  
randomSeed(A6_Read); //Получить случайное значение   
  
horn(); //звуковое оповещение готовности робота  
  
UART_Init(57600);// Инициализация порта для связи с роутером   
 // wdt_enable (WDTO_500MS);  
}   

void loop()   
{  
    
unsigned long currentMillis millis(); // Обновление таймера 
      
if (LedStep == && currentMillis previousMillis 500){ // Задержка 0,5 сек.  
      
previousMillis currentMillis// обновление таймер 
      
LedStep 1// Счетчик шагов 
    


    if (
LedStep == && currentMillis previousMillis 500){ // Задержка 0,5 сек. 
      
previousMillis currentMillis// обновление таймер 
      
LedStep 2// Счетчик шагов 
    


    if (
LedStep == && 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(-= 20);   
        break;  
         
        case 
'J'// Серво опускается 
          
myservo1.write(+= 20); 
        break;  
         
        case 
'H'// Серво поворачивается  вправо
         
myservo2.write(+= 20);  
        break;  
         
        case 
'K'// Серво поворачивается влево      
         
myservo2.write(-= 20); 
        break;  
         
         case 
'B'//  Бластер 
         
D12_High
        break; 
        
        case 
'C'// Клаксон 
         
horn(); 
        break; 
         
        case 
'V'// Включить/Выключить фары 
        
if(light_stat)
        {
         
D8_Low;
         
light_stat=false;
        } else 
              {
               
D8_High;
               
light_stat=true;
              }
        break; 
    }  
     if(
inByte>47 && inByte<58speed=(inByte-47)*25+5;//принимает команду и преобразуем в скорость         
  
}  
 
// wdt_reset(); 


void horn()
{
  for(
uint8_t i=0i<12i++) beep(70random(1002000)); //звуковое оповещение 
}

void robot_go() 

  
D4_Low
  
analogWrite(5speed);  
  
analogWrite(6speed); 
  
D7_Low


void robot_back() 

   
D4_High;  
   
analogWrite(5255-speed);  
   
analogWrite(6255-speed); 
   
D7_High


void robot_stop() 

  
D4_Low;  
  
analogWrite(50);  
  
analogWrite(60); 
  
D7_Low;   


void robot_rotation_left() 

  
D4_Low
  
analogWrite(5speed);  
  
analogWrite(6255-speed);  
  
D7_High


void robot_rotation_right() 

  
D4_High;  
  
analogWrite(5255-speed);  
  
analogWrite(6speed);  
  
D7_Low

К сожалению проверить работу скетча и модуля пока нет возможности
Так что проверяйте и отписывайтесь

Работу с сервами взял из модифицированного проекта CyberBot от Artur Gulinsky

Нажмите на изображение для увеличения
Название: Screenshot.jpg
Просмотров: 4634
Размер:	375.0 Кб
ID:	2030
Admin вне форума   Ответить с цитированием
Старый 14.10.2014, 21:20   #2
Sirocco
Senior Member
 
Регистрация: 12.10.2012
Адрес: Moscow-Voronezg
Сообщений: 272
Вес репутации: 0
Sirocco has a brilliant futureSirocco has a brilliant futureSirocco has a brilliant futureSirocco has a brilliant futureSirocco has a brilliant futureSirocco has a brilliant futureSirocco has a brilliant futureSirocco has a brilliant futureSirocco has a brilliant futureSirocco has a brilliant futureSirocco has a brilliant future
По умолчанию Re: Модуль "CyberBot-2"

Раньше не пользовался робомодулями. Сейчас решил попробовать. Ардуинку не подключал пока. Вопрос по камере. Её нужно сначала включить, в модуле WebCam нажать "Старт". Потом она начинает работать и в робомодуле. Но если выйти из робомодуля, камера по прежнему работает, судя по индикатору на камере. Приходится идти в модуль WebCam и жать "Стоп". Так и должно быть?
Sirocco вне форума   Ответить с цитированием
Старый 14.10.2014, 21:47   #3
Admin
Administrator
 
Аватар для Admin
 
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,616
Вес репутации: 9820
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: Модуль "CyberBot-2"

Камера стримит видео только тогда, когда вы запрашиваете этот поток из браузера
Все остальное время она отдыхает
Admin вне форума   Ответить с цитированием
Старый 14.10.2014, 23:11   #4
sakatgg
Senior Member
 
Регистрация: 15.07.2014
Сообщений: 939
Вес репутации: 989
sakatgg is just really nicesakatgg is just really nicesakatgg is just really nicesakatgg is just really nicesakatgg is just really nice
По умолчанию Re: Модуль "CyberBot-2"

1-управление поворотом камеры по оси X и Y - работает только при нажатии мышкой в браузере, нормально поворачивает на небольшой угол по клику по всем направлениям, на клаве U,J,H,K не реагирует. Правда Модуль "CyberBot-2" ставил пару дней назад, может надо удалить и по новой установить?
2-регулировка скорости движения робота - работает
3-включение фар - клавиша ''V не работает (D8, светодиод подключен через 220Ом)
4-клаксон - клавиша 'C' не работает. Правда не знаю, звук в диманике на D11 быть?
5-выстрел из пушки - клавиша 'B' не работает (D12, светодиод подключен через 220Ом)
Музон на D11 при загрузки играет

Последний раз редактировалось sakatgg; 14.10.2014 в 23:46.
sakatgg вне форума   Ответить с цитированием
Старый 14.10.2014, 23:35   #5
Admin
Administrator
 
Аватар для Admin
 
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,616
Вес репутации: 9820
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: Модуль "CyberBot-2"

Старый модуль нужно удалить, и установить новую версию модуля
Admin вне форума   Ответить с цитированием
Старый 15.10.2014, 00:54   #6
sakatgg
Senior Member
 
Регистрация: 15.07.2014
Сообщений: 939
Вес репутации: 989
sakatgg is just really nicesakatgg is just really nicesakatgg is just really nicesakatgg is just really nicesakatgg is just really nice
По умолчанию Re: Модуль "CyberBot-2"

Обновился, сервы с клавы заработали, клавиши V,B,C - не работают
В браузере мышкой:
Фара - включается и выключается
Клаксон - после нажатия музон проигрывает( как при загрузки 1 сек) и потом все управление перестает работать (светодиод, вроде Rx, моргает бесперерыва), помогает только ребут.
Бластер - после нажатия загорается, но по повторному нажатию уже не гаснет (мож так и задумано)
sakatgg вне форума   Ответить с цитированием
Старый 15.10.2014, 01:06   #7
Admin
Administrator
 
Аватар для Admin
 
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,616
Вес репутации: 9820
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: Модуль "CyberBot-2"

Нужно использовать браузер Chrom
Admin вне форума   Ответить с цитированием
Старый 15.10.2014, 01:10   #8
sakatgg
Senior Member
 
Регистрация: 15.07.2014
Сообщений: 939
Вес репутации: 989
sakatgg is just really nicesakatgg is just really nicesakatgg is just really nicesakatgg is just really nicesakatgg is just really nice
По умолчанию Re: Модуль "CyberBot-2"

На Chrome и проверяю, попробывал на Opera - такие же симптомы. Модуль "CyberBot-2" - это независимый модуль, может надо и первую версию установить?

Последний раз редактировалось sakatgg; 15.10.2014 в 01:20.
sakatgg вне форума   Ответить с цитированием
Старый 15.10.2014, 01:18   #9
Admin
Administrator
 
Аватар для Admin
 
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,616
Вес репутации: 9820
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: Модуль "CyberBot-2"

Думаю что в слепую мне будет сложно отладить модуль

Цитата:
может надо и первую версию установить?
Модуль не зависит от первой версии

Бластер должен выдавать высокий уровень пока удерживается кнопка, после отпускания кнопки лог ноль
Admin вне форума   Ответить с цитированием
Старый 15.10.2014, 14:49   #10
Sirocco
Senior Member
 
Регистрация: 12.10.2012
Адрес: Moscow-Voronezg
Сообщений: 272
Вес репутации: 0
Sirocco has a brilliant futureSirocco has a brilliant futureSirocco has a brilliant futureSirocco has a brilliant futureSirocco has a brilliant futureSirocco has a brilliant futureSirocco has a brilliant futureSirocco has a brilliant futureSirocco has a brilliant futureSirocco has a brilliant futureSirocco has a brilliant future
По умолчанию Re: Модуль "CyberBot-2"

Чего-то не работает от встроенного RxTx. Модуль Free_UART стоит, скорость как и в скетче 57600. Или оно ток через USB?
Чтоб проверить, например включение фар, что надо послать в порт из Arduino IDE?

Последний раз редактировалось Sirocco; 15.10.2014 в 14:51.
Sirocco вне форума   Ответить с цитированием
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

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

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

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


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


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