Cấu trúc của một chương trình Arduino? Các bước lập trình

Cấu trúc của một chương trình Arduino? Các bước lập trình một chương trình Arduino ra sao? Có dễ dàng thực hiện hay không? Để giải đáp thắc mắc hãy cùng theo dõi bài viết sau đây.

1. Cấu trúc của một chương trình Arduino

Cấu trúc ban đầu của một chương trình trong Arduino IDE khá đơn giản, chỉ bao gồm 2 hàm là setup() và loop().

Khi chương trình bắt đầu chạy thì những lệnh trong setup() sẽ được xử lý đầu tiên, hàm này thường được sử dụng để khởi tạo trạng thái và giá trị của các biến hay thông số trong chương trình.

Sau khi chạy xong setup() sẽ đến những lệnh trong loop(). Giai đoạn này như một vòng lặp vô tận, các dòng code trong hàm này sẽ được lặp đi lặp lại liên tục cho tới khi bạn ngắt nguồn của board Arduino hoặc can thiệp bằng nút Reset trên bảng mạch. Lúc này chương trình sẽ trở lại trạng thái như khi Arduino mới được cấp nguồn, chạy lại từ hàm setup().

Bạn có thể hình dung quá trình này như sau:

Cấu trúc của một chương trình Arduino

2. Ví dụ về cấu trúc chương trình Arduino

Để các bạn dễ hiểu hơn, thì chúng ta sẽ thử lập trình Arduino qua ví dụ làm đèn LED tự động bật tắt sau một khoảng thời gian :

const int ledPin = 13; // Led được nối đến chân D13

// Hàm setup() này chỉ được chạy 1 lần từ lúc mạch Arduino khởi động lên

void setup()

{

pinMode(ledPin, OUTPUT); // Cấu hình chân D13 kiểu OUTPUT

}

// hàm loop() này sẽ được chạy lặp lại, khi đến lệnh cuối cùng trong loop() thì sẽ thực thi lại lệnh đầu trong loop()

void loop()

{

digitalWrite(ledPin, HIGH); // turn the LED on

delay(1000); // wait a second

digitalWrite(ledPin, LOW); // turn the LED off

delay(1000); // wait a second

}

3. Các bước lập trình và chạy chương trình Arduino

Ở đây, chúng ta sẽ lấy luôn ví dụ về làm đèn LED bật tắt tự động. Các bước thực hiện sẽ cần theo thứ tự như sau

Phần cứng

Phần cứng

Cần chuẩn bị:

  • 1 mạch Arduino Uno R3 bao gồm dây nối USB với máy tính ( Không thật sự bắt buộc phải là Arduino này, bạn có thể thay thế bằng bất kỳ dòng Arduino khác cũng được, nhưng phải xem lại sơ đồ chân của nó )
  • 01 đèn LED màu bất kỳ ( trên thị trường có bản 3mm hoặc 5mm, bản nào cũng được, 5mm thì sáng hơn )
  • 01 điện trở 220 Ohm
  • Dây đấu nối

Sơ đồ lắp đặt

Sơ đồ lắp đặt

Dựa vào hình ảnh trên, chúng ta có thể đấu chân âm của đèn LED với chân GND của mạch (còn có thể gọi là nối đất), còn chân dương LED nối với chân pin 13 thông qua một điện trở.

Chú ý:

  • Phân biệt hai chân âm và dương của LED, giống như hình thì chân dương bị cong còn chân âm sẽ thẳng. Hoặc khi bạn mới mua về hai chân đều thẳng thì chân nào dài hơn là chân dương.
  • Bạn cũng có thể sử dụng bất kỳ chân nào từ 0 đến 13, không nhất định phải sử dụng chân 13. Chúng không có gì khác biệt, chỉ khác khi lập trình.

Sau khi đấu nối xong, bạn sử dụng dây USB để kết nối Arduino với máy tính để tiến hành nạp code.

Lập trình

