#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27,16,2);
int pinLed1 = 8, pinLed2 = 9, pinLed3 = 10, numBlinks1 = 3, numBlinks2 = 5;
String On = "Turn ON", Off = "Turn OFF", L1 = "LED 1", L2 = "LED 2", L3 = "LED 3";
void setup()
{
pinMode(pinLed1, OUTPUT);
pinMode(pinLed2, OUTPUT);
pinMode(pinLed3, OUTPUT);
lcd.begin(16,2);
lcd.backlight();
}
void loop()
{
int counter = 1;
//***********************
// Time 1 (3 รอบ)
//***********************
do
{
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Time 1");
lcd.setCursor(0,1);
lcd.print("Round ");
lcd.print(counter);
delay(1000);
// LED1
lcd.clear();
digitalWrite(pinLed1,HIGH);
lcd.setCursor(0,0);
lcd.print(On);
lcd.setCursor(0,1);
lcd.print(L1);
delay(100);
digitalWrite(pinLed1,LOW);
lcd.setCursor(0,0);
lcd.print(Off);
lcd.setCursor(1,1);
lcd.print(L1);
delay(100);
// LED2
lcd.clear();
digitalWrite(pinLed2,HIGH);
lcd.setCursor(0,0);
lcd.print(On);
lcd.setCursor(0,1);
lcd.print(L2);
delay(100);
digitalWrite(pinLed2,LOW);
lcd.setCursor(0,0);
lcd.print(Off);
lcd.setCursor(1,1);
lcd.print(L2);
delay(100);
// LED3
lcd.clear();
digitalWrite(pinLed3,HIGH);
lcd.setCursor(0,0);
lcd.print(On);
lcd.setCursor(0,1);
lcd.print(L3);
delay(100);
digitalWrite(pinLed3,LOW);
lcd.setCursor(0,0);
lcd.print(Off);
lcd.setCursor(1,1);
lcd.print(L3);
delay(100);
// LED2
lcd.clear();
digitalWrite(pinLed2,HIGH);
lcd.setCursor(0,0);
lcd.print(On);
lcd.setCursor(0,1);
lcd.print(L2);
delay(100);
digitalWrite(pinLed2,LOW);
lcd.setCursor(0,0);
lcd.print(Off);
lcd.setCursor(1,1);
lcd.print(L2);
delay(100);
// LED1
lcd.clear();
digitalWrite(pinLed1,HIGH);
lcd.setCursor(0,0);
lcd.print(On);
lcd.setCursor(0,1);
lcd.print(L1);
delay(100);
digitalWrite(pinLed1,LOW);
lcd.setCursor(0,0);
lcd.print(Off);
lcd.setCursor(1,1);
lcd.print(L1);
delay(100);
counter++;
}
while(counter <= numBlinks1);
{
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Time 1");
lcd.setCursor(0,1);
lcd.print("Round ");
lcd.print(counter);
delay(1000);
}
lcd.clear();
lcd.setCursor(0,0);
lcd.print("The LED has");
lcd.setCursor(0,1);
lcd.print("Blinked: ");
lcd.print(numBlinks1);
lcd.print(" Times");
delay(2000);
//***********************
// Time 2 (4 รอบ)
//***********************
counter = 1;
while(counter <= numBlinks2)
{
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Time 2");
lcd.setCursor(0,1);
lcd.print("Round ");
lcd.print(counter);
delay(1000);
// LED1
lcd.clear();
digitalWrite(pinLed1,HIGH);
lcd.setCursor(0,0);
lcd.print(On);
lcd.setCursor(0,1);
lcd.print(L1);
delay(100);
digitalWrite(pinLed1,LOW);
lcd.setCursor(0,0);
lcd.print(Off);
delay(100);
// LED2
lcd.clear();
digitalWrite(pinLed2,HIGH);
lcd.setCursor(0,0);
lcd.print(On);
lcd.setCursor(0,1);
lcd.print(L2);
delay(100);
digitalWrite(pinLed2,LOW);
lcd.setCursor(0,0);
lcd.print(Off);
delay(100);
// LED3
lcd.clear();
digitalWrite(pinLed3,HIGH);
lcd.setCursor(0,0);
lcd.print(On);
lcd.setCursor(0,1);
lcd.print(L3);
delay(100);
digitalWrite(pinLed3,LOW);
lcd.setCursor(0,0);
lcd.print(Off);
delay(100);
// LED2
lcd.clear();
digitalWrite(pinLed2,HIGH);
lcd.setCursor(0,0);
lcd.print(On);
lcd.setCursor(0,1);
lcd.print(L2);
delay(100);
digitalWrite(pinLed2,LOW);
lcd.setCursor(0,0);
lcd.print(Off);
delay(100);
// LED1
lcd.clear();
digitalWrite(pinLed1,HIGH);
lcd.setCursor(0,0);
lcd.print(On);
lcd.setCursor(0,1);
lcd.print(L1);
delay(100);
digitalWrite(pinLed1,LOW);
lcd.setCursor(0,0);
lcd.print(Off);
delay(100);
counter++;
}
lcd.clear();
lcd.setCursor(0,0);
lcd.print("The LED has");
lcd.setCursor(0,1);
lcd.print("Blinked: ");
lcd.print(numBlinks2);
lcd.print(" Times");
delay(2000);
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Program End");
lcd.setCursor(0,1);
lcd.print("Thank You");
}