#include <LiquidCrystal_I2C.
h>
int led1 = 10;
int led2 = 11;
int led3 = 12;
int btn1 = 7;
int a = 0;
int b = 0;
int cursor = 1;
int btn2 = 8;
int c = 0;
int d = 0;
bool onOff = true;
int buttonState1;
int buttonState2;
int count = 0;
int currentLed = 1;
int currentMode = 0;
LiquidCrystal_I2C lcd(0x27, 16, 2);
void setup() {
pinMode(btn1, INPUT);
pinMode(btn2, INPUT);
pinMode(led1, OUTPUT);
pinMode(led2, OUTPUT);
pinMode(led3, OUTPUT);
lcd.init();
lcd.backlight();
Serial.begin(9600);
_updatePrint();
}
void loop(){
lcd.setCursor(1,0);
lcd.print("LEDs");
lcd.setCursor(8,0);
lcd.print("MODEs");
buttonState1 = digitalRead(btn1);
if(buttonState1 == 1){
Serial.print("x");
delay(300);
if(cursor == 1){
currentLed++;
}else{
currentMode++;
if(currentMode > 3){
currentMode = 0;
}
}
if(currentLed > 3){
currentLed = 1;
}
_updatePrint();
}
if(currentLed == 1){
digitalWrite(led1, currentMode);
}
if(currentLed == 2){
digitalWrite(led2, currentMode);
}
if(currentLed == 3){
digitalWrite(led3, currentMode);
}
//BUTTON 2
buttonState2 = digitalRead(btn2);
if(buttonState2 == 1){
Serial.print("x");
delay(300);
cursor++;
if(cursor > 2){
cursor = 1;
}
_updatePrint();
}
lcd.setCursor(1,0);
lcd.print("LEDs");
lcd.setCursor(8,0);
lcd.print("MODEs");
}
void _updatePrint(){
lcd.setCursor(1,0);
lcd.print("LEDs");
lcd.setCursor(8,0);
lcd.print("MODEs");
if(cursor == 1){
lcd.clear();
lcd.setCursor(0,1);
lcd.print(">");
lcd.setCursor(1,1);
lcd.print(currentLed);
lcd.setCursor(8,1);
if(currentMode == 0){
lcd.print("OFF");
digitalWrite(currentLed, LOW);
}
if(currentMode == 1){
lcd.print("A");
digitalWrite(currentLed, HIGH);
delay(1000);
digitalWrite(currentLed, LOW);
delay(1000);
}
if(currentMode == 2){
lcd.print("B");
digitalWrite(currentLed, HIGH);
delay(200);
digitalWrite(currentLed, LOW);
delay(200);
}
if(currentMode == 3){
lcd.print("C");
digitalWrite(currentLed, HIGH);
}
}else{
lcd.clear();
lcd.setCursor(7,1);
lcd.print(">");
lcd.setCursor(1,1);
lcd.print(currentLed);
lcd.setCursor(8,1);
if(currentMode == 0){
lcd.print("OFF");
digitalWrite(currentLed, LOW);
}
if(currentMode == 1){
lcd.print("A");
digitalWrite(currentLed, HIGH);
delay(1000);
digitalWrite(currentLed, LOW);
delay(1000);
}
if(currentMode == 2){
lcd.print("B");
digitalWrite(currentLed, HIGH);
delay(200);
digitalWrite(currentLed, LOW);
delay(200);
}
if(currentMode == 3){
lcd.print("C");
digitalWrite(currentLed, HIGH);
}
}
lcd.setCursor(1,0);
lcd.print("LEDs");
lcd.setCursor(8,0);
lcd.print("MODEs");
}