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

ST7565 và ESP8266 - Màn hình LCD bự chà bá chưa đến 100k cho thế giới IoT

Mình rất thích LCD ST7565 này, và đã đặt liền 4 con mà mỗi con quá rẻ có 20k. Nhưng khổ một điều, điện áp hoạt động và IO của LCD ST7565 có 3.3V. Bản thân mình lại không thích việc chơi điện trở để chơi LCD này với Arduino. Lý do đơn giản là phải hàn quá nhiều, mình lại lười crying. Hổm nay, mình đang làm loạt bài về ESP8266 và cũng phải gặp vấn đề điện trở để làm cầu phân áp khi giao tiếp giữa ESP8266 và Arduino.

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

Thư viện ST7565 trên Arduino Create - Thử nghiệm đầu tiên: Hoàn hảo!

Mình rất tự hào và hãnh diện, khi thư viện made in Việt Nam đầu tiên của Thái Sơn (Nick Chung) được mình tải lên tại Arduino Create với mục đích thử nghiệm việc biên dịch code online trên Arduino Create đã hoàn thành công việc của nó ngay trong lần thử đầu tiên. Qua bài viết này, mình xin hướng dẫn các bạn lập trình Arduino với Arduino Create thông qua việc làm một ví dụ mẫu về việc cài thư viện và sử dụng nó trên Arduino Create.

lên
7 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ả

Lập trình Arduino không cần viết code - Phần 8: Đo khoảng cách với vật cản bằng cảm biến siêu âm

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

Ở phần trước mình đã hướng dẫn các bạn cách làm việc với cảm biến đưa ra tín hiệu là digital và analog (Cụ thể ở phần đó là cảm biến mưa). Và ở phần này là 1 con cảm biến thuộc một loại khác. Cảm biến này có tên là cảm biến siêu âm.

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

[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.