// MEGA 2560 BOARD
// 20X4 i2c LCD
#include <Wire.h>
#include <LCD.h>
#include <LiquidCrystal_I2C.h>
#define I2C_ADDR 0x3F // <<- Add your I2C LCD MODULE address here.
#define Rs_pin 0
#define Rw_pin 1
#define En_pin 2
#define BACKLIGHT_PIN 3
#define D4_pin 4
#define D5_pin 5
#define D6_pin 6
#define D7_pin 7
LiquidCrystal_I2C lcd(I2C_ADDR,En_pin,Rw_pin,Rs_pin,D4_pin,D5_pin,D6_pin,D7_pin);
void pause()
{
for(;
{
digitalWrite(13,LOW);
lcd.clear();
lcd.print(" INTERRUPTED ");
if(digitalRead(8)==HIGH);
{
detachInterrupt(0);
break;
}
}
}
void setup()
{
Serial.begin(9600); // opens serial port, sets data rate to 9600 bps
pinMode(13, OUTPUT); // LED
pinMode(2,INPUT); // Interrupt pin
pinMode(8,INPUT); // Interrupt function "pause" breaking Input pin
attachInterrupt(digitalPinToInterrupt(2), pause,RISING);
// 20X4 LCD I2C
lcd.begin (20,4);
lcd.setBacklightPin(BACKLIGHT_PIN,POSITIVE);
lcd.setBacklight(HIGH);
}
void loop()
{
// built in LED pin 13 ON
digitalWrite(13,HIGH);
lcd.clear();
lcd.print(" LED is ON ");
delay(800);
lcd.clear();
delay(250);
}