Arduino UNO R4 RS485

Trong hướng dẫn này, chúng ta sẽ học cách sử dụng giao tiếp RS485 với Arduino UNO R4. Chúng ta sẽ tìm hiểu chi tiết các chủ đề sau:

Hướng dẫn bao gồm chỉ dẫn cho cả Hardware SerialSoftwareSerial.

Arduino UNO R4 rs-485

Linh Kiện Cần Thiết

1×Arduino UNO R4 WiFi hoặc Arduino UNO R4 Minima
1×(Tùy chọn) DIYables STEM V4 IoT, tương thích với Arduino Uno R4 WiFi
1×Arduino UNO R4 Minima (Thay thế)
1×Cáp USB Type-C
1×Module TTL to RS485
1×Dây Jumper
1×(Tùy chọn) Bộ Chuyển Đổi USB to RS485
1×(Tùy chọn) Cáp USB to RS485
1×(Khuyến nghị) Screw Terminal Block Shield for Arduino UNO R4
1×(Khuyến nghị) Breadboard Shield for Arduino UNO R4
1×(Khuyến nghị) Enclosure for Arduino UNO R4
1×(Khuyến nghị) Power Splitter for Arduino UNO R4
1×(Khuyến nghị) Prototyping Base Plate & Breadboard Kit for Arduino UNO

Or you can buy the following kits:

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

Về Module TTL to RS485

Khi sử dụng giao tiếp serial trên Arduino UNO R4 với Serial.print(), Serial.read(), và Serial.write(), Arduino UNO R4 gửi dữ liệu qua chân TX và nhận dữ liệu qua RX. Các chân này hoạt động ở mức TTL, vì vậy tín hiệu có phạm vi giới hạn. Do đó, để giao tiếp serial qua khoảng cách xa hơn, bạn cần chuyển đổi tín hiệu TTL sang tín hiệu RS232, RS485, hoặc RS422.

Trong hướng dẫn này, chúng ta sẽ khám phá cách sử dụng RS485 với Arduino UNO R4 bằng cách sử dụng module TTL to RS485. Module này giúp chuyển đổi tín hiệu TTL thành tín hiệu RS485 và ngược lại.

Sơ Đồ Chân

Module RS485 to TTL có hai loại kết nối:

  • Giao diện TTL, kết nối với Arduino UNO R4, có 4 chân:
    • Chân VCC: đây là chân nguồn và nên được kết nối với VCC (5V hoặc 3.3V).
    • Chân GND: chân nguồn khác phải được kết nối với GND (0V).
    • Chân RXD: chân dữ liệu kết nối với chân TX trên Arduino UNO R4.
    • Chân TXD: chân dữ liệu kết nối với chân RX trên Arduino UNO R4.
  • Giao diện RS485 bao gồm các chân sau:
    • Chân D+ (A hoặc TR+): dùng cho giao tiếp dữ liệu.
    • Chân D- (B hoặc TR-): cũng dùng cho truyền dữ liệu.
    • Chân GND: mặc dù tùy chọn, việc kết nối chân này được khuyến nghị để giảm nhiễu.
    rs-485 module sơ đồ chân
    image source: diyables.io

Sơ Đồ Đấu Nối

  • Sơ đồ đấu nối để sử dụng hardware serial với RS485.
Arduino UNO R4 ttl to rs485 sơ đồ đấu dây

This image is created using Fritzing. Click to enlarge image

  • Sơ đồ đấu nối để sử dụng giao tiếp RS485 dựa trên software
Arduino UNO R4 rs-485 to ttl sơ đồ đấu dây

This image is created using Fritzing. Click to enlarge image

Cách Lập Trình Arduino UNO R4 để sử dụng module RS485

  • Khởi động kết nối Serial:
Serial.begin(9600);
  • Nếu bạn sử dụng SoftwareSerial, bạn phải thêm thư viện và tạo đối tượng SoftwareSerial:
#include <SoftwareSerial.h> SoftwareSerial rs485(6, 7); // RX on pin 6, TX on pin 7

Code Arduino UNO R4 cho Hardware Serial

/* * Mã Arduino UNO R4 này được phát triển bởi newbiely.vn * Mã Arduino UNO R4 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-uno-r4/arduino-uno-r4-rs485 */ 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 } }

Code Arduino UNO R4 cho Software Serial

/* * Mã Arduino UNO R4 này được phát triển bởi newbiely.vn * Mã Arduino UNO R4 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-uno-r4/arduino-uno-r4-rs485 */ #include <SoftwareSerial.h> SoftwareSerial rs485(6, 7); // RX: 6, TX: 7 void setup() { // start communication with baud rate 9600 rs485.begin(9600); // wait a moment to allow serial ports to initialize delay(100); } void loop() { // Check if there's data available on rs485 if (rs485.available()) { char data = rs485.read(); // read the received character rs485.print(data); // echo back to data to the sender } }

Kiểm Tra

Làm theo hướng dẫn từng bước sau:

  • Nếu đây là lần đầu tiên bạn sử dụng Arduino Uno R4 WiFi/Minima, hãy tham khảo hướng dẫn về Arduino UNO R4 - Cài Đặt Phần Mềm.
  • Kết nối Arduino Uno R4 với module TTL-to-RS485 theo sơ đồ được cung cấp.
  • Kết nối Arduino Uno R4 với máy tính của bạn bằng cáp USB.
  • Khởi động Arduino IDE trên máy tính của bạn.
  • Chọn board Arduino Uno R4 phù hợp (ví dụ: Arduino Uno R4 WiFi) và cổng COM.
  • Sao chép code được cung cấp và dán vào Arduino IDE.
  • Nhấn nút Upload trong Arduino IDE để chuyển code lên Arduino UNO R4.

Bạn có thể thực hiện kiểm tra để gửi dữ liệu giữa PC và Arduino UNO R4 bằng RS-485. Đây là cách thực hiện:

  • Kết nối Arduino UNO R4 của bạn với máy tính bằng cáp RS485-to-USB như sau:
Arduino UNO R4 rs485 to pc communication
  • Tải xuống và cài đặt chương trình Serial Terminal, chẳng hạn như Tera Term hoặc PuTTY.
  • Mở chương trình Serial Terminal và thiết lập các thông số Serial (cổng COM, baud rate, v.v.).
  • Nhập dữ liệu trong Serial Terminal để gửi đến Arduino UNO R4.
  • Nếu hoạt động, bạn sẽ thấy dữ liệu echo trong Serial Terminal.

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.

Bài hướng dẫn liên quan