по задумке должен с одного пульта по нажатой кнопке выдать другой код пульта Код (Text): #include <IRremote.h> int RECEIVE_PIN = 11; IRrecv irrecv(RECEIVE_PIN); decode_results results; void setup() { Serial.begin(9600); irrecv.enableIRIn(); } void loop() { if ((irrecv.decode(&results)) && (results.value==0xA90) ) { irsend.sendNEC(0x202B24D, 32); } } но выдает ошибку при компиляции This report would have more information with "Show verbose output during compilation" enabled in File > Preferences. Arduino: 1.0.6 (Windows 7), Board: "Arduino Uno" sketch_nov11b.ino: In function 'void loop()': sketch_nov11b:15: error: 'irsend' was not declared in this scope
ТАк оно на чистом англицком как бы намекает, что переменную irsend надо как-то объявить перед использованием. Т.е. требуется либо подключить библиотеку, где оно уже объявлено, либо самому объявить.
двигаюсь дальше Код (Text): #include <IRremote.h> int RECEIVE_PIN = 11; IRrecv irrecv(RECEIVE_PIN); IRsend irsend; int state = 0; decode_results results; void setup() { Serial.begin(9600); irrecv.enableIRIn(); } void loop() { if ((irrecv.decode(&results)) && (results.value==0x80C) ) { if (state == 0) { state = 1; irsend.sendNEC(0x202B24D, 32); Serial.println("PowerON"); } else { state = 0; irsend.sendNEC(0x202B24D, 32); Serial.println("PowerOF"); } } if ((irrecv.decode(&results)) && (results.value==0x80C) ) { if (state == 0) { state = 1; irsend.sendNEC(0x202B24D, 32); Serial.println("PowerON"); } else { state = 0; irsend.sendNEC(0x202B24D, 32); Serial.println("PowerOF"); } irrecv.resume(); } } вроде должно выполнятся каждый раз при нажатии кнопки но после первого срабатывания затык
Что пишет в Serial? Добавьте отладочный вывод во все ветки программы и сразу станет понятно куда она попадает, а куда нет.
Всеравно не могу понять почему не работает Код (Text): #include <IRremote.h> int RECEIVE_PIN = 11; IRrecv irrecv(RECEIVE_PIN); IRsend irsend; int state = 0; decode_results results; void setup() { Serial.begin(9600); irrecv.enableIRIn(); } void loop() { Serial.println("Faze1"); delay(1000); if ((irrecv.decode(&results)) && Serial.println("Polushenie koda") && (results.value==0x80C) ) { Serial.println("Kod polushen"); if (state == 0) { state = 1; Serial.println("state = 1"); irsend.sendNEC(0x202B24D, 32); Serial.println("PowerON"); } else { state = 0; Serial.println("state = 2"); irsend.sendNEC(0x202B24D, 32); Serial.println("PowerOF"); } } irrecv.resume(); Serial.println("Polushenie koda"); } Код (Text): Faze1 Polushenie koda Faze1 Polushenie koda Faze1 Polushenie koda Polushenie koda Faze1 Polushenie koda Kod polushen state = 1 PowerON Polushenie koda Faze1 Polushenie koda Faze1 Polushenie koda Faze1 Судя по логам вроде все нормально но 2 раз кнопка пульта не срабатывает такое впечатление что он не возвращается к получению кода кнопки хотя судя по логу вернулся