Предыстория: купил я ик приёмник (tsop 1783), подключил по даташиту и все работало, но позже, запутавшись в схеме я перепутал пины (реле воткнул в пин с ик-приемником, а ик-приемник в реле). После этого приемник отказывался работать, до некоторого времени... При включении ардуино [мега] и нажатии на кнопку пульта- команда, прописанная для данной кнопки выполняется, однако при этом и происходит та самая ошибка: на другие команды приемник (или ардуино) не откликаются, а serial показывает "столб" повторяющегося кода кнопки пульта. Спойлер: Скетч Код (C++): #include <IRremote.h> int RECV_PIN = 11; //Пин с ИК приемником IRrecv irrecv(RECV_PIN); decode_results results; void setup() { Serial.begin(9600); irrecv.enableIRIn(); pinMode(8, OUTPUT); //Светодиод pinMode(9, OUTPUT); //Светодиод pinMode(10, OUTPUT); //Светодиод pinMode(21, OUTPUT); //Реле } void loop() { if (irrecv.decode(&results)) { Serial.println(results.value); switch (results.value) { case 16736925: digitalWrite(10, HIGH); break; case 16753245: digitalWrite(10, LOW); break; case 16712445: digitalWrite(9, HIGH); break; case 16720605: digitalWrite(9, LOW); break; case 16754775: digitalWrite(8, HIGH); break; case 16769055: digitalWrite(8, LOW); break; case 16761405: digitalWrite(21, HIGH); break; case 16748655: digitalWrite(21, LOW); break; irrecv.resume(); } } } Скрин Serial'а: Спойлер: Скриншот На нем я пытался включить реле, как видно код кнопки пульта для выполнения команды реле постоянно дублируется, тем самым (?)загружая канал Хотелось бы узнать, программная ли ошибка, или же действительно поломался приемник. Ведь он принимает первый сигнал
Проблему решил: Вместо Код (C++): break; irrecv.resume(); } Надо Код (C++): break; } irrecv.resume();