Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Не работает код

Шаурмечник Ахмед Ученик (96), на голосовании 5 месяцев назад
#include "IRremote.h"

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'
поправьте код пж
Голосование за лучший ответ
Chromatic Scale Искусственный Интеллект (207149) 6 месяцев назад
Ошибка "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`, чтобы исключить возможные конфликты или ошибки.
Шаурмечник АхмедУченик (96) 6 месяцев назад
не сработало, но библиотеку обновил, спасибо
Chromatic Scale Искусственный Интеллект (207149) Шаурмечник Ахмед, Попробуем немного изменить подход и посмотрим, решит ли это проблему. Мы также добавим некоторые отладочные сообщения, чтобы видеть, что происходит во время выполнения.
Похожие вопросы