#include <LiquidCrystal_I2C.h>
#include <Servo.h>
LiquidCrystal_I2C lcd(0x027, 20,4);
Servo servo;
int leds[] ={-1,13,12,8,7,4};
int value=0;
int pot1=A0;
int pot2=A1;
int rgb_red=11;
int rgb_green =10;
int rgb_blue = 9;
void setup() {
// put your setup code here, to run once:
lcd.begin(20,4);
lcd.backlight();
lcd.setCursor(0,0);
for(int x=1; x<6; x++){
pinMode(leds[x], OUTPUT);
}
servo.attach(3);
servo.write(0);
pinMode(rgb_red, OUTPUT);
pinMode(rgb_green, OUTPUT);
pinMode(rgb_blue, OUTPUT);
}
void loop() {
// put your main code here, to run repeatedly:
value = map(analogRead(pot1), 0,1023,1,6);
for(int x=1; x<6; x++){
if(x<value){
digitalWrite(leds[x], HIGH);
}
else{
digitalWrite(leds[x], LOW);
}
}
servo.write(map(value, 1,6,0,180));
analogWrite(rgb_red,map(value, 1,6,0,255) );
lcd.setCursor(0,0);
lcd.print("pot: ");
lcd.print(analogRead(pot1));
lcd.print(" ");
lcd.setCursor(0,1);
lcd.print("value: ");
lcd.print(map(analogRead(pot1), 0,1023,0,5));
lcd.print(" ");
lcd.setCursor(0,2);
lcd.print("angle: ");
lcd.print(map(value, 1,6,0,180));
lcd.print(" ");
lcd.setCursor(0,3);
lcd.print("red: ");
lcd.print(map(value, 1,6,0,255));
lcd.print(" ");
}