Двунаправленная передача по Robotics 3DR

Dmitry_DM
Offline
Зарегистрирован: 02.11.2014

Здравствуйте! Я купил телеметрию Robotics 3DR

Первое что я захотел сделать - это проверить его, создав текстовый чат между 2 компьютерами.

1 часть втыкнута в 1 комп, 2 часть в ардуину и через нее в комп

залил какую-то прошивку на ардуино, которая предназначалась для APC220

запустил я 2 монитора порта, выбрал com порт и что?...

два дня боролся, но так и не понял как сделать, что бы я мог с "земли" отправить цыфру, и на "воздухе" принять, и наоборот. получилось лишь в одну какую-то сторону... помогите, какой код нужен? мне 2 разных сиреала прописывать?

заранее спасибо!

Dmitry_DM
Offline
Зарегистрирован: 02.11.2014

люди!!! больше недели прошло, но никто даже не ответил на мой вопрос!! помогите пожалуйста!!!

Puhlyaviy
Puhlyaviy аватар
Offline
Зарегистрирован: 22.05.2013

Dmitry_DM пишет:

люди!!! больше недели прошло, но никто даже не ответил на мой вопрос!! помогите пожалуйста!!!

Хрустальные шары в полировку сдали. Поэтому не получается увидеть КАКОЙ ТО КОД ЗАЛИТЫЙ В АРДУИНО!

jeka_tm
jeka_tm аватар
Offline
Зарегистрирован: 19.05.2013

а чего там заливать? это беспроводной UART вроде

Dmitry_DM
Offline
Зарегистрирован: 02.11.2014

я пробовал этот код:

int ledPin=13;   // Definition D13 PIN
int val;         // 
void setup()    
{
  pinMode(ledPin,OUTPUT);    //  
  Serial.begin(57600);       //  
}
void loop()     
{
  val=Serial.read();    // 
  if(-1!=val)           // 
  {
    if('B'==val)        // 
    {
      Serial.print(val);          // 
      digitalWrite(ledPin,HIGH);  // Control D13pin, output level High,LED is ON.
      delay(500);                 // Delay 500ms
      digitalWrite(ledPin,LOW);   //  Control D13pin, output level Low,LED is OFF.
      delay(500);                 // Delay 500ms
    }
  }
}

оно то работает, в одну сторону, а как сделать связь туда и обратно? 
надо 2 сериала? или можно все в одном?
цель такая:
1) открыт терминал на одном компе, подключен модуль "земля"
2) открыт терминал на другом компе, подключен модуль "воздух" по USB через Arduino DUE

как создать между ними ДВУСТОРОННИЮ передачу данных? 

1 модуль должен выводить принятую строку и одновременно иметь возможность отправить написанное

2 модуль точно так же

jeka_tm
jeka_tm аватар
Offline
Зарегистрирован: 19.05.2013

да ну. у тебя двухсторонняя связь. отправляешь значение, загорается светодиод и тебе обратно оно возвращается

замени 15 строчку на 

Serial.print("otvet");

Dmitry_DM
Offline
Зарегистрирован: 02.11.2014

ок... а как сделать, что бы отправляло не переменную, а то, что введено через сериал монитор?

jeka_tm
jeka_tm аватар
Offline
Зарегистрирован: 19.05.2013

это твой изначальный код

Dmitry_DM
Offline
Зарегистрирован: 02.11.2014

а надо втыкать Rx Tx передатчика в Rx Tx Arduino или перекрещивать?

jeka_tm
jeka_tm аватар
Offline
Зарегистрирован: 19.05.2013

если в ответ что то приходит и светодиод загорается на полсекунды значит правильно подключено

Dmitry_DM
Offline
Зарегистрирован: 02.11.2014

в общем получилось создать чат между двумя компьютерами... 

но код был не причем.. оказалось китайцы кривую прошивку засунули в модуль, перепрошивка самой новой версией помогла

теперь стоит вопрос:  
1) в этой штуке есть до 50 каналов, я выбрал 10. как в самой ардуине работать с каналами?
2) есть ли какая-то библиотека, упрощающая передачу данных по такому (и подобному модулю (например, APC230 или xBee))

цель: есть данные, записаны в таком строковом виде: xxx xxx xxx 
мне нужно, что бы каждый набор из цыфр передавался по отдельному каналу
как и с помощью чего можно это сделать?

p.s нашел такую статью но там, скорее всего, реализация не подойдет 

Vладимир
Offline
Зарегистрирован: 27.01.2015

1) в этой штуке есть до 50 каналов, я выбрал 10. как в самой ардуине работать с каналами?

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

если вы СМОГЛИ ВЫБРАТЬ 10 канал то в чом вопрос  

из библиотек только softserial но она наврятли потянет 57600 которые нужны для данных модулей

а чем вам обычный Serial не угодил 

-----------

мне нужно, что бы каждый набор из цыфр передавался по отдельному каналу

а это уже на генератор помех похоже 

Dmitry_DM
Offline
Зарегистрирован: 02.11.2014

Vладимир пишет:

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

если вы СМОГЛИ ВЫБРАТЬ 10 канал то в чом вопрос  

мне и нужно программная рас'канализация
я не выбрал 10-й канал, а выбрал максисмум 10 каналов в 3DRRadioConfig, вот в этом попрос...

приведите пример, где вы использовали прогрммного деления на каналы, которое вы использовали в своих девайсах

спасибо за отлик! 

Vладимир
Offline
Зарегистрирован: 27.01.2015

с данными девайсами мне удалось поиграться всего пару часов , мне их на проверку давали , у хозяина возникло подозрение 

что у его квадрика проблема с телеметрией , вот он мне их и всучил , типа на попробуй потом расскажеш.

я зделал примитивный скетч передачи строки с эхом и все. до управления у меня руки не дошли ,пришлось вернуть игрушку владельцу

я тут даже гдето видео выкладывал результата "обследования пациентов"

 

Dmitry_DM
Offline
Зарегистрирован: 02.11.2014

жалко... ну а вообще где можно найти реализацию? вот на многоизвестных пультах используют каналы (от 6 до 9 по моему)

как мне так же это выполнить? где можно найти такую информацию?