Lập trình Arduino không cần viết code - Phần 14: Timer - Millis()

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

Xin chào các bạn, hôm nay chúng ta sẽ cùng tìm hiểu về timer và cách sử dụng nó trong mBlock cũng như trong Arduino. Xơi luôn

Timer là gì

Về cơ bản nó chính là bộ đếm thời gian trong vi điều khiển Arduino. Nó sẽ bắt đầu đếm khi chương trình bắt đầu chạy và chỉ dừng lại khi ta dừng chạy chương trình. Bạn có thể tìm hiểu hơn về timer qua từ khóa đó trên mục tìm kiếm. Vậy ứng dụng của nó là gì? Đa số nó được ứng dụng để chạy các hàm, lệnh song song nhau. Phần sau mình sẽ chỉ 1 ví dụ. Nhưng ngay bây giờ bạn hãy nghĩ về việc blink 2 led theo 2 khoảng thời gian nháy khác nhau cùng nhau sẽ như thế nào để chuẩn bị cho phần sau.

Thực hành

Chuẩn bị

1 con arduino và chỉ thế thoi.

Lập trình với mBlock

Trước tiên mở khối Serial ra.

Tạo một biến đếm giây để in ra serial, vì nếu dùng timer trực tiếp nóp sẽ đếm liên tục, trong khi mình chỉ cần đếm theo giây.

Lập trình theo sơ đồ sau.

Sửa code một tí, không cần sửa cũng được nhưng thời gian úp hơi lâu nên sửa đi nha.

Sửa lại như hình

Ok, úp code

Lập trình với Arduino IDE

Trong arduino, để kiểm tra xem thời gian hiện tại là bao nhiêu ta dùng hàm millis().

Code đây

int seconds;
int currentTime = 0;
int getLastTime(){
    	return currentTime = millis()/1000.0;
}
void setup(){
    Serial.begin(9600);
}

void loop(){
    if(seconds==getLastTime())
    {
        Serial.println(seconds);
        seconds += 1;
    }
}

Thành quả đây

Kết luận

Như vậy là ta vừa tìm hiểu xong cách sử dụng timer trong arduino. Ở phần sau mình sẽ đưa ra 1 ví dụ về timer. Cảm ơn đã quan tâm theo dõi, Chúc các bạn thành công.

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

Chạy hàm song song với delay

Xin chào các bạn! Trong cuộc sống, đôi khi chúng ta đang làm một việc gì đó và sẽ có lúc chúng ta phải đợi một khoảng thời gian rồi mới làm tiếp công việc ấy, và khi ấy ta sẽ tận dụng khoảng thời gian ấy để làm một việc khác. Vậy trong arduino ta có thể làm tương tự không, trong khi ta cho chương trình delay thì ta lại cho nó thực hiện một việc gì đó. Đáp án là được, bài viết này sẽ chia sẻ thủ thuật khá hay này.

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

Tổng quan về cách sử dụng Module 4 LED 7 đoạn - Phần 1

Xin chào mọi người! Sau khi tìm hiểu led 4 đoạn, mình thấy rằng nó rất đa dạng, có khá nhiều loại với sơ đồ pinout khác nhau. Nên mình sẽ viết chuỗi bài "Tổng quan về cách sử dụng Module 4 LED 7 đoạn" để giúp cho những ai đang nghiên cứ led 7 đoạn sẽ dễ dàng hơn trong việc tìm hiểu chúng. Ở phần 1 này mình sẽ đưa ra nền tảng cơ bản về led 7 đoạn và cách tra pinout.

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