#include <LiquidCrystal_I2C.h>
#define GREEN_LED 12
#define RED_LED 16
#define GREEN_BUTTON 26
#define RED_BUTTON 5
#define DISPLAY_ADDRESS 0X27
#define COLUMNS 16
#define ROWS 2
LiquidCrystal_I2C display(DISPLAY_ADDRESS, COLUMNS, ROWS);
void setup() {
// put your setup code here, to run once:
Serial.begin(115200); // Start communication with console
Serial.println("Starting Light Show!");
pinMode(GREEN_LED, OUTPUT);
pinMode(RED_LED, OUTPUT);
pinMode(GREEN_BUTTON,INPUT_PULLUP);
pinMode(RED_BUTTON, INPUT_PULLUP);
display.init();
display.backlight();
display.print("Device Ready");
delay(1000);
display.clear();
}
void loop() {
// put your main code here, to run repeatedly:
int greenButton = digitalRead(GREEN_BUTTON);
delay(2000);
Serial.println(greenButton);
if (greenButton == LOW) {
Serial.println("On");
digitalWrite(GREEN_LED, HIGH);
display.setCursor(0, 0);
display.print("Green LED On ");
}
if (greenButton == HIGH) {
Serial.println("Off");
digitalWrite(GREEN_LED, LOW);
display.setCursor(0, 0);
display.print("Green LED Off");
}
delay(2000);
int redButton = digitalRead(RED_BUTTON);
delay(2000);
Serial.println(redButton);
if (redButton == LOW) {
Serial.println("On");
digitalWrite(RED_LED, HIGH);
display.setCursor(0, 1);
display.print("Red LED On ");
}
if (redButton == HIGH) {
Serial.println("Off");
digitalWrite(RED_LED, LOW);
display.setCursor(0, 1);
display.print("Red LED Off");
}
delay(2000);
Serial.println("Switching Lights!");
}