Вот код : #include <RCSwitch.h> RCSwitch mySwitch = RCSwitch(); void setup() { Serial.begin(9600); // Transmitter is connected to Arduino Pin #10 mySwitch.enableTransmit(0); // Optional set pulse length. // mySwitch.setPulseLength(320); // Optional set protocol (default is 1, will work for most outlets) // mySwitch.setProtocol(2); // Optional set number of transmission repetitions. // mySwitch.setRepeatTransmit(15); } void loop() { /* Same switch as above, but using decimal code */ mySwitch.send(836800, 24); delay(1000); mySwitch.send(836611, 24); delay(1000); } Передатчик покдлючен к пину D2. RAW данные кнопок пульта Decimal: 836800 (24Bit) Binary: 000011001100010011000000 Tri-State: 001010F01000 PulseLength: 251 microseconds Protocol: 1 Raw data: 7796,244,760,244,760,248,756,244,764,740,268,748,252,244,768,232,768,744,264,740,264,236,772,232,768,244,764,740,268,240,760,244,764,100,260,48,1836,40,76,12,32,24,96,16,28,16,40,308,76, Decimal: 836656 (24Bit) Binary: 000011001100010000110000 Tri-State: 001010F00100 PulseLength: 251 microseconds Protocol: 1 Raw data: 7800,244,764,236,768,244,760,240,764,736,272,736,268,240,760,200,764,744,264,740,268,236,764,240,768,236,768,740,264,236,772,236,764,236,772,240,764,40,52,208,552,60,68,84,120,100,1800,92,820, Decimal: 836620 (24Bit) Binary: 000011001100010000001100 Tri-State: 001010F00010 PulseLength: 251 microseconds Protocol: 1 Raw data: 7792,244,760,240,768,240,768,232,768,748,256,748,260,240,764,244,760,748,260,744,260,240,764,244,760,244,760,748,260,240,768,232,772,236,768,236,772,96,2640,68,92,32,12,196,132,56,472,48,32, Decimal: 836611 (24Bit) Binary: 000011001100010000000011 Tri-State: 001010F00001 PulseLength: 251 microseconds Protocol: 1 Raw data: 7792,244,764,244,760,244,760,244,760,744,264,740,264,244,760,244,760,680,260,744,264,236,768,240,764,240,764,744,260,244,760,244,760,244,764,244,760,244,760,244,760,244,764,240,764,744,260,748,260, Decimal: 836611 (24Bit) Binary: 000011001100010000000011 Tri-State: 001010F00001 PulseLength: 251 microseconds Protocol: 1 Raw data: 7792,240,764,244,760,248,756,248,756,752,256,748,260,240,760,248,760,744,260,748,260,240,764,244,764,84,68,16,2764,264,128,732,24,988,52,660,88,12,756,16,40,228,176,268,772,432,524,524,44, Decimal: 836668 (24Bit) Binary: 000011001100010000111100 Tri-State: 001010F00110 PulseLength: 251 microseconds Protocol: 1 Raw data: 7796,244,760,244,764,240,760,244,768,744,264,108,252,252,748,260,756,748,256,752,92,44,540,44,212,84,72,52,1640,56,28,88,1560,12,836,484,2312,64,60,64,28,1240,44,52,360,648,276,396,60, Что я не так сделал???
Явная ошибка здесь: mySwitch.enableTransmit(0); для D2 должно быть mySwitch.enableTransmit(2); Это в приемнике нужно указывать номер прерывания, а в передатчике нормер пина. И я бы расскоментировал и поставил mySwitch.setPulseLength(251);
Где можно почитать про пины D2 ? А если я буду использовать UNO, тогда какой пин выбрать A0-A4???. Нубский вопрос: на что влияет данная строка mySwitch.setPulseLength(251); Что это за длина импульса и как она рассчитывается? СПАСИБО
Мне ли простому нерду консультировать Гика. Data-ножка передатчика цепляется на обыкновенные цифровые входы (0-14) про D2 Вы сами написали Но, приемник, я бы не стал сажать на 2-й вход, который может генерить прерывания. А посадил бы как в примере библиотеки на 10. Тогда инициализация будет такая. mySwitch.enableTransmit(10); Можно почитать здесь: https://dzrmo.wordpress.com/2012/07/08/remote-control-pt2272-for-android/ мои комменты здесь http://forum.amperka.ru/threads/Беспроводные-датчики-и-модуль-связи-на-433МГц.4204/ По Вашим Row данным с вероятностью 99.9% могу сказать, что в пульте 2262 чип кодировщика и 443МГц резонатор. Для 315 у меня PulseLength: 362 microseconds. берется из Row-данных
Спасибо, все у меня получилось. Код вот так переделал /* Example for different sending methods http://code.google.com/p/rc-switch/ */ #include <RCSwitch.h> RCSwitch mySwitch = RCSwitch(); void setup() { Serial.begin(9600); // Transmitter is connected to Arduino Pin #10 mySwitch.enableTransmit(10); // Optional set pulse length. mySwitch.setPulseLength(251); // Optional set protocol (default is 1, will work for most outlets) mySwitch.setProtocol(1); // Optional set number of transmission repetitions. // mySwitch.setRepeatTransmit(15); } void loop() { /* See Example: TypeA_WithDIPSwitches */ mySwitch.switchOn("11111", "00010"); delay(1000); mySwitch.switchOn("11111", "00010"); delay(1000); /* Same switch as above, but using decimal code */ mySwitch.send(836611, 24); delay(1000); mySwitch.send(836611, 24); delay(1000); /* Same switch as above, but using binary code */ mySwitch.send("000011001100010000000011"); delay(1000); mySwitch.send("000011001100010000000011"); delay(1000); /* Same switch as above, but tri-state code */ mySwitch.sendTriState("001010F00001"); delay(1000); mySwitch.sendTriState("001010F00001"); delay(1000); delay(20000); }