IO Expansion Shield For Arduino(V5)

Voronar
Offline
Зарегистрирован: 30.04.2012

 Здравствуйте. Возникла проблема при работе с этим шилдом и xbee s2(XBP24BZ7WITB003). А именно не происходит передача данных с ардуино(шилд+xbee) на пк(usb-adapter + xbee). Модули связи настроены правильно - проверил. Данные отправляются и принимаются обоими модулями корректно.

На вики этого шилда нашел вот это:

Для приема.

int EN = 2; //RS485 has a enable/disable pin to transmit or receive data. Arduino Digital Pin 2 = Rx/Tx 'Enable'; High to Transmit, Low to Receive
 
void setup() 
{
  pinMode(EN, OUTPUT);
  Serial.begin(19200);
} 
 
void loop()
{
// send data 
  digitalWrite(EN, HIGH);//Enable data transmit
  Serial.print('A');
  delay(1000);
}

Для передачи.

int ledPin = 13;
int EN = 2;
int val;
 
void setup() 
{
  pinMode(ledPin, OUTPUT);
  pinMode(EN, OUTPUT);
  Serial.begin(19200);
}
 
void loop()
{
  // receive data
 digitalWrite(EN, LOW);//Enable Receiving Data
 val = Serial.read();
  if (-1 != val) {
    if ('A' == val) {
      digitalWrite(ledPin, HIGH);
      delay(500);
      digitalWrite(ledPin, LOW);
      delay(500);
    }
 }
}

Пробовал эти примеры с разной комбинацией джампера. Ничего.

Что подскажите?

 

maksim
Offline
Зарегистрирован: 12.02.2012

Для начала разберитесь что такое RS485 и по какому интерфейсу работает xbeе, потому как вы привели пример кода никак не связанного с xbee.
Затем почитайте как правильно прошивать и настраивать xbee. (воспользуйтесь поиском по форуму).
И только после этого найдите здесь же на форуме примеры передачи данных через xbee.

Интересно вот что:

Voronar пишет:
Модули связи настроены правильно - проверил. Данные отправляются и принимаются обоими модулями корректно.

как вы это проверяли?

 

Voronar
Offline
Зарегистрирован: 30.04.2012

 

Сначала прошил модули соответствующим образом с помощью x-ctu. Потом взял два usb адаптера и проверил c помощью той же x-ctu. Также я проверял другим методом. На ПК был usb адаптер, а на ардуино вот таким образом(см. фото к моему посту) подключил xbee. Тоже все работало.

Второй метод подходит идеально, но для него нужно докупать usb адаптеры. А мне хочется воспользоваться готовым разъемом на шилде, который должне работать.

maksim
Offline
Зарегистрирован: 12.02.2012

 К сожалению на схеме этого шилда я не смог найти перемычек и следовательно не могу сказать что они делают, но судя по схеме если у вас все работало при подключении хВее как на фото, то должно работать и при воткнутом хВее в шилд.

Mastino
Offline
Зарегистрирован: 03.12.2011

У меня тоже самое на китайском шилде.  В моем случае распиновка была не такая.

 

maksim
Offline
Зарегистрирован: 12.02.2012

 А по-подробнее? какая не такая?

Voronar
Offline
Зарегистрирован: 30.04.2012

 

Я ставил как на картинке для второго метода(APC). Левое положение для RS-485. Как они могут влиять на передачу по serial соединению...

Я знаю, что при передачи сигнала xbee модуль использует 0(Rx) для приема и 1(Tx) для передачи, то есть перекрывает проводное serial соединение.

Voronar
Offline
Зарегистрирован: 30.04.2012

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

Voronar
Offline
Зарегистрирован: 30.04.2012

 Или я вас не так понял?

Mastino
Offline
Зарегистрирован: 03.12.2011

 У меня похожая на эту:
http://www.ebay.com/itm/DF-ROBOT-Mega-IO-Expansion-Shield-V2-1-For-Ardui...
Только одно гнездо для xbee.. тестером проверял что куда, пины которые должны из Xbee гнезда в RX TX идти, не идут.  Дальше не разбирался.

Voronar
Offline
Зарегистрирован: 30.04.2012

 Всем спасибо.

Shurupovert
Offline
Зарегистрирован: 04.09.2013

Ребят, возился с той же проблемой.

Эти красноглазые индейцы из адафруйт поставили на ноге DOUT (вывод 3 ) у Xbee 2 резистора.

Один от неё на землю - 15к

второй от неё на Jumpers 10к.

Соответственно коммуникация через такое сопротивление не работает.

Выход - выпаиваем и замыкаем накоротко резистор 10к.

Джамперы ставим 2 штуки - возле синего разъема (на 4 пина) со стороны где написано APC.

В коде никакие ноги включать не надо.

У меня вроде бы заработало.

Shurupovert
Offline
Зарегистрирован: 04.09.2013

Для того чтобы X-CTU увидел X-bee И позволил ее прошить, те же самые джамперы, что я писал выше, снимаем, и вместо них ставим перемычки крест-накрест. таким образом получаем соединение TX (xBee) - TX (Ardu), RX (xBee) - RX (Ardu).
Программирование xBee возможно при снятом процессоре. При зажатом RESET не работает.

Voronar
Offline
Зарегистрирован: 30.04.2012

Спасибо, попробую.

Voronar
Offline
Зарегистрирован: 30.04.2012

Приветствую, Шуруповёрт. Только сейчас добрался до железа.

А не могли бы Вы сделать скриншот с пометкой того самого резистора, который надо выпаять?

Voronar
Offline
Зарегистрирован: 30.04.2012

Ещё вы говорите, что на ноге DOUT(вывод 3) 2 резистора, а на схеме это DIN/CONFIG. Как понимать?

На Arduino так и не нашёл пока желаемый резистор.

 Как его поаккуратнее выпаять стандартным паяльником... Вы как выпаивали, если не секрет?