#include <IRremote.hpp>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 20, 4);
int RECV_PIN = 11;
const int RED = 5;
const int GREEN = 6;
const int BLUE = 9;
IRrecv irrecv(RECV_PIN);
decode_results results;
void setup()
{
lcd.begin(); // Initialize the LCD with 20 columns and 4 rows
lcd.backlight();
lcd.setCursor(0, 0);
lcd.print("The Color Is:");
pinMode(RED,OUTPUT);
pinMode(GREEN,OUTPUT);
pinMode(BLUE,OUTPUT);
Serial.begin(9600);
irrecv.enableIRIn(); // Start the receiver
}
void loop()
{
if (irrecv.decode(&results)) {
// Check if the received button code is equal to a specific code
if (results.value == 0 ) {
analogWrite(RED,255);
analogWrite(GREEN,255);
analogWrite(BLUE,255);
lcd.setCursor(0,1);
lcd.print("White");
// WHITE RGB COLOR
}
else if (results.value == 01 ) {
analogWrite(RED,128);
analogWrite(GREEN,0);
analogWrite(BLUE,128);
lcd.setCursor(0,1);
lcd.print("Purble");
// PURBLE RGB COLOR
}
else if (results.value == 02 ) {
analogWrite(RED,255);
analogWrite(GREEN,102);
analogWrite(BLUE,0);
lcd.setCursor(0,1);
lcd.print("Orange");
// ORANGE RGB COLOR
}
else if (results.value == 03) {
analogWrite(RED,255);
analogWrite(GREEN,255);
analogWrite(BLUE,0);
lcd.setCursor(0,1);
lcd.print("Yellow");
// YELLOW RGB COLOR
}
else if (results.value == 04) {
analogWrite(RED,0);
analogWrite(GREEN,0);
analogWrite(BLUE,255);
lcd.setCursor(0,1);
lcd.print("Blue");
// BLUE RGB COLOR
else if (results.value == 05) {
analogWrite(RED,0);
analogWrite(GREEN,255);
analogWrite(BLUE,0);
lcd.setCursor(0,1);
lcd.print("Green");
// GREEN RGB COLOR
}
else if (results.value == 06) {
analogWrite(RED,255);
analogWrite(GREEN,0);
analogWrite(BLUE,0);
lcd.setCursor(0,1);
lcd.print("Red");
// RED RGB COLOR
}
else if (results.value == 07) {
analogWrite(RED,0);
analogWrite(GREEN,0);
analogWrite(BLUE,0);
lcd.setCursor(0,1);
lcd.print("Black");
// BLACK RGB COLOR
}
Serial.println(results.value, HEX);
irrecv.resume();
}