Требуется помощь, подскажите пожалуйста, как управлять с одного пульта от люстры несколькими нагрузками, коды пульта я прочел, вышло следующее: А то я уже весь гугл перерыл, ничего не понял, у Дмитрия Осипова есть похожий урок, но он управляет с планшета через интернет такими нагрузками а мне нужно с пульта Code: 342252, period duration: 257us. Code: 342234, period duration: 257us Code: 342228, period duration 257us Code 342226, period duration 257us И соответственно я написал скетч: #include <RCSwitch.h> RCSwitch mySwitch = RCSwitch(); const int kod1 = 342252; //коди клавиш const int kod2 = 342234; const int kod3 = 342228; const int kod4 = 342226; const int red = 13; //выход на лампы const int green = 11; const int blue = 10; int kod; int i; void setup() { pinMode(2, OUTPUT); pinMode(5, OUTPUT); digitalWrite(2, 1); digitalWrite(5, 0); Serial.begin(9600); mySwitch.enableReceive(1); // приемник на пин2 pinMode(red, OUTPUT); pinMode(green, OUTPUT); pinMode(blue, OUTPUT); } void loop() { if (mySwitch.getReceivedValue() == 342252,257) { kod = kod1; } else if (mySwitch.getReceivedValue() == 342234,257) { kod = kod2; } else if (mySwitch.getReceivedValue() == 342228,257) { kod = kod3; } if (kod == kod1) { analogWrite(red, HIGHT)==!analogWrite(red, LOW); } else if (kod == kod2) { analogWrite(red, HIGHT)==!analogWrite(red, LOW); } else if (kod == kod3) { analogWrite(red, HIGHT)==!analogWrite(red, LOW); } }
const int kod2 = 342234; - неправильно, тип int имеет размерность не более 32767. mySwitch.getReceivedValue() == 342228,257 - что означает 257? analogWrite(red, HIGHT) - что такое HIGHT? К тому же пины 10, 11 ,13 - цифровые, а ты пытаешься читать/впихнуть туда аналог. Пишу только изменения: Код (C++): const unsigned int kod1 = 342252; //коди клавиш const unsigned int kod2 = 342234; const unsigned int kod3 = 342228; const unsigned int kod4 = 342226; const byte red = 13; //выход на лампы const byte green = 11; const byte blue = 10; void loop() { switch (mySwitch.getReceivedValue()) { case kod1: digitalWrite(red, !digitalRead(red)); break; case kod2: digitalWrite(green, !digitalRead(green)); break; case kod3: digitalWrite(blue, !digitalRead(blue)); break; case kod4: digitalWrite(red, LOW); digitalWrite(green, LOW); digitalWrite(blue, LOW); break; } }
Период пежду импульсами, дело в том что они тоже отображаются в мониторе порта при считывание кодов кнопок
Я не особо в этом пока селен, но смысл таков имеется вот такой пульт на частоту 433МГц, имеется пару таких приемников, см. ФОТО, идея такая, сделать несколько блоков управления, приемников на 4 нагрузки, и что бы они управлялись с одного пульта, работать должны так: нажал на кнопку, нагрузка включилась, нажал еще раз эту же кнопку, нагрузка выключилась, с IR управлением я подобное уже делал, все работает, но хотелось бы другой сделать по радиоканалу