Не работает супергетеродинный приемник 433 МГц на Mega 2650
- Войдите на сайт для отправки комментариев
Чт, 07/04/2016 - 13:34
Доброго всем дня!
В наличии 3 приемника на 433 МГц: приемник-1, приемник-2, приемник-3
так же оригинальные Arduino YUN, Mega 2650 и китайская Mega на CH341
Что имеем:
На YUN работают все приемники. На Мегах только Приемник-1, пробовал разные пины/прерывания - отклика нет.
Где собака порылась???
собственно скетч из примера к RCSwitch
#include <RCSwitch.h> //#define YUN // 32u4 based (e.g Leonardo, YUN) #ifdef YUN #define rxPin 3 //пин приемника #define rxInt 0 //прерывание приемника #else // Mega //#define rxPin 3 //пин приемника //#define rxInt 1 //прерывание приемника #define rxPin 2 //пин приемника #define rxInt 0 //прерывание приемника #endif RCSwitch mySwitch = RCSwitch(); void setup() { pinMode(rxPin, INPUT); digitalWrite(rxPin, LOW); Serial.begin(9600); mySwitch.enableReceive(rxInt); Serial.println("Receive ready !"); } void loop() { if (mySwitch.available()) { int value = mySwitch.getReceivedValue(); #ifdef YUN while (!Serial); // добавить для YUN & Leonardo ! #endif if (value == 0) { Serial.print("Unknown encoding"); } else { Serial.print("Received "); Serial.print( mySwitch.getReceivedValue() ); Serial.print(" / "); Serial.print( mySwitch.getReceivedBitlength() ); Serial.print("bit "); Serial.print("Protocol: "); Serial.println( mySwitch.getReceivedProtocol() ); } mySwitch.resetAvailable(); } }
Решено!
На пин приемника Data через резистор был подключен светодиод, шоб моргал когда прием идет ))
Для Меги и Нано в связке с супергетеродинными приемниками это оказалось критичным.
Убрал и все заработало.
На пин приемника Data через резистор был подключен светодиод, шоб моргал когда прием идет ))
Видимо, те, кто захотели бы Вам помочь должны били сами об этом догадаться?
Теперь понимаете, что подобные вопросы без схемы включения бессмысленны?