I want my LED to have three states with push button
- on
- blinking
- off
But the second state didn't blink, it is only off-->on. Here's the code:
#define btn 7
#define led 8
int button;
int a;
void setup() {
Serial.begin(9600);
pinMode(led,OUTPUT);
pinMode(btn,INPUT);
// put your setup code here, to run once:
}
void loop() {
Serial.print("a==");
Serial.println(a);
button = digitalRead(btn);
if(button ==1){
delay(100);
a++;
if(a ==1){
delay(100);
digitalWrite(led,HIGH);
}
if(a == 2){
digitalWrite(led,LOW);
delay(500);
digitalWrite(led,HIGH);
delay(500);
}
if(a ==3){
digitalWrite(led,LOW);
delay(100);
a = 0;
}
}
}
I tried using while statement but i couldn't understand how it works😓😓
for (int i = 0; i<20; i++) {digitalWrite(led, !digitalRead(led); delay(100); }, you will see the code is working as what you expected.