Arduino Trình theo dõi nối tiếp

Phần cứng cần chuẩn bị

1×Arduino Uno R3
1×USB 2.0 cable type A/B (for USB-A PC)
1×USB 2.0 cable type C/B (for USB-C PC)
1×(Khuyến nghị) Screw Terminal Block Shield for Arduino Uno
1×(Khuyến nghị) Breadboard Shield for Arduino Uno
1×(Khuyến nghị) Enclosure for Arduino Uno
1×(Khuyến nghị) Prototyping Base Plate & Breadboard Kit for Arduino UNO

Or you can buy the following kits:

1×DIYables STEM V3 Starter Kit (Arduino included)
1×DIYables Sensor Kit (30 sensors/displays)
1×DIYables Sensor Kit (18 sensors/displays)

Thông tin về Trình theo dõi nối tiếp

Serial Monitor là một trong những công cụ của Arduino IDE. Nó được dùng cho hai mục đích:

  • Arduino → PC: Nhận dữ liệu từ Arduino và hiển thị dữ liệu trên màn hình. Điều này thường được sử dụng để gỡ lỗi và giám sát.
  • PC → Arduino: Gửi dữ liệu (lệnh) từ PC đến Arduino.

Dữ liệu được trao đổi giữa Serial Monitor và Arduino thông qua cáp USB, cáp này cũng được dùng để nạp mã vào Arduino. Do đó, để sử dụng Serial Monitor, chúng ta nhất định phải kết nối Arduino với máy tính bằng cáp này.

Cách sử dụng Serial Monitor

Mở Trình Giám Sát Nối Tiếp

Nhấp vào biểu tượng Serial Monitor.

Arduino ide - cách mở serial monitor

Các mục trên Serial Monitor

  1. Bảng điều khiển đầu ra: hiển thị dữ liệu nhận được từ Arduino.
COM6
Send
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  
  1. Ô kiểm tra tự động cuộn: tùy chọn để chọn giữa cuộn tự động và không cuộn.
COM6
Send
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

i. Ô kiểm tra Hiển thị dấu thời gian: tùy chọn hiển thị dấu thời gian trước dữ liệu được hiển thị trên Trình giám sát nối tiếp.

COM6
Send
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  
  1. Nút xóa đầu ra: xóa toàn bộ văn bản trên bảng điều khiển đầu ra.
COM6
Send
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

i. Lựa chọn tốc độ baud: chọn tốc độ truyền thông (baud rate) giữa Arduino và PC. Giá trị này phải khớp với giá trị được sử dụng trong mã Arduino (ở hàm Serial.begin()).

COM6
Send
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

※ Lưu ý:

Khi chúng ta chọn tốc độ baud (ngay cả khi giá trị không đổi), Arduino sẽ được khởi động lại. Do đó, đây là một cách để khởi động lại Arduino.

i. Ô văn bản: người dùng có thể nhập các ký tự để gửi tới Arduino

COM6
Send
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  
  1. Lựa chọn kết thúc: chọn các ký tự kết thúc được ghép vào dữ liệu gửi tới Arduino. Lựa chọn bao gồm:
    • Không có kết thúc dòng: bỏ qua, không thêm ký tự
    • Dòng xuống: thêm ký tự xuống dòng (LF, hoặc '\n')
    • Ký tự CR: thêm ký tự CR (CR, hoặc '\r')
    • Cả NL và CR: thêm cả ký tự xuống dòng và CR (CRLF, hoặc '\r\n')
    COM6
    Send
    Autoscroll Show timestamp
    Clear output
    9600 baud  
    Newline  
    1. Nút gửi: khi nút được nhấn, Serial Monitor gửi dữ liệu trong hộp văn bản cùng với các ký tự kết thúc tới Arduino
    COM6
    Send
    Autoscroll Show timestamp
    Clear output
    9600 baud  
    Newline  

Arduino tới PC

Để gửi dữ liệu từ Arduino đến PC, chúng ta cần sử dụng mã Arduino sau:

  • Thiết lập tốc độ baud và khởi động cổng Serial bằng cách sử dụng hàm Serial.begin()
Serial.begin(baudrate);
Serial.println("Hello World!");

Ví dụ Sử Dụng

Trong ví dụ này, chúng ta sẽ gửi “ArduinoGetStarted.com” từ Arduino đến Serial Monitor mỗi giây một lần.

