Untitled

 avatar
unknown
plain_text
2 years ago
1.6 kB
4
Indexable
// C++ code
//
const int Button = 5;
const int LED1 = 9;
const int LED2 = 10;
const int LED3 = 11;
const int LED4_5_6 = 7;
unsigned long lastMillis = 0;

void setup()
{
  pinMode(Button,INPUT); 
  pinMode(LED4_5_6,OUTPUT); 
  pinMode(LED1,OUTPUT); 
  pinMode(LED2,OUTPUT); 
  pinMode(LED3,OUTPUT); 
  // mặc định tt ban đầu của nút là đang thả
  digitalWrite(Button,LOW);
  // Cho các led 1,2,3 sáng khi công tắc được thả
  digitalWrite(LED1,HIGH);
  digitalWrite(LED2,HIGH);
  digitalWrite(LED3,HIGH);
  Serial.begin(9600);
}

void loop()
{
  // Kiểm tra trạng thái nút bấm
  int buttonState = digitalRead(Button);
  if (buttonState == HIGH)
  {
    digitalWrite(LED4_5_6,HIGH);
    if((millis() - lastMillis) > 6000) // giữ nút nhấn >6s
    {  
      digitalWrite(LED1,HIGH);
      digitalWrite(LED2,HIGH);
      digitalWrite(LED3,HIGH);  
    }
    else 
    {
      digitalWrite(LED1,HIGH);
      digitalWrite(LED2,HIGH);
      digitalWrite(LED3,HIGH);
      // mỗi 1 giây trong chu kì 3s, các đèn sẽ sáng lần lượt
      int time = (millis() - lastMillis) / 1000 % 3; 
      if(time==0)
        digitalWrite(LED1,HIGH);
      else if(time==1)
        digitalWrite(LED2,HIGH);
      else if(time==2)
        digitalWrite(LED3,HIGH);
      else
        return;
      }
  }
  else
  {
    digitalWrite(LED4_5_6,LOW);
    
    digitalWrite(LED1,HIGH);
    digitalWrite(LED2,HIGH);
    digitalWrite(LED3,HIGH);
    
    lastMillis = millis();
  }
  
}
Editor is loading...