#include <Wire.h>
#include <LiquidCrystal_I2C.h>
// LCD: address, columns, rows
LiquidCrystal_I2C lcd(0x27, 16, 2);
// RGB LED pins
#define RED_PIN 33
#define GREEN_PIN 26
#define BLUE_PIN 14
void setup() {
// RGB pins
pinMode(RED_PIN, OUTPUT);
pinMode(GREEN_PIN, OUTPUT);
pinMode(BLUE_PIN, OUTPUT);
// LCD init
lcd.init();
lcd.backlight();
}
void loop() {
// 🔴 RED
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("RGB LED COLOR");
lcd.setCursor(0, 1);
lcd.print("RED");
analogWrite(RED_PIN, 255);
analogWrite(GREEN_PIN, 0);
analogWrite(BLUE_PIN, 0);
delay(2000);
// 🟢 GREEN
lcd.clear();
lcd.print("RGB LED COLOR");
lcd.setCursor(0, 1);
lcd.print("GREEN");
analogWrite(RED_PIN, 0);
analogWrite(GREEN_PIN, 255);
analogWrite(BLUE_PIN, 0);
delay(2000);
// 🔵 BLUE
lcd.clear();
lcd.print("RGB LED COLOR");
lcd.setCursor(0, 1);
lcd.print("BLUE");
analogWrite(RED_PIN, 0);
analogWrite(GREEN_PIN, 0);
analogWrite(BLUE_PIN, 255);
delay(2000);
// ⚪ WHITE
lcd.clear();
lcd.print("RGB LED COLOR");
lcd.setCursor(0, 1);
lcd.print("WHITE");
analogWrite(RED_PIN, 255);
analogWrite(GREEN_PIN, 255);
analogWrite(BLUE_PIN, 255);
delay(2000);
}