Lập trình Arduino không cần viết code - Phần 16: Lập trình Arduino thời gian thực - Lập trình sự kiện

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

Xin chào các bạn, hôm nay mình sẽ cho các bạn thấy được sự thú vị nhất của phần mềm lập trình kéo thả mBlock. Đó chính là lập trình thời gian thực. Từ việc lập trình thời gian thực này ta có thể tạo ra được các game hay điều khiển Arduino bằng ứng dụng đồ họa, bởi đơn giản mBlock cũng hỗ trợ tạo ra game hay đồ họa. HeHe, bạn cũng có thể nói rằng nó là sự kết hợp 2 trong 1 của Processing và Arduino. Tất nhiên là ta chỉ làm được khi bạn kết nối Arduino với mBlock.

Lập trình thời gian thực là gì

Ở đây mình không nói về lí thuyết chính xác mà mình chỉ nói về những điều mình hiểu thôi. Lập trình thời gian thực còn được gọi là lập trình sự kiện. Đây là một thuật ngữ khá mới mẻ do nhà sản xuất phần mềm mBlock đặt ra. Theo mình hiểu thì nó có nghĩa là khi 1 sự kiện gì đó xảy ra thì những đối tượng lệnh gán với sự kiện ấy sẽ được chạy, đặc biệt ta không cần phải úp code lên board arduino mà chỉ cần úp cho nó cái firmware của mBlock. Hay nói cách khác là nó sẽ chạy theo sự kiện chứ không chạy theo lập trình sẵn. Hehe, có 1 điểm thú vị nữa là: Giả sử bạn blink 1 led và máy bạn hơi lag thì chắc chắn việc blink led ấy cũng sẽ bị lag theo, thấy nó thực cỡ nào chưa :D.

Thực hành

Chuẩn bị

Vì là phần giới thiệu nên mình sẽ ví dụ về blink led 13.

Chỉ cần 1 con Arduino kết nối với mBlock là ok.

Lập trình

Ở những phần nói về lập trình thời gian thực sẽ không có mục Lập trình với Arduino IDE đâu nha, đừng hỏi tại sao nhé cưng :3.

Việc đầu tiên cần làm là phải up cho board Arduino cái firmware của mBlock. Đầu tiên vào thư mục cài đặt mBlock.

Sau đó chọn mục Arduino trong thư mục mBlock, tiếp theo chọn biểu tượng Arduino IDE.

Sau khi mở Arduino lên, ta mở file firmware theo hình

Úp firmware lên Arduino.

Úp xong thì tắt Arduino IDE đi. Mở mBlock lên, chọn chế độ Small stage layout để làm việc cho dễ. Nhớ kết nối với Arduino đấy nha.

Lập trình theo sơ đồ sau, chú ý là khi lập trình thời gian thực, đối tượng đầu tiên không còn là Arduino program nữa mà là các đối tượng sự kiện trong tab Events. Trong tab ấy có khá nhiều đối tượng sự kiện để cho bạn lựa chọn. Bạn có thể kéo nhiều sự kiện vào khung lập trình để lập trình, kéo nhiều sự kiện giống nhau cũng được, hehe nhờ vào điểm này mà bạn có thể lập trình cho các tiến trình chạy song song nhau (Bất đồng bộ) mà không cần phải dùng timer. Ở đây mình chọn sự kiện nhấn vào cờ xanh.

Nhấn cờ và tận hưởng thôi.

Kết luận

Như vậy là ta vừa tìm hiểu xong điều hấp dẫn nhất của mBlock, đó là lập trình thời gian thực hay còn gọi là lập trình sự kiện. Đây là một cách lập trình khá thú vị mà chúng ta cần tìm hiểu thêm. Chúc các bạn thành công. Thấy bài hay thì cho mình xin cái Rate Note nha :)).

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ả

[Khám phá thế giới IoT với bSmart] Bài 3 - Sử dụng GPS với SIM7600

    Xin chào các bạn, tiếp tục seri bài viết “Khám phá thế giới IoT với bSmart”.  Định vị GPS cũng là một nhu cầu không thể thiếu trong thế giới IoT nhằm giúp theo dõi các loại xe di chuyển trên đường, hay theo dõi vị trí của các trang thiết bị quan trọng, giá trị trong quá trình vận chuyển,… Chính vì vậy, hôm nay, mình sẽ giúp các bạn tiếp tục khai thác sức mạnh của kit bSmart với định vị GPS được tích hợp sẵn cùng với module SIM7600.

lên
6 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 2: Fade led

Đây là phần 2 của chuỗi bài viết "Lập trình Arduino không cần code" - Chuỗi bài giúp các bạn newbie tiếp cận với arduino theo một hướng mới và thú vị.

Xem lại phần 1 tại đây.

Ở phần 1, mình đã giới thiệu với các bạn phần mềm miniBloq - một môi trường lập trình arduino mới mẻ và thú vị. Đồng thởi mình cũng đã viết 1 ví dụ. Hôm nay sẽ là ví dụ thứ 2. Chúng ta sẽ điều khiển độ sáng của 1 bóng đèn led bằng 1 biến trở. Ok

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