/* * Mã Arduino này được phát triển bởi newbiely.vn * Mã Arduino này được cung cấp để sử dụng công khai, không có ràng buộc. * Để xem hướng dẫn chi tiết và sơ đồ kết nối, vui lòng truy cập: * https://newbiely.vn/tutorials/arduino/arduino-serial-monitor */ void setup() { Serial.begin(9600); } void loop() { Serial.println("ArduinoGetStarted.com"); delay(1000); }

Hướng dẫn từng bước

  • Sao chép mã ở phía trên và mở bằng Arduino IDE
  • Nhấp vào nút Tải lên trên Arduino IDE để tải mã lên Arduino
  • Mở Serial Monitor
  • Chọn tốc độ baud 9600
  • Xem đầu ra trên Serial Monitor
COM6
Send
ArduinoGetStarted.com ArduinoGetStarted.com ArduinoGetStarted.com ArduinoGetStarted.com
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  
  • Thử thay đổi hàm Serial.println() sang hàm Serial.print()

Máy tính sang Arduino

Cách gửi dữ liệu từ PC đến Arduino và đọc nó trên Arduino

Bạn sẽ nhập văn bản trên Serial Monitor và sau đó nhấn nút Gửi.

Arduino đọc dữ liệu và xử lý nó. Để đọc dữ liệu, chúng ta cần sử dụng mã Arduino sau:

  • Thiết lập tốc độ baud và khởi động cổng Serial
Serial.begin(baudrate);
  • Kiểm tra xem dữ liệu có sẵn hay không
if(Serial.available()) { // TODO }
String data = Serial.readStringUntil("\r\n");

Ví dụ về cách sử dụng

Trong ví dụ này, chúng ta sẽ gửi các lệnh từ Serial Monitor đến Arduino để bật/tắt đèn LED tích hợp sẵn. Các lệnh bao gồm:

  • “BẬT”: bật đèn LED
  • “TẮT”: tắt đèn LED
Làm thế nào Arduino có thể nhận được một lệnh đầy đủ? Ví dụ, khi chúng ta gửi lệnh “OFF”, làm thế nào Arduino có thể biết lệnh là “O”, “OF” hoặc “OFF”?

⇒ Khi gửi một lệnh, chúng ta sẽ thêm ký tự xuống dòng ('\n') bằng cách chọn tùy chọn “newline” trên Serial Monitor. Arduino sẽ đọc dữ liệu cho đến khi gặp ký tự xuống dòng. Trong trường hợp này, ký tự xuống dòng được gọi là dấu phân cách.

/* * Mã Arduino này được phát triển bởi newbiely.vn * Mã Arduino này được cung cấp để sử dụng công khai, không có ràng buộc. * Để xem hướng dẫn chi tiết và sơ đồ kết nối, vui lòng truy cập: * https://newbiely.vn/tutorials/arduino/arduino-serial-monitor */ void setup() { Serial.begin(9600); pinMode(LED_BUILTIN, OUTPUT); // set the digital pin as output: } void loop() { if(Serial.available()) // if there is data comming { String command = Serial.readStringUntil('\n'); // read string until meet newline character if(command == "ON") { digitalWrite(LED_BUILTIN, HIGH); // turn on LED Serial.println("LED is turned ON"); // send action to Serial Monitor } else if(command == "OFF") { digitalWrite(LED_BUILTIN, LOW); // turn off LED Serial.println("LED is turned OFF"); // send action to Serial Monitor } } }

Hướng dẫn từng bước

  • Sao chép mã ở trên và mở bằng Arduino IDE
  • Nhấp vào nút Tải lên trên Arduino IDE để tải mã lên cho Arduino
  • Mở Serial Monitor
  • Chọn tốc độ baud 9600 và tùy chọn xuống dòng
  • “ON” hoặc “OFF” và nhấp vào nút Gửi
COM6
Send
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  
  • Xem trạng thái của đèn LED tích hợp trên bo mạch Arduino. Chúng ta sẽ thấy trạng thái của đèn LED là BẬT hoặc TẮT, tương ứng.
  • Chúng ta cũng thấy trạng thái của đèn LED trên Serial Monitor.
COM6
Send
LED is turned ON
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  
  • Hãy thử gõ lệnh “ON” hoặc “OFF” vài lần.

Video Tutorial

Việc sản xuất video tốn rất nhiều thời gian. Nếu video hướng dẫn hữu ích cho việc học của bạn, hãy đăng ký kênh YouTube để ủng hộ. Nếu nhu cầu đủ cao, chúng tôi sẽ cố gắng làm thêm nhiều video.