#include <LiquidCrystal_I2C.h>
// potikkakonffi
const int slideri_r = A2;
const int slideri_g = A1;
const int slideri_b = A0;
// rgb-ledikonffi
const int ledivari_r = 11;
const int ledivari_g = 10;
const int ledivari_b = 9;
// lcd-näyttö
LiquidCrystal_I2C ledipaneeli(0x27,16,2);
void setup() {
// konffataan ledit näyttämään jotain syötettyä arvoa
pinMode(ledivari_r, OUTPUT);
pinMode(ledivari_g, OUTPUT);
pinMode(ledivari_b, OUTPUT);
// konffataan potikat syöttämään jotain arvoa
pinMode(slideri_r, INPUT);
pinMode(slideri_g, INPUT);
pinMode(slideri_b, INPUT);
// lcd-näyttö
ledipaneeli.init();
ledipaneeli.backlight();
}
void loop() {
// tyhjennetään ledipaneelii
ledipaneeli.clear();
// mapataan punainen arvo
int arvo_r = analogRead(slideri_r);
int mapattu_arvo_r = map(arvo_r,0,1023,0,255);
// mapataan vihreä arvo
int arvo_g = analogRead(slideri_g);
int mapattu_arvo_g = map(arvo_g,0,1023,0,255);
// mapataan sininen arvo
int arvo_b = analogRead(slideri_b);
int mapattu_arvo_b = map(arvo_b,0,1023,0,255);
// määritetään mitä arvoa ledit tulevat näyttämään
analogWrite(ledivari_r, mapattu_arvo_r);
analogWrite(ledivari_g, mapattu_arvo_g);
analogWrite(ledivari_b, mapattu_arvo_b);
// ledipaneeli
ledipaneeli.print("RED");
ledipaneeli.setCursor(0,1);
ledipaneeli.print(mapattu_arvo_r);
ledipaneeli.setCursor(5,0);
ledipaneeli.print("GREEN");
ledipaneeli.setCursor(6,1);
ledipaneeli.print(mapattu_arvo_g);
ledipaneeli.setCursor(12,0);
ledipaneeli.print("BLUE");
ledipaneeli.setCursor(13,1);
ledipaneeli.print(mapattu_arvo_b);
// asetetaan viivettä jotta LCD-näyttö on edes hieman luettava
delay(40);
}