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 màn hình OLED 0.96 inch I2C

Xin chào mọi người! Hôm nay chúng ta sẽ cùng review cái màn hình oled 0.96in giao tiếp i2c này nha. Nhưng trước hết, ta hãy xem thử Oled là gì nha.

lên
13 thành viên đã đánh giá bài viết này hữu ích.
Từ khóa: 

[Khám phá thế giới IoT với bSmart] Bài 0 - Giới thiệu, giải thích, thư viện, hỗ trợ,....

   Xin chào các bạn, xu hướng vạn vật kết nối (Internet of Thing) đang đến gõ cửa từng nhà và chứng tỏ sức ảnh hưởng. Việc đón đầu xu hướng IoT là một điều tất yếu dành cho các nhà phát triển như chúng ta khi thế giới đang tiến nhanh trong cuộc cách mạng 4.0. Để đồng hành và giúp đỡ mọi người làm quen, bước đi trên con đường tiến vào thế giới IoT ấy, mình xin được giới thiệu đến các bạn chuỗi bài viết "Khám phá thế giới IoT cùng bSmart". Hi vọng qua chuỗi bài viết này, mình sẽ giúp đỡ được nhiều bạn trẻ hơn có cùng đam mê công nghệ có thể bước đầu nắm vững và tự sáng tạo cho riêng mình một dự án IoT thật độc đáo.

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