Ошибка "redefinition of 'IRrecv irrecv'" обычно возникает из-за того, что вы дважды определяете один и тот же объект. Возможно, это связано с конфигурацией библиотек или конфликтами в подключенных файлах. Давайте попробуем упростить код и убедимся, что все включено правильно:
#include
const int RECV_PIN = 2; // указываем вывод, к которому подключен приемник
IRrecv irrecv(RECV_PIN);
decode_results results;
void setup() {
pinMode(8, OUTPUT);
irrecv.enableIRIn(); // запускаем прием
}
void loop() {
if (irrecv.decode(&results)) { // если данные пришли
switch (results.value) {
case 0xFD00FF:
digitalWrite(8, LOW);
break;
case 0xFD807F:
digitalWrite(8, HIGH);
break;
}
irrecv.resume(); // принимаем следующую команду
}
}
Попробуйте этот код. Если проблема сохраняется, возможно, нужно обновить или переустановить библиотеку `IRremote`, чтобы исключить возможные конфликты или ошибки.
IRrecv irrecv(2); // указываем вывод, к которому подключен приемник
decode_results results;
void setup() {
pinMode(8, OUTPUT);
irrecv.enableIRIn(); // запускаем прием
}
void loop() {
if ( irrecv.decode( &results )) { // если данные пришли
switch ( results.value ) {
case 0xFD00FF:
digitalWrite( 8, LOW );
break;
case 0xFD807F:
digitalWrite( 8, HIGH );
break;
}
irrecv.resume(); // принимаем следующую команду
}
}
выдает ошибку в IRrecv irrecv(2); пишет Compilation error: redefinition of 'IRrecv irrecv'
поправьте код пж