Одновременная работа нескольких приемо-передатчиков 433-315

Нет ответов
Alex_An
Offline
Зарегистрирован: 05.07.2016

Всем доброго времени суток!

Помогите пожалуста разбораться с проблемой.

 

Собрал подобную схему:

 

 

 Залил скетч:

#include <RCSwitch.h>
 
int ledPin = 13; // светодиод присоединён к порту 6
int res_snif = 10;
 
RCSwitch mySwitch = RCSwitch();
RCSwitch mySwitch2 = RCSwitch();
 
void setup(){
  Serial.begin(9600);
  mySwitch.enableReceive(0);  // приемник1
  mySwitch.enableTransmit(4); // передатчик1
  mySwitch.setRepeatTransmit(res_snif);
  mySwitch2.enableReceive(1);  // приемник2
  mySwitch2.enableTransmit(5); // передатчик2
  mySwitch2.setRepeatTransmit(res_snif);
 
  pinMode(ledPin, OUTPUT); // режим порта устанавливаем на вывод (запись)
}
 
void process_rf_value(RCSwitch rfswitch, int rf) {
  //РАСШИФРОВУЕМ ПОЛУЧЕННЫЙ КОД
  Serial.println("ACCEPT CODE");
  digitalWrite(ledPin, HIGH); // Если видим код - включаем светодиод
 
  char str[120];
  unsigned long value;
  value = rfswitch.getReceivedValue();
 
  if (value == 0) {
    Serial.println("Error code");
  } else {
    Serial.println("--- Congratulation !!! ---");
    Serial.print("Accept code - ");
    Serial.println(rfswitch.getReceivedValue() );
    Serial.print("Bit length - ");
    Serial.println(rfswitch.getReceivedBitlength() );
    Serial.print("Delay - ");
    Serial.println(rfswitch.getReceivedDelay() );
    Serial.print("Rawdata - ");
    //Serial.println(rfswitch.getReceivedRawdata() );
    Serial.println("");
    Serial.print("Protocol: ");
    Serial.println(rfswitch.getReceivedProtocol() );
  }
    
  rfswitch.send(value, rfswitch.getReceivedBitlength());
  rfswitch.resetAvailable();
  digitalWrite(ledPin, LOW); // выключаем светодиод
}
 
void loop() {
  //digitalWrite(ledPin, LOW); // выключаем светодиод
 
  if (mySwitch.available()) {
    process_rf_value(mySwitch, 315);
  }
 
  if (mySwitch2.available()) {
    process_rf_value(mySwitch2, 434);
  }
}
 
 
Но в таком варианте работает только один приемник на третьем пине. Т.е. любой (433/315) меняю их местами - на этом пине работает, на другом отказывается.
 
Подскажите пожалуйста в чем могут быть грабли?