Làm quen với phần mềm Arduino IDE

Arduino IDE là gì? Đây là một phần mềm hỗ trợ lập trình bằng ngôn ngữ Arduino. Sau khi cài đặt thành công phần mềm này, chúng ta sẽ cùng nhau tìm hiểu cách sử dụng phần mềm Arduino IDE và cấu trúc một file code của Arduino.

Cơ bản về phần mềm Arduino IDE

Arduino IDE là gì

Giao diện phần mềm Arduino IDE

Về cơ bản, phần mềm Arduino IDE có giao diện khá đơn giản và quen thuộc. Bạn có thể tham khảo hình trên. Giao diện này nhìn rất giống với các phần mềm text editor phổ biến như Notepad. Ngoài thanh menu thì giao diện phần mềm Arduino IDE còn có thêm một số công cụ và khu vực hiển thị giúp bạn làm việc và quản lý code dễ dàng.

Giải thích về các nút trên giao diện

  • Nút trông giống như dấu check là “Verify”.  Bạn có thể dùng nút này để biên dịch thử code xem coi có bị lỗi gì không. Sau khi biên dịch, thông tin về kết quả biên dịch được hiển thị ở panel bên dưới. Đồng thời, nó cũng cho bạn biết kích thước của đoạn code chiếm bao nhiêu bộ nhớ của board mạch mà bạn đang làm việc. Bạn có thể nhấn đồng thời 2 nút Control + R thay vì click vào “Verify”.
  • Nút bên cạnh nút Verify, có hình mũi tên trỏ sang bên phải là nút để Upload code. Sau khi viết code xong, bạn có thể dùng nút này để biên dịch và nạp code vào board Arduino mà bạn đã chọn. Bạn cũng có thể dùng shortcut thay thế là Control + U.
  • Nút có hình kính lúp ở góc trên bên phải là nút để mở cửa sổ Serial monitor. Bạn sẽ dùng chức năng Serial monitor để gửi và nhận thông tin qua lại giữa PC và board Arduino trong lúc board đang chạy. Nó sẽ giúp bạn dễ dàng debug đoạn code. Chúng ta sẽ tìm hiểu sâu hơn chức năng này ở các bài sau. Shortcut cho nút này là Shift + Control + M.

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

Mỗi một chương trình trong Arduino được gọi là 1 sketch. Phần mềm Arduino IDE có kèm theo rất nhiều sketch mẫu giúp bạn dễ dàng làm quen với các khái niệm cơ bản.

Ở đây, mình sẽ hướng dẫn bạn cách sử dụng. Trước tiên, bạn hãy mở 1 sketch example đầu tiên là Blink bằng menu File > Examples > 01.Basics > Blink.

/*
  Blink

  Turns an LED on for one second, then off for one second, repeatedly.

  Most Arduinos have an on-board LED you can control. On the UNO, MEGA and ZERO
  it is attached to digital pin 13, on MKR1000 on pin 6. LED_BUILTIN is set to
  the correct LED pin independent of which board is used.
  If you want to know what pin the on-board LED is connected to on your Arduino
  model, check the Technical Specs of your board at:
  https://www.arduino.cc/en/Main/Products

  modified 8 May 2014
  by Scott Fitzgerald
  modified 2 Sep 2016
  by Arturo Guadalupi
  modified 8 Sep 2016
  by Colby Newman

  This example code is in the public domain.

  http://www.arduino.cc/en/Tutorial/Blink
*/

// the setup function runs once when you press reset or power the board
void setup() {
  // initialize digital pin LED_BUILTIN as an output.
  pinMode(LED_BUILTIN, OUTPUT);
}

// the loop function runs over and over again forever
void loop() {
  digitalWrite(LED_BUILTIN, HIGH); // turn the LED on (HIGH is the voltage level)
  delay(1000); // wait for a second
  digitalWrite(LED_BUILTIN, LOW); // turn the LED off by making the voltage LOW
  delay(1000); // wait for a second
}

Comment

Trong đoạn code example Blink trong phần mềm Arduino IDE, bạn có thể thấy 23 dòng đầu tiên được hiển thị mờ hơn so với các dòng khác. Tất cả các đoạn text nằm giữa 2 dấu /* */ được gọi là chú thích cho code (comment). Đây gọi là multi-line comment. Ở các dòng như 25 hay dòng 27 cũng là các đoạn text comment nhưng bắt đầu bằng dấu // và không có dấu kết thúc bao lại như multi-line comment, được gọi là one line comment.

