loc4atnt gửi vào
- 20122 lượt xem
Đâ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.