#define LED1 23
#define LED2 21
#define LED3 19
#define BUTTON 22
int bStatus = 0;
unsigned long bt = 0;
void setup() {
Serial.begin(9600);
pinMode(LED1, OUTPUT);
pinMode(LED2, OUTPUT);
pinMode(LED3, OUTPUT);
pinMode(BUTTON, INPUT_PULLUP); // sd nội trở tránh floating state
bt = millis(); // tương tự halgetick
}
void loop() {
while(digitalRead(BUTTON) == 0) // an nut
{
if(millis() - bt > 100) // khu nhieu, chong rung
{
bStatus = bStatus + 1;
}
bt = millis();
}
if(bStatus % 3 == 0)
{
digitalWrite(LED1,LOW);
delay(200);
digitalWrite(LED2,LOW);
delay(200);
digitalWrite(LED3,LOW);
delay(200);
}
else if(bStatus % 3 == 1)
{
digitalWrite(LED1,1);
delay(200);
digitalWrite(LED2,1);
delay(200);
digitalWrite(LED3,1);
delay(200);
}
else if(bStatus % 3 == 2)
{
digitalWrite(LED1,1);
digitalWrite(LED2,0);
digitalWrite(LED3,0);
delay(200);
digitalWrite(LED1,0);
digitalWrite(LED2,1);
digitalWrite(LED3,0);
delay(200);
digitalWrite(LED1,0);
digitalWrite(LED2,0);
digitalWrite(LED3,1);
delay(200);
}
}