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

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