/**********************************************************************************
Declaer Variable
***********************************************************************************/
#define Delay_T1 (500) // Delay Time 1
#define Sprintln(a) (Serial.println(a))
#define Sprint(a) (Serial.print(a))
const byte ledPin = 13; //Declaer Variable pin = Pni number 13
const byte interruptPin = 2; //Interrupt Pin 2
volatile int state = LOW; //Intitial State == LOW (0)
volatile int prev_state = LOW; //Intitial State == LOW (0)
unsigned long
last_time_1 = 0, //Counter timer 1
Timer_T1 = 5; //Delay Timer number 1
/**********************************************************************************
Function Name: setup Loop
Description: Hardware setup loop control
Parameters: void
Return value: void
***********************************************************************************/
void setup()
{
Serial.begin(115200); //Start serial debuging
pinMode(ledPin, OUTPUT); //Set pon mode
pinMode(interruptPin, INPUT_PULLUP); //Set Interrupt pin
attachInterrupt(digitalPinToInterrupt(interruptPin), blink, FALLING); //Attach Interrupt
}
/**********************************************************************************
Function Name: Main Loop
Description:
Parameters: void
Return value: void
***********************************************************************************/
void loop()
{
digitalWrite(ledPin,state);
Sprint("state : ");
Sprintln(state);
delay(1000);
}
/**********************************************************************************
Function Name: blink
Description:
Parameters: void
Return value: void
***********************************************************************************/
void blink()
{
if((millis()-last_time_1) >= Timer_T1) //Call timer interrupt millis() for check event time 250 mS
{
last_time_1 = millis(); //Update current timer
state ^= 1; //Invest variable stat
}
}
/**********************************************************************************
***********************************************************************************/