Toggle blinking rate of LED at pin 13 using interrupt on pin 2
volatile int blinkingRate = 5000; int
i=0; int ledPin = 13; void setup() {
// put your setup code here, to run once:
pinMode(ledPin,OUTPUT); // pinMode(2, INPUT);
attachInterrupt(digitalPinToInterrupt(2),changeBlinkingRate,RISING);
Serial.begin(9600);
}
void loop() {
// Serial.println("Hello"); digitalWrite(ledPin,HIGH);
delay(blinkingRate); digitalWrite(ledPin,LOW);
delay(blinkingRate);
}
void changeBlinkingRate(){
Serial.println(blinkingRate); if(blinkingRate
== 5000){ blinkingRate = 100;
}
else{
blinkingRate = 5000;
}
Serial.println("---------------");
}
Toggle LED using interrupts at pin 2 and pin 3
volatile int output = LOW; int
i=0; int ledPin = 13; void
setup() {
pinMode(ledPin,OUTPUT);
attachInterrupt(digitalPinToInterrupt(2),buttonPressed1,RISING);
attachInterrupt(digitalPinToInterrupt(3),buttonPressed2,RISING);
Serial.begin(9600);
}
void loop() {
// put your main code here, to run repeatedly:
noInterrupts(); delay(10000);
++i;
digitalWrite(13,output); interrupts();
}
void buttonPressed1(){ output =
LOW;
Serial.println("Interrupt 1");
}
void buttonPressed2(){ output =
HIGH;
Serial.println("Interrupt 2");
}
Increment/ Decrement variable depending of interrupt from pin 2 then 3 or pin 3 then
2
volatile int blinkingRate = 5000;
volatile int output = LOW; int
I1=0,I2=0; int count = 0; int ledPin =
13; void setup() {
pinMode(ledPin,OUTPUT);
attachInterrupt(digitalPinToInterrupt(2),buttonPressed1,RISING);
attachInterrupt(digitalPinToInterrupt(3),buttonPressed2,RISING);
Serial.begin(9600);
}
void loop() {
// put your main code here, to run repeatedly:
digitalWrite(13,output); delay(10000);
}
void buttonPressed1(){
if(I1 < I2)
{
Serial.println("I2 -> I1"); count--;
Serial.println(count);
I2 = 0;
}
I1 = 1;
}
void buttonPressed2(){
if(I2 < I1)
{
Serial.println("I1 -> I2"); count++;
Serial.println(count);
I1 = 0;
}
I2 = 1;
}