Creo que el error es que estás buscando el dato incorrecto en la struct resultado.
Estás comparando el tipo de decodificación con un valor constante? No será acaso que lo que necesitas es el value?
sigue sin recibir, la verdad que me meti en camisa de 11 varas
![]()
#include <IRremote.h>
int recibe = 0;
int relay1 = 1;
IRrecv irrecv(recibe);
decode_results results;
#define prender 16599733
#define apagar 16583413
void setup()
{
irrecv.enableIRIn();
pinMode(recibe, INPUT);
pinMode(relay1, OUTPUT);
}
void loop() {
if (irrecv.decode(&results)) {
if (results.value == prender) {
digitalWrite(0,HIGH);
}
if (results.value == apagar) {
digitalWrite(0,HIGH);
}
}
}