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

Bộ điều khiển PID - ứng dụng phần 2 - xe dò line dùng thuật toán PID

Tiép nối bài viết về xe dò line cảm ơn Đỗ Hữu Toàn đã viết hộ mình phần 4. hôm nay mình sẽ làm cho chiếc xe dò line đi mượt và có hồn hơn 

lên
34 thành viên đã đánh giá bài viết này hữu ích.
Các bài viết cùng tác giả

Giới thiệu về Femtoduino – Arduino nhỏ nhất hiện nay

Xin chào các bạn! Hôm nay mình xin giới thiệu với các bạn một board Arduino nhỏ nhất hiện nay, nó có tên là Femtoduino. Đây là sản phẩm của công ty Femtoduino, chứ không phải là của công ty Arduino. Nó có kích thước nhỏ hơn cả đồng xu.

lên
16 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 17: Nháy nhiều led song song nhau không dùng timer

Đây là phần 17 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 16 tại đây

Xin chào mọi người! Ở phần 15 mình đã hướng dẫn mội người làm nháy các led song song với nhau dùng timer. Và hôm nay chúng ta sẽ cùng nhau làm nháy nhiều led song song nhau theo các chu kì nháy khác nhau không dùng timer, mà ta sẽ dùng phương thức lập trình sự kiện (Lập trình thời gian thực).

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