Lập trình Arduino không cần viết code - Phần 15: Ứng dụng Timer lập trình 2 led blink song song

Đây là phần 15 của chuỗi bài viết "Lập trình Arduino không cần viết code"

- Xem lại phần 14 tại đây

Ở phần trước, mình đã hướng dẫn các bạn sử dụng timer trong Arduino và mBlock. Và hôm nay mình sẽ đưa ra một ví dụ ứng dụng timer. Ví dụ đó chính là làm cho 2 led blink song song nhau theo 2 chu kì thời gian khác nhau, đây cũng chính là ứng dụng chính của timer.

Cách làm

Mỗi một led ta sẽ tạo ra một biến gán với mốc thời gian đã đếm trước đó. Nếu như khoảng cách giữa thời gian hiện tại và mốc thời gian đã đếm trước đó lớn hơn hoặc bằng khoảng thời gian blink của led thì ta cho đổi trạng thái của led và gán mốc thời gian hiện tại cho biến. Tương tự cho các led khác, ta có thể blink rất nhiều led cùng lúc. Ở đây mình blink 2 led mẫu thôi.

Thực hành

Chuẩn bị

  • Arduino.
  • 2 Led kèm 2 con điện trở 220 ôm để bảo vệ chúng.

Lắp mạch, sorry quen mắc điện trở.

Ok

Lập trình với mBlock

Đầu tiên tạo 2 biến gán thời gian trước cho 2 led.

Lập trình theo khối sâu, ở đây mình cho led 1 blink với khoảng thời gian là 0.5 giây và led 2 là 1.2 giây.

Úp code thôi, may quá lần này không chỉnh sửa code gì hết :D.

Lập trình với Arduino IDE

Code đây

#define led1 = 7;
#define led2 = 8;
unsigned long time1 = 0;
unsigned long time2 = 0;

void setup()
{
    pinMode(led1, OUTPUT);
    pinMode(led2, OUTPUT);
}

void loop()
{
    if ( (unsigned long) (millis() - time1) > 500 )
    {
        if ( digitalRead(led1) == LOW )
        {
            digitalWrite(led1, HIGH);
        } else {
            digitalWrite(led1, LOW );
        }
        time1 = millis();
    }
    
    if ( (unsigned long) (millis() - time2) > 1200  )
    {
        if ( digitalRead(led2) == LOW )
        {
            digitalWrite(led2, HIGH);
        } else {
            digitalWrite(led2, LOW );
        }
        time2 = millis();
    }
}

Kết luận

Như vậy là ta vừa tìm hiểu xong 1 ví dụ về việc sử dụng Timer. Vậy là ta đã trải qua 15 phần rồi nhỉ, và đã đến lúc cho các bạn thấy được sự thú vị và hay ho của phần mềm lập trình kéo thả mBlock rồi, theo mình thì đó chính là sự hấp dẫn nhất của mBlock. Ráng chờ cho tới phần sau để cùng thưởng thức nha. Cảm ơn đã theo dõi.

lên
9 thành viên đã đánh giá bài viết này hữu ích.
Các dự án được truyền cảm hứng

Select any filter and click on Apply to see results

Các bài viết cùng tác giả

Giới thiệu về Shield Annikken Andee Universal

Xin chào! Ở bài viết này, mình xin giới thiệu với các bạn một shield cho arduino. Đó là shield Annikken Andee Universal. Đây là shield blutooth giúp arduino giao tiếp với các thiết bị sử dụng hệ điều hành IOS và Android.

lên
10 thành viên đã đánh giá bài viết này hữu ích.

Lập trình Arduino không cần viết code - Phần 2: Fade led

Đây là phần 2 của chuỗi bài viết "Lập trình Arduino không cần code" - Chuỗi bài giúp các bạn newbie tiếp cận với arduino theo một hướng mới và thú vị.

Xem lại phần 1 tại đây.

Ở phần 1, mình đã giới thiệu với các bạn phần mềm miniBloq - một môi trường lập trình arduino mới mẻ và thú vị. Đồng thởi mình cũng đã viết 1 ví dụ. Hôm nay sẽ là ví dụ thứ 2. Chúng ta sẽ điều khiển độ sáng của 1 bóng đèn led bằng 1 biến trở. Ok

lên
26 thành viên đã đánh giá bài viết này hữu ích.