#include <IRremote.h>
#include <ESP32Servo.h>
#define irdato 14
#define ledverde 17
#define ledamarillo 4
#define ledrojo 2
int brillo = 0;
int angulo = 90;
int contador1=0;
int contador2=0;
Servo miServo;
void setup(){
Serial.begin(9600);
IrReceiver.begin(irdato);
pinMode(ledverde,OUTPUT);
pinMode(ledamarillo,OUTPUT);
pinMode(ledrojo,OUTPUT);
miServo.attach(15);
}
void loop(){
if (IrReceiver.decode()){
Serial.println(IrReceiver.decodedIRData.command);
int a=IrReceiver.decodedIRData.command;
// probando el control para ver los valores del los botones
//boton1=48
//boton2=24
//boton+=2
//boton-=152
//boton>>=144
//boton<<=224
if (a==48){//led verde boton 1
digitalWrite(ledverde,HIGH);
contador1++;
if(contador1==2){
digitalWrite(ledverde,LOW);
contador1=0;
}
}
if (a==24){//led amarrillo boton2
digitalWrite(ledamarillo,HIGH);
contador2++;
if(contador2==2){
digitalWrite(ledamarillo,LOW);
contador2=0;
}
}
if (a==2){//led rojo+
brillo=min(brillo+5, 255);
analogWrite(ledrojo, brillo);
delay(100);
}
if (a==152){//led rojo-
brillo=max(brillo-5, 0);
analogWrite(ledrojo, brillo);
delay(100);
}
if (a==144){//servo >>
angulo=180;
miServo.write(angulo);
delay(100);
}
if (a==224){//servo <<
angulo=0;
miServo.write(angulo);
delay(100);
}
}
IrReceiver.resume();
}