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

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

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 02.08.2014, 18:04   #71
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: Arduino Mega 2560 + TP-LINK MR3020 + C#/C++

При правильных настройках stty можно обойтись без конденсатора
Admin вне форума   Ответить с цитированием
Старый 02.08.2014, 18:52   #72
NeaWeaR
Senior Member
 
Регистрация: 24.04.2014
Сообщений: 120
Вес репутации: 0
NeaWeaR is an unknown quantity at this point
По умолчанию Re: Arduino Mega 2560 + TP-LINK MR3020 + C#/C++

Цитата:
Сообщение от Admin Посмотреть сообщение
При правильных настройках stty можно обойтись без конденсатора
да? классно)

только у меня все равно не работает((
через раз почему-то((

иногда ввожу в терминале на роутере cat /dev/ttyACM0 или cat /dev/ttyUSB0 (в терминале выводится tx-com=x) и прокатывает то, что мой 53 светодиод загорается при нажатии клавиш, т.е. Serial.available() срабатывает (но опять же повторюсь, не всегда((( ), вот скетч:

Код:
#include <AFMotor.h> // Подключаем библиотеку для управления двигателями 

AF_DCMotor motor1(1); //создаем мотор №1 
AF_DCMotor motor2(2); //создаем мотор №2 
AF_DCMotor motor3(3); //создаем мотор №1 
AF_DCMotor motor4(4); //создаем мотор №2 
int led = 53; //встроенный светодиод (Будет мигать как только Ардуино получит данные с роутера)
int incomingByte = 0; //в этой переменной храним поступившие данные

void setup() 
{
  Serial.begin(9600); //включаем передачу данных на скорости 9600 бит/c
  pinMode(led, OUTPUT); //указываем выход на пин 53 (Светодиод, индикатор данных)
  motor1.setSpeed(255); //Скорость движка №1
  motor2.setSpeed(255); //Скорость движка №2
  motor3.setSpeed(255); //Скорость движка №1
  motor4.setSpeed(255); //Скорость движка №2
}

void loop() 
{ 
  incomingByte = 0;
  if(Serial.available() > 0) //Если есть доступные данные, то считываем их
  {  
     incomingByte = Serial.read(); //Присваиваем переменной incomingByte наши считанные данные 
     digitalWrite(led, HIGH); //Зажигаем встроенный светодиод, так как пошло считывание данных
     //--- Делаем соответствующее действие ---
     if(incomingByte == 119) //Нажали кнопку W
     {
       
       motor1.run(FORWARD); //движемся вперед
       motor2.run(FORWARD); //движемся вперед
       motor3.run(FORWARD); //движемся вперед
       motor4.run(FORWARD); //движемся вперед
       delay(250); //Включаем на 250 милисек 
       Serial.println("Vpered"); //Печатает данные в порт 
     }
     if(incomingByte == 115) //Нажали кнопку S
     {
       motor1.run(BACKWARD); //движемся назад
       motor2.run(BACKWARD); //движемся назад
       motor3.run(BACKWARD); //движемся назад
       motor4.run(BACKWARD); //движемся назад
       delay(250); //Включаем на 250 милисек  
       Serial.println("Nazad"); //Печатает данные в порт
     }
     if(incomingByte == 97) //Нажали кнопку A
     {
       motor2.run(FORWARD); //Повернем влево
       motor3.run(FORWARD); //Повернем влево
       
       motor1.run(RELEASE); //Останавливаем колеса
       motor4.run(RELEASE); //Останавливаем колеса
       Serial.println("Vlevo"); //Печатает данные в порт
     }
     if(incomingByte == 100) //Нажали кнопку D
     {
       motor1.run(FORWARD); //Повернем вправо
       motor4.run(FORWARD); //Повернем вправо
       
       motor2.run(RELEASE); //Останавливаем колеса
       motor3.run(RELEASE); //Останавливаем колеса
       Serial.println("Vpravo"); //Печатает данные в порт 
       
     }
     digitalWrite(led, LOW); //Тушим светодиод, так как чтение данных закончилось
     //--- Мониторим присланные данные ---  
     Serial.print("Dannie: ");
     Serial.println(incomingByte, DEC); //Пишем данные которые приняли в порт
  }             
}
NeaWeaR вне форума   Ответить с цитированием
Старый 02.08.2014, 19:38   #73
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: Arduino Mega 2560 + TP-LINK MR3020 + C#/C++

Попробуйте другой скетч
Admin вне форума   Ответить с цитированием
Старый 02.08.2014, 21:49   #74
NeaWeaR
Senior Member
 
Регистрация: 24.04.2014
Сообщений: 120
Вес репутации: 0
NeaWeaR is an unknown quantity at this point
По умолчанию Re: Arduino Mega 2560 + TP-LINK MR3020 + C#/C++

Цитата:
Сообщение от Admin Посмотреть сообщение
все аналогично тому, как и было раньше(
не едет, светодиоды моргают
NeaWeaR вне форума   Ответить с цитированием
Старый 02.08.2014, 23:19   #75
stD
Senior Member
 
Аватар для stD
 
Регистрация: 02.04.2012
Адрес: Питер
Сообщений: 1,125
Вес репутации: 1311
stD has a brilliant futurestD has a brilliant futurestD has a brilliant futurestD has a brilliant futurestD has a brilliant futurestD has a brilliant futurestD has a brilliant futurestD has a brilliant futurestD has a brilliant futurestD has a brilliant futurestD has a brilliant future
По умолчанию Re: Arduino Mega 2560 + TP-LINK MR3020 + C#/C++

В линуксе любое подключённое устройство (usb, com, lpt, веб-камера, принтер и чёрт в ступе) представляется как файл, работа с ним ведётся как с текстовым файлом (пишешь в него и читаешь из него).

Цитата:
/dev/ttyACM0 и /dev/ttyUSB0
Это два абсолютно разных устройства, ничего общего не имеющих между собой.

Если ты подключаешь мегу, то она должна определятся как ttyACM0.
Откуда у тебя берётся ttyUSB0 ?
stD вне форума   Ответить с цитированием
Старый 03.08.2014, 00:05   #76
stD
Senior Member
 
Аватар для stD
 
Регистрация: 02.04.2012
Адрес: Питер
Сообщений: 1,125
Вес репутации: 1311
stD has a brilliant futurestD has a brilliant futurestD has a brilliant futurestD has a brilliant futurestD has a brilliant futurestD has a brilliant futurestD has a brilliant futurestD has a brilliant futurestD has a brilliant futurestD has a brilliant futurestD has a brilliant future
По умолчанию Re: Arduino Mega 2560 + TP-LINK MR3020 + C#/C++

Начнем с простого.
Залей это в мегу.

PHP код:
int incomingByte 0;

void setup() 
{
  
Serial.begin(9600); 
  
pinMode(13OUTPUT);
}

void loop() 

  if(
Serial.available() > 0
   { 
     
incomingByte Serial.read();
     if(
'a' == incomingByte)
       {
         
digitalWrite(13HIGH); 
         
Serial.println("VKL led 13");
       }
     
     if(
'b' == incomingByte)
       {
         
digitalWrite(13LOW); 
         
Serial.println("OTKL led 13");
       }
    }             

Открываешь Serial Monitor (в Arduino IDE).

Пишешь a (английское). Должен загореться D13 и написать VKL led 13.
Пишешь b (английское). Должен погаснуть D13 и написать OTKL led 13.



Поделай несколько раз, если всё стабильно, тогда переходим к роутеру.

/////////////////////////////////////////////////////////////////////////////////

В терминале на роутере пишешь echo 'a' > /dev/ttyACM0 Должен загореться D13.

В терминале на роутере пишешь echo 'b' > /dev/ttyACM0 Должен погаснуть D13.

Последний раз редактировалось stD; 03.08.2014 в 00:08.
stD вне форума   Ответить с цитированием
Старый 03.08.2014, 14:58   #77
NeaWeaR
Senior Member
 
Регистрация: 24.04.2014
Сообщений: 120
Вес репутации: 0
NeaWeaR is an unknown quantity at this point
По умолчанию Re: Arduino Mega 2560 + TP-LINK MR3020 + C#/C++

Цитата:
Сообщение от mebitek Посмотреть сообщение
Начнем с простого.
Залей это в мегу.

PHP код:
int incomingByte 0;

void setup() 
{
  
Serial.begin(9600); 
  
pinMode(13OUTPUT);
}

void loop() 

  if(
Serial.available() > 0
   { 
     
incomingByte Serial.read();
     if(
'a' == incomingByte)
       {
         
digitalWrite(13HIGH); 
         
Serial.println("VKL led 13");
       }
     
     if(
'b' == incomingByte)
       {
         
digitalWrite(13LOW); 
         
Serial.println("OTKL led 13");
       }
    }             

Открываешь Serial Monitor (в Arduino IDE).

Пишешь a (английское). Должен загореться D13 и написать VKL led 13.
Пишешь b (английское). Должен погаснуть D13 и написать OTKL led 13.



Поделай несколько раз, если всё стабильно, тогда переходим к роутеру.

/////////////////////////////////////////////////////////////////////////////////

В терминале на роутере пишешь echo 'a' > /dev/ttyACM0 Должен загореться D13.

В терминале на роутере пишешь echo 'b' > /dev/ttyACM0 Должен погаснуть D13.
спасибо огромное, разобрался почему не работает)
если отослать просто 'w', то все норм)
но модуль робот отсылает 'tx-com=w'

Как мне исправить чтобы отсылалось только 'w'?
NeaWeaR вне форума   Ответить с цитированием
Старый 03.08.2014, 15:37   #78
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: Arduino Mega 2560 + TP-LINK MR3020 + C#/C++

Отсечь все лишнее
Admin вне форума   Ответить с цитированием
Старый 03.08.2014, 15:52   #79
NeaWeaR
Senior Member
 
Регистрация: 24.04.2014
Сообщений: 120
Вес репутации: 0
NeaWeaR is an unknown quantity at this point
По умолчанию Re: Arduino Mega 2560 + TP-LINK MR3020 + C#/C++

Цитата:
Сообщение от Admin Посмотреть сообщение
Отсечь все лишнее

искал в файлах, но что-то не разобрался в каком из скриптов добавляется tx-com= (
не подскажете?
NeaWeaR вне форума   Ответить с цитированием
Старый 03.08.2014, 18:12   #80
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: Arduino Mega 2560 + TP-LINK MR3020 + C#/C++

Нужно искатоь отправку Post или Get
Admin вне форума   Ответить с цитированием
Ответ


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

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

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

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


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


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