#include <LiquidCrystal.h>
// Inicializácia displeja - RS, E, D4, D5, D6, D7
LiquidCrystal lcd(13, 12, 8, 7, 4, 2);
// Definícia pinov
const int redPin = 3;
const int greenPin = 5;
const int bluePin = 6;
const int potRed = A0;
const int potGreen = A1;
const int potBlue = A2;
const int potBright = A3;
int redValue, greenValue, blueValue, brightness;
void setup() {
pinMode(redPin, OUTPUT);
pinMode(greenPin, OUTPUT);
pinMode(bluePin, OUTPUT);
lcd.begin(16, 2);
lcd.print("RGB Controller");
delay(500);
lcd.clear();
}
void loop() {
// Získanie hodnôt z potenciometrov
redValue = map(analogRead(potRed), 0, 1023, 0, 255);
greenValue = map(analogRead(potGreen), 0, 1023, 0, 255);
blueValue = map(analogRead(potBlue), 0, 1023, 0, 255);
brightness = map(analogRead(potBright), 0, 1023, 0, 10);
// Nastavenie RGB LED (invertované pre common anode)
analogWrite(redPin, 255 - redValue);
analogWrite(greenPin, 255 - greenValue);
analogWrite(bluePin, 255 - blueValue);
// Vyčistenie displeja
lcd.clear();
// Aktualizácia displeja - prvý riadok
lcd.setCursor(0, 0);
lcd.print("R:");
lcd.print(redValue);
lcd.print(" G:");
lcd.print(greenValue);
lcd.print(" B:");
lcd.print(blueValue);
// Aktualizácia displeja - druhý riadok
lcd.setCursor(0, 1);
lcd.print("Brightness: ");
lcd.print(brightness);
delay(200); // Dlhšie oneskorenie pre stabilitu displeja
}