đọc hiểu đoạn code arduino cơ bản

Bài 1 – Đọc hiểu đoạn mã lập trình đầu tiên của bạn – Chuỗi bài Series Arduino Cơ Bản

Ở bài viết lần trước, chúng mình đã cùng nhau cài đặt phần mềm Arduino cơ bản và chạy chương trình “hello Arduino” đầu tiên. Chắc hẳn các bạn cũng rất tò mò vì sao mấy dòng chữ lí nhí tiếng Anh, lại có thể làm nháy đèn LED trên Arduino của bạn. Cách học lập trình tốt nhất chính là đọc hiểu đoạn mã lập trình trước khi mình viết nó. Chẳng phải chúng mình đã từng học đọc trước khi học viết từ thuở còn bé sao?

Học lập trình cũng tương tự như thế. Chính vì thế, qua bài viết này chúng mình sẽ cùng nhau đọc hiểu đoạn mã lập trình mà chúng ta đã dùng ở bài trước. Bắt đầu thôi!

Trước khi bắt đầu:

Một trong những kỹ năng cần phải có khi học lập trình và sau này hành nghề (bất cứ ngành nghề nào) đó chính là tiếng Anh. Việc giao tiếp tiếng Anh trong cuộc sống cũng như trong công việc là điều cơ bản mà chúng ta phải đạt được trong cuộc sống ngày nay. Phần mềm Elsa Speak(*) là một phần mềm giúp bạn luyện phát âm Tiếng Anh chuẩn với lộ trình rõ ràng phù hợp với từng nhu cầu khác nhau. Hãy luyện tập tiếng Anh thật sớm và thật tốt để có một cuộc sống tốt hơn sau này!

Đọc hiểu đoạn mã lập trình Arduino cơ bản

Đoạn mã lập trình mà chúng ta đã sử dụng ở bài trước:

đoạn code lập trình arduino cơ bản đầu tiên

Như các bạn thấy trên hình, mình xin tạm chia đoạn code arduino cơ bản của chúng ta thành 3 vùng với số hiệu của từng vùng ở bên góc phải.

Các bạn hãy nhìn vào vùng thứ nhất, hãy để ý chúng có chữ tất cả là màu xám. Phần mềm Arduino IDE giúp bạn phân loại các thành phần của đoạn mã lập trình bằng cách phân loại chúng theo màu sắc khác nhau. Chữ có màu xám chính là các “comment”. “Comment” là những ghi chú mà chúng ta (những lập trình viên tương lai) viết lại để tự giúp chúng ta hoặc người kế thừa hiểu những gì đang xảy ra với đoạn mã lập trình.

Ghi chú:

“Comment” bắt đầu bằng // hoặc được kẹp giữa /* và */

Vùng code arduino thứ hai, chính là vùng chức năng “function” – setup(). “Function” setup() chỉ chạy một lần đầu tiên vào lúc arduino khởi động. Dù bạn có sắp xếp các “function” khác trước setup(), thì arduino sẽ luôn tìm đến setup() trước và thực thi nó.

Như trong đoạn code arduino chúng ta đang tìm hiểu, bên trong “function” setup(), chỉ có một “function” pinMode. “Function” pinMode sử dụng 2 tham số: tham số đầu tiên chính là ký hiệu của đầu cắm pin trên arduino mà chúng ta sẽ sử dụng (LED_BUILTIN hoặc 13 chính là đầu cắm số 13 trên mạch arduino); tham số còn lại là OUTPUT, dùng để chỉ dẫn rằng chúng ta muốn arduino xuất dòng điện ra đầu cắm số 13, chứ chúng ta không muốn arduino đọc giá trị trên đầu cắm này.

Ghi chú:

“Function” là một tập hợp các đoạn code arduino và được đặt tên nào đó.

Vùng code arduino thứ ba là “function” loop(). Sau khi arduino thực hiện “function” setup(), thì sẽ tìm tới “function” loop() này và thực hiện nó không ngừng, lặp đi lặp lại.

“Function” digitalWrite() bên trong “function” loop() sử dụng 2 tham số: ký hiệu của đầu cắm pin trên arduino và tham số còn lại quyết định mình muốn mở hay ngắt dòng điện (HIGH là mở, LOW là ngắt dòng điện).

“Function” delay() là “function” nhằm giúp Arduino chậm lại một chút để chúng ta có thể kịp nhìn thấy đèn mở hoặc tắt. Trong đoạn code arduino chúng ta, thì delay(1000) giúp arduino dừng lại 1000 ms = 1s.

Tổng kết

Sau đây mình tổng hợp lại đoạn code arduino cơ bản mở tắt đèn LED hoạt động thế nào:

1. “Function” setup() sử dụng “function” pinMode để chọn vị trí LED kết nối và sẽ là một đầu ra (output)
2. “Function” loop() sẽ mở cho dòng điện chạy qua LED.
3. Arduino được dừng lại 1s
4. Ngắt dòng điện chạy qua LED.
5. Ardui lại được dừng lại 1s.
6. Tiếp tục lặp lại “function” loop() ở bước 2.

Thử thách dành riêng cho bạn

Các bạn hãy thử chỉnh sửa lại đoạn code arduino cơ bản trên sao cho bóng đèn LED sáng 1s nhưng khi nó tắt thì sẽ duy trì trạng thái tắt trong 0.5s. Các bạn cũng thử tìm hiểu trong đoạn code arduino cơ bản trên, thì dấu chấm phẩy ; và dấu ngoặc { } có ý nghĩa như thế nào nha?

Chúc các bạn thành công! Hãy để lại comment bên dưới để mình tham khảo ý kiến cũng như trao đổi thêm với các bạn nhé!

Ghi chú:

Dấu (*) ghi chú cho affiliate link: nếu bạn đăng ký sử dụng dịch vụ hoặc mua sản phẩm thông qua đường link này, chúng mình sẽ nhận được một khoản hoa hồng nhỏ để tiếp tục duy trì hoạt động của blog. Chi phí dịch vụ hoặc sản phẩm sẽ không tăng thêm cho bạn.
0 0 đánh giá
Article Rating
Theo dõi
Thông báo của
guest
0 Comments
Phản hồi nội tuyến
Xem tất cả bình luận