Comment được sử dụng để giúp cho code trở nên dễ đọc hơn. Trong các đoạn code ngắn như Blink thì comment có thể không cần thiết lắm nhưng sẽ rất hữu dụng trong các chương trình lớn với rất nhiều dòng code. Ngoài ra bạn cũng có thể dùng comment để tắt tạm thời 1 vài đoạn code trong quá trình viết code mà không cần xóa đi. Khi biên dịch và upload vào board, Arduino sẽ bỏ qua các đoạn code này.

>>> Tham khảo Arduino comments

Hàm setup()

Đoạn code tiếp theo là hàm setup ‘void setup(){‘. Các dòng code trong hàm setup sẽ được chạy một lần duy nhất mỗi khi board Arduino được cấp nguồn và chạy, dùng cho các tác vụ khởi tạo và setup các tài nguyên cần thiết trước khi chương trình chính được chạy. “void” là một loại dữ liệu, với ý nghĩa là hàm setup này không trả về thông tin gì sau khi chạy.

Sau tên hàm là 2 dấu ngoặc ( ), có thể dùng để khai báo các dữ liệu đầu vào cho hàm này. Vì hàm setup không cần dữ liệu đầu vào nên ta để trống giữa 2 dấu ngoặc ( ) này. Bạn sẽ được tìm hiểu thêm vấn đề này qua các ví dụ ở các bài học sau.

Code của một hàm sẽ luôn được đặt trong 2 dấu ngoặc nhọn { }. Khi code, bạn cần để ý đóng ngoặc cho đúng để tránh các lỗi khi biên dịch. Phần mềm Arduino IDE sẽ giúp bạn bằng cách highlight các dấu ngoặc này khi con trỏ bạn đang được đặt ở dấu ngoặc còn lại.

Tham khảo void trong Arduino

Tham khảo Arduino setup

Tham khảo Arduino curly braces

Dòng code thực sự đầu tiên là ‘pinMode(LED_BUILTIN, OUTPUT);‘ ở dòng 28. pinMode là câu lệnh của Arduino dùng để thiết lập chế độ hoạt động của một chân IO của vi điều khiển (gọi là IO pin). LED_BUILTIN là một giá trị đã được khai báo trước trong Arduino và sẽ khác nhau tùy theo loại board Arduino mà bạn đang chọn. Tham số thứ 2 khi gọi hàm này là chế độ hoạt động mà ta muốn thiết lập, OUTPUT là chế độ cho phép chúng ta bật hay tắt pin để điều khiển các module gắn vào pin này. Ngược lại với OUTPUT là INPUT trong trường hợp ta cần đọc trạng thái từ module bên ngoài gắn với pin này.

Arduino reference: pinMode

Arduino tutorials: Digital Pins

Trong phần mềm Arduino IDE và cũng như ngôn ngữ lập trình C, các câu lệnh được kết thúc bằng dấu chấm phẩy ; như bạn thấy trong đoạn code mẫu Blink ở trên. Một trong những lỗi thường gặp khi các bạn mới viết code cho Arduino là thiếu dấu chấm phẩy ; cuối mỗi lệnh và bạn sẽ thấy các thông báo như thế này: Blink:16: error: expected ‘,’ or ‘;’ before… Khi đó bạn cần kiểm tra xem có thiếu dấu ; ở cuối câu hay không.

Arduino reference: ; semicolon

Hàm loop()

loop() là chương trình chính của Arduino. Đoạn code trong loop() sẽ được Arduino chạy vô hạn. Trong chương trình này, có hàm digitalWrite() để đặt các chân (pin) ở mức điện áp cao (HIGH) hay thấp (LOW). Hàm tiếp theo là delay(), nhận đối số là một số nguyên, thể hiện số mili giây ta muốn chương trình tạm ngưng. 1000 millisecond tương đương với 1 giây.

Arduino reference: loop

Arduino reference: digitalWrite

Arduino reference: delay

Sau khi câu lệnh dòng 36 chạy xong thì Arduino sẽ chạy lặp lại từ đầu hàm main(), tức là quay lại câu lệnh dòng 33 và cứ như vậy cho đến khi bị tắt nguồn.

Tổng kết,

Trên đây là những thông tin cơ bản nhất về phần mềm Arduino IDE. Khi đọc đến đây, bạn đã có được những hiểu biết cơ bản về phần mềm này. Hãy tiếp tục chuyển sang học các phần nâng cao hơn trong khóa học này nhé!

Chúc các bạn thành công!

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

Fill out this field
Fill out this field
Vui lòng nhập địa chỉ email hợp lệ.
You need to agree with the terms to proceed

Menu