const int ledPin1 = 16; // chân led
const int ledPin2 = 17;
int ledState1 = LOW; // biến trạng thái Led
int ledState2 = LOW;
unsigned long previousMillis = 0; // Giá trị lần cuối cùng được cập nhật
const long interval1 = 1000; // giá trị delay (milliseconds)
const long interval2 = 1000;
void setup() {
pinMode(ledPin1, OUTPUT); // set led là ouput
pinMode(ledPin2, OUTPUT);
}
void loop() {
// Khởi tạo một biến lưu giá trị hiện tại của Timer
unsigned long currentMillis = millis();
/* Lấy giá trị hiện tại trừ đi giá trị trước đó và so sánh với khoảng thời gian
delay */
if (currentMillis - previousMillis >= interval1) {
// nếu giá trị đó bằng hoặc vượt qua
// lưu giá trị hiện tại thành giá trị lần cuối cập nhật
previousMillis = currentMillis;
// đảo giá trị led States
if (ledState1 == LOW) {
ledState1 = HIGH;
} else {
ledState1 = LOW;
}
if (currentMillis - previousMillis >= interval2) {
// nếu giá trị đó bằng hoặc vượt qua
// lưu giá trị hiện tại thành giá trị lần cuối cập nhật
previousMillis = currentMillis;
// đảo giá trị led States
if (ledState2 == LOW) {
ledState2 = HIGH;
} else {
ledState2 = LOW;
}
// ghi giá trị đó lên Led
digitalWrite(ledPin1, ledState1);
digitalWrite(ledPin2, ledState2);
}
}