#include <LiquidCrystal_I2C.h>
#define I2C_ADDR 0x27
#define LCD_COLUMNS 20
#define LCD_LINES 4
LiquidCrystal_I2C lcd(I2C_ADDR, LCD_COLUMNS, LCD_LINES);
const int B=2, G=3, Y=4, O=5, R=6, P=7, Pr=8;
int pot=A0;
int potVal=0;
int slideVal;
int color_code;
String color[] = {
"Red ","Orange","Yellow","Green ","Blue ","Pink ","Purple"};
void setup() {
pinMode(B, OUTPUT);
pinMode(G, OUTPUT);
pinMode(Y, OUTPUT);
pinMode(O, OUTPUT);
pinMode(R, OUTPUT);
pinMode(pot, INPUT);
lcd.init();
lcd.backlight();
}
void loop() {
potVal=analogRead(pot);
slideVal=analogRead(pot);
potVal=map(potVal,0,1023,2,8);
switch(potVal)
{
case 2: digitalWrite(B, HIGH);digitalWrite(G, LOW);digitalWrite(Y, LOW);
digitalWrite(O, LOW);digitalWrite(R, LOW);digitalWrite(P, LOW);
digitalWrite(Pr, LOW);
break;
case 3: digitalWrite(G, HIGH);digitalWrite(B, LOW);digitalWrite(Y, LOW);
digitalWrite(O, LOW);digitalWrite(R, LOW);digitalWrite(P, LOW);
digitalWrite(Pr, LOW);
break;
case 4: digitalWrite(Y, HIGH);digitalWrite(G, LOW);digitalWrite(B, LOW);
digitalWrite(O, LOW);digitalWrite(R, LOW);digitalWrite(P, LOW);
digitalWrite(Pr, LOW);
break;
case 5: digitalWrite(O, HIGH);digitalWrite(G, LOW);digitalWrite(Y, LOW);
digitalWrite(B, LOW);digitalWrite(R, LOW);digitalWrite(P, LOW);
digitalWrite(Pr, LOW);
break;
case 6: digitalWrite(R, HIGH);digitalWrite(G, LOW);digitalWrite(Y, LOW);
digitalWrite(O, LOW);digitalWrite(B, LOW);digitalWrite(P, LOW);
digitalWrite(Pr, LOW);
break;
case 7: digitalWrite(P, HIGH);digitalWrite(G, LOW);digitalWrite(Y, LOW);
digitalWrite(O, LOW);digitalWrite(R, LOW);digitalWrite(B, LOW);
digitalWrite(Pr, LOW);
break;
case 8: digitalWrite(Pr, HIGH);digitalWrite(G, LOW);digitalWrite(Y, LOW);
digitalWrite(O, LOW);digitalWrite(R, LOW);digitalWrite(P, LOW);
digitalWrite(B, LOW);
break;
}
color_code=map(potVal,2,8,0,6);
lcd.setCursor(0,0);
lcd.print("Slide LED Controller");
lcd.setCursor(0,2);
lcd.print("Pin Address:");
lcd.setCursor(13,2);
lcd.print(potVal);
lcd.setCursor(0,3);
lcd.print("LED Color:");
lcd.setCursor(11,3);
lcd.print(color[color_code]);
}