const int buttonPin = 2; // Pin where the button is connected
const int led1 = 12; // First LED pin
const int led2 = 7;
const int motor = 5; // Second LED pin
volatile int buttonstats;
void setup()
{
pinMode(buttonPin, INPUT_PULLUP); // Set the button pin as input with pull-up resistor
pinMode(led1, OUTPUT);
pinMode(led2, OUTPUT);
pinMode(motor, OUTPUT); // Set the second LED pin as output
attachInterrupt(digitalPinToInterrupt(2), MyInterrupt, CHANGE);
// Attach interrupt to the button pin, call buttonInterrupt on FALLING edge
}
void loop()
{
digitalWrite(led1, HIGH);
delay(200);
digitalWrite(led1, LOW);
delay(200);
}
void MyInterrupt()
{
int buttonstatus = digitalRead(buttonPin);
if (buttonstatus == LOW)
{
analogWrite(motor, 250);
digitalWrite(led2, HIGH);
}
if (buttonstatus == HIGH)
{
analogWrite(motor, 0);
digitalWrite(led2, LOW);
}
}