Trước khi tiến hành nạp code bạn cần kiểm tra xem IDE đã kết nối tới mạch hay chưa. Bạn chỉ cần vào Tool > Port và xem cổng COM có đúng Arduino hay không?

Sau khi kiểm tra đúng cổng, bạn cần báo với IDE loại board Arduino nào mà bạn đang dùng theo các bước: Tool>Port và chọn “ Arduino/Genuino Uno”.

Tiếp theo chúng ta tiến hành lập trình:

Lập trình

Ở đây, đoạn code này được chia thành 3 phần nhỏ: Khai báo biến, Thiết lập (void setup()), Vòng lặp.

Khai báo biến

Đây là phần khai báo biến trong Arduino IDE, tên các biến, định nghĩa các chân trên board hay định nghĩa các biến constant.

#define constantName value

  • constantName: tên hàng số được define.
  • Value: giá trị của hàng số được define.
  • Define ở đây có nghĩa là định nghĩa, hàm #define có tác dung định nghĩa hay còn gọi là gán. Tức là gán một chân, một ngõ ra nào đó với 1 cái tên.

Ví dụ: #define led 13

Chú ý: sau #define thì không có dấu “,”.

Thiết lập (void setup ())

Phần này dùng để thiết lập một chương trình Arduino IDE. Ví dụ: định nghĩa input, output,…

Cấu trúc hàm setup:

void setup()

{

……

}

Trong chương trình trên thì pinMode(led,OUTPUT) có nghĩa là chân led = 13, sẽ được cấu hình là chân OUTPUT.

Hàm setup() sẽ được gọi ngay khi bắt đầu chương trình, sử dụng nó để khởi tạo các biến, pin mode, bắt đầu sử dụng thư viện,…

Hàm setup() sẽ chỉ chạy một lần, sau mỗi lần khởi động hoặc reset Arduino.

Vòng lặp (void loop())

Cấu trúc hàm loop:

void loop()

{

……………….

}

Hàm loop giống như tên của nó, chúng được chạy và lặp lại liên tục. Hàm loop() chứa những chức năng chính mà ta lập trình trên arduino, cho phép xử lý và phản hồi. Sử dụng hàm loop () để điều khiển Arduino của bạn.

Trong chương trình trên, hàm này chứa đựng:

  • digitalWrite(led, HIGH);: tức là xuất mức logic high ra chân led = 13.
  • delay(1000);: là dừng chương trình 1s.
  • digitalWrite(led, LOW);: để mức xuất điện áp thấp ra chân led = 13.
  • Chương trình sẽ nhập nháy đèn led 1s sáng và 1s tối.

Nạp code

Nạp code

Trước khi nạp code cho mạch bạn cần phải biên dịch mã trước khi nạp. Arduino là một mạch nhỏ chỉ có thể đọc mã máy, nhưng mã được viết trong IDE lại là ngôn ngữ C. Do đó, để Arduino hiểu được các lệnh C, chúng ta phải chuyển chúng thành mã máy, quá trình này được gọi là biên dịch. Để biên dịch mã, hãy nhấp vào nút “Verify”.

Khi IDE đã hoàn tất việc biên dịch, bạn sẽ thấy một kết quả ở cửa sổ đầu ra ở cuối IDE. Cửa sổ đầu ra rất hữu ích để xem các thông tin trả về thành công, lỗi, cảnh báo và việc sử dụng bộ nhớ.

Bước cuối cùng là nạp code, để thực hiện bạn hãy nhấp vào nút “ Upload”. Đèn LED trên bo mạch của Arduino bây giờ sẽ nhấp nháy khi bạn nạp code.

>>> Xem thêm: Arduino IDE là gì? Hướng dẫn sử dụng Arduino IDE

Trả lời

Email của bạn sẽ không được hiển thị công khai.

plc schneider sử dụng cookie để cung cấp cho bạn trải nghiệm duyệt web tốt hơn. Bằng cách duyệt trang web này, bạn đồng ý với việc sử dụng cookie của chúng tôi.