/*
อมฤต โชติทินวัฒน์ 630406401384
โปรแกรมแสดงไฟ RGB ผ่านการควบคุมด้วย Dip Switch
และแสดงสถานะผ่าน LCD
*/
#include <LiquidCrystal_I2C.h>
#define led1 2
#define led2 4
#define led3 5
int sw1 = 18;
int sw2 = 19;
int sw3 = 23;
int lcdColumns = 21;
int lcdRows = 22;
LiquidCrystal_I2C lcd(0x27, lcdColumns, lcdRows);
void setup() {
lcd.init();
lcd.backlight();
Serial.begin(115200);
pinMode(led1,OUTPUT );
pinMode(led2,OUTPUT );
pinMode(led3,OUTPUT );
pinMode(sw1,INPUT);
pinMode(sw2,INPUT);
pinMode(sw3,INPUT);
}
// sky pink yellow
void loop() {
//High Part
if(digitalRead(sw1)==HIGH)
{
digitalWrite(led1, HIGH);
Serial.println("led1 ON");
lcd.setCursor(0, 0);
lcd.print("SkyBlue ");
lcd.setCursor(0, 1);
lcd.print("ON ");
delay(1000);
}
else if(digitalRead(sw2)==HIGH)
{
digitalWrite(led2, HIGH);
Serial.println("led2 ON");
lcd.setCursor(0, 0);
lcd.print("Pink ");
lcd.setCursor(0, 1);
lcd.print("ON ");
delay(1000);
}
else if(digitalRead(sw3)==HIGH)
{
digitalWrite(led3, HIGH);
Serial.println("led3 ON");
lcd.setCursor(0, 0);
lcd.print("Yellow ");
lcd.setCursor(0, 1);
lcd.print("ON ");
delay(1000);
}
else{
digitalWrite(led1, LOW);
digitalWrite(led2, LOW);
digitalWrite(led3, LOW);
Serial.println("White ");
lcd.setCursor(0, 0);
lcd.print(" White ");
lcd.setCursor(0, 1);
lcd.print("OFF ");
}
}