Arduino RS232

Trong hướng dẫn này, chúng ta sẽ học cách sử dụng giao tiếp RS232 với Arduino. Cụ thể, chúng ta sẽ tìm hiểu:

Hướng dẫn này cũng cung cấp chỉ dẫn cho cả Hardware SerialSoftwareSerial.

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×TTL to RS232 Module
1×dây jumper
1×(Tùy chọn) USB to RS232 Cable
1×(Tùy chọn) USB to RS232 Converter
1×(Tùy chọn) RS232 Gender Changer
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)

Về mô-đun TTL sang RS-232

Khi bạn sử dụng giao tiếp nối tiếp bằng các hàm Serial.print(), Serial.read(), Serial.write() ... trên Arduino, Arduino sẽ xuất dữ liệu ra chân TX hoặc nhận dữ liệu từ chân RX. Các tín hiệu trên các chân TX và RX có mức TTL. Tín hiệu này không thể truyền đi xa. Do đó, khi bạn muốn sử dụng giao tiếp nối tiếp ở khoảng cách xa, bạn cần chuyển đổi tín hiệu TTL thành tín hiệu RS232, RS485 hoặc RS422.

Mô-đun TTL sang RS-232 chuyển đổi tín hiệu TTL sang tín hiệu RS-232 và ngược lại.

Sơ đồ chân

Mô-đun RS232 sang TTL có hai giao diện:

  • Giao diện TTL (kết nối với Arduino) bao gồm 4 chân
    • Chân VCC: chân nguồn, cần được kết nối với VCC (5V/3.3V)
    • Chân GND: chân nguồn, cần được kết nối với GND (0V)
    • Chân RXD: chân dữ liệu, cần được kết nối với một chân RX của Arduino
    • Chân TXD: chân dữ liệu, cần được kết nối với một chân TX của Arduino
  • Giao diện RS232: cổng DB9 nữ D-Sub, kết nối với thiết bị nối tiếp
sơ đồ chân rs232

Sơ đồ đấu dây

  • Sơ đồ đấu nối nếu sử dụng giao tiếp nối tiếp phần cứng
sơ đồ đấu dây Arduino ttl sang rs232

This image is created using Fritzing. Click to enlarge image

  • Sơ đồ nối dây nếu sử dụng SoftwareSerial
sơ đồ nối rs232 sang ttl cho Arduino

This image is created using Fritzing. Click to enlarge image

Cách lập trình Arduino để sử dụng mô-đun RS232

  • Khởi tạo giao diện nối tiếp:
Serial.begin(9600);
  • Nếu bạn sử dụng SoftwareSerial, bạn cần bao gồm thư viện và khai báo một đối tượng SoftwareSerial:
#include <SoftwareSerial.h> // Define the SoftwareSerial objects and their pins SoftwareSerial SoftSerial(7, 6); // RX: 7, TX: 6

Mã Arduino cho Serial phần cứng

/* * 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-rs232 */ void setup() { // start communication with baud rate 9600 Serial.begin(9600); // wait a moment to allow serial ports to initialize delay(100); } void loop() { // Check if there's data available on Serial if (Serial.available()) { char data = Serial.read(); // read the received character Serial.print(data); // echo back to data to the sender } }

Mã Arduino cho Giao tiếp nối tiếp bằng phần mềm

/* * 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-rs232 */ #include <SoftwareSerial.h> // define the SoftwareSerial object and their pins SoftwareSerial SoftSerial(7, 6); // RX: 7, TX: 6 void setup() { // start communication with baud rate 9600 SoftSerial.begin(9600); // wait a moment to allow serial ports to initialize delay(100); } void loop() { // Check if there's data available on SoftSerial if (SoftSerial.available()) { char data = SoftSerial.read(); // read the received character SoftSerial.print(data); // echo back to data to the sender } }

Kiểm tra

Bạn có thể thực hiện một bài kiểm tra bằng cách gửi dữ liệu từ máy tính của bạn đến Arduino thông qua RS-232 và ngược lại. Để làm điều này, hãy làm theo các bước dưới đây:

  • Kết nối Arduino với PC của bạn qua cáp RS232-to-USB như dưới đây:
giao tiếp rs232 giữa Arduino và pc
  • Cài đặt một chương trình Terminal nối tiếp như Tera Term hoặc PuTTY
  • Mở chương trình Terminal nối tiếp và cấu hình các tham số Serial (cổng COM, tốc độ baud, ...)
  • Gõ dữ liệu qua Terminal Serial để gửi đến Arduino.
  • Nếu thành công, bạn sẽ thấy dữ liệu phản hồi trên Terminal Serial.

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.