// include LCD libraries for I2C
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27,20,4);
//Function Names
int ledState=0;
int redPin=6;
int buttonPin=12;
int buttonNew;
int buttonPress;
int buttonOld=1;
int delayT=100;
int delayT1=150;
int cntUp;
void setup() {
//--------------------------
Serial.begin(9600);
pinMode(redPin, OUTPUT);
pinMode(buttonPin, INPUT);
// LCD setup
Wire.begin();
lcd.init();
lcd.backlight();
lcd.setCursor(5,0);
lcd.print("Hi AJ");
delay(2000);
lcd.clear();
}
void loop() {
buttonNew=digitalRead(buttonPin);
delay(3);
if(buttonOld==0 && buttonNew==1){
if(ledState==0){
digitalWrite(redPin, HIGH);
ledState=1;
while(ledState==1 && cntUp<256){
cntUp++;
lcd.setCursor(0,0);
lcd.print(cntUp);
Serial.println(cntUp);
delay(delayT1);
buttonPress=digitalRead(buttonPin);
delay(3);
if(buttonPress==1){
digitalWrite(redPin, LOW);
lcd.setCursor(0,1);
lcd.print("Counting Paused");
ledState=0;
delay(1000);
lcd.setCursor(0,1);
lcd.print(" ");
}
}
}
else{
digitalWrite(redPin, LOW);
ledState=0;
}
}
buttonOld=buttonNew;
delay(delayT);
}