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
10 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ả

Điều Khiển Motor Brushless Bằng Arduino - Sử dụng module ESC

Xin chào các bạn bạn! Lâu nay chúng ta đã quen với loại động cơ thông thường gồm 2 dây được điều khiển bằng các module điều khiển động cơ. Nhưng  nhược điểm là công suất không được cao. Khi muốn làm các dự án cần motor công suất cao như dây phơi đồ tự thu khi trời mưa, băng tải chạy thời gian thực,..thì ta sẽ cần một loại motor khác có công suất cao hơn. Giải pháp đó chính là motor brushless hay còn gọi là motor không chổi than.

lên
24 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 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
19 thành viên đã đánh giá bài viết này hữu ích.