#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#include <ESP32Servo.h>
#include <IRremote.h>
#define PIN_RECEIVER 15 // Signal Pin of IR receiver
#define SERVOPIN 18
IRrecv IRReceiver(PIN_RECEIVER);
LiquidCrystal_I2C LCDDisplay(0x27,16,2);
Servo MyServo;
void setup() {
// put your setup code here, to run once:
Serial.begin(115200);
LCDDisplay.init();
LCDDisplay.backlight();
IRReceiver.enableIRIn(); // Start the receiver
MyServo.attach(SERVOPIN,500,2400);
}
void loop() {
// put your main code here, to run repeatedly:
if (IRReceiver.decode())
{
Serial.println(IRReceiver.decodedIRData.command);
if(IRReceiver.decodedIRData.command==48) // nut 1
{
MyServo.write(90);
LCDDisplay.clear();
LCDDisplay.print("GOC QUAY: 90 DO");
}
else if(IRReceiver.decodedIRData.command==24) // nut 2
{
MyServo.write(45);
LCDDisplay.clear();
LCDDisplay.print("GOC QUAY: 45 DO");
}
else if(IRReceiver.decodedIRData.command==122) // nut 3
{
MyServo.write(135);
LCDDisplay.clear();
LCDDisplay.print("GOC QUAY: 135 DO");
}
else if(IRReceiver.decodedIRData.command==104) // nut 0
{
MyServo.write(0);
LCDDisplay.clear();
LCDDisplay.print("GOC QUAY: 0 DO");
}
IRReceiver.resume(); // Receive the next value
}
}