Tin tổng hợp

Giao tiếp UART giữa 2 Arduino

Trong bài viết này, Điện Tử Tương Lai sẽ san sẻ về giao tiếp UART là gì và nó hoạt động giải trí như thế nào. Chúng tôi cũng sẽ viết một sketch đơn thuần để hướng dẫn cách sử dụng giao diện Arduino Uno UART .

UART là gì

UART là viết tắt của Universal Asynchronous Receiver / Transmitter. Nó là một thiết bị phần cứng (hoặc mạch) được sử dụng để giao tiếp nối tiếp giữa hai thiết bị.

Bạn đang đọc: Giao tiếp UART giữa 2 Arduino

Các thiết bị UART được kết nối như thế nào

Kết nối hai thiết bị UART với nhau rất đơn thuần và thuận tiện. Hình dưới một sơ đồ liên kết UART cơ bản .

Một chân dùng để truyền dữ liệu ( gọi là chân TX ) và chân kia dùng để nhận tài liệu ( gọi là chân RX ). Chúng ta chỉ hoàn toàn có thể liên kết hai thiết bị UART với nhau .

UART hoạt động như thế nào

UART hoạt động giải trí bằng cách quy đổi tài liệu thành những gói để gửi hoặc thiết kế xây dựng lại tài liệu từ những gói nhận được .

Gởi dữ liệu Serial

Trước khi thiết bị UART hoàn toàn có thể gửi tài liệu, thiết bị truyền quy đổi byte tài liệu thành bit. Sau khi quy đổi tài liệu thành những bit, thiết bị UART sẽ chia chúng thành những gói để truyền. Mỗi gói chứa một bit khởi đầu, một khung tài liệu, bit chẵn lẻ và những bit dừng. Hình dưới là một gói tài liệu mẫu .

Sau khi sẵn sàng chuẩn bị gói tin, mạch UART sẽ gửi nó ra ngoài qua chân TX .

Nhận dữ liệu Serial

Thiết bị UART nhận sẽ kiểm tra gói nhận được ( trải qua chân RX ) để tìm lỗi bằng cách tính số 1 và so sánh với giá trị của bit chẵn lẻ có trong gói. Nếu không có lỗi trong quy trình truyền, nó sẽ triển khai tách bit khởi đầu, bit dừng, bit chẵn lẻ để lấy khung tài liệu. Nó hoàn toàn có thể cần nhận 1 số ít gói trước khi hoàn toàn có thể kiến thiết xây dựng lại hàng loạt byte tài liệu từ những khung tài liệu. Sau khi kiến thiết xây dựng lại byte, nó được tàng trữ trong bộ đệm UART .

Thiết bị UART nhận sử dụng bit chẵn lẻ để xác lập xem có bị mất tài liệu trong quy trình truyền hay không. Mất dữ liệu trong quy trình truyền xảy ra khi một bit biến hóa trạng thái của nó trong khi truyền. Các bit hoàn toàn có thể biến hóa do khoảng cách truyền, bức xạ từ và vận tốc truyền không khớp, cùng những thứ khác .

Xem thêm  'up-to-the-minute' là gì?, Từ điển Anh - Việt

Thông số UART

UART có những setup cần giống nhau trên cả hai thiết bị để có giao tiếp tương thích. Các setup này gồm vận tốc truyền, độ dài tài liệu, bit chẵn lẻ, số bit dừng và trấn áp luồng .

Tốc độ truyền
Tốc độ truyền là số bit mỗi giây ( bps ) mà thiết bị UART hoàn toàn có thể truyền hoặc nhận. Chúng ta cần đặt cả hai thiết bị UART có cùng vận tốc truyền để truyền tài liệu thích hợp. Các giá trị thông dụng cho vận tốc truyền là 9600, 1200, 2400, 4800, 19200, 38400, 57600 và 115200 bps .

Chiều dài tài liệu
Độ dài tài liệu là số lượng bit trên mỗi byte tài liệu .

Bit chẵn lẻ
Bit chẵn lẻ là một bit được thêm vào tài liệu được truyền và cho người phân biệt số 1 trong tài liệu được truyền là lẻ hay chẵn. Cài đặt hoàn toàn có thể có cho Bit chẵn lẻ là Lẻ hoặc Chẵn .

ODD – bit chẵn lẻ là ‘ 1 ’ nếu có một số lẻ là 1 trong khung tài liệu
EVEN – bit chẵn lẻ là ‘ 0 ‘ nếu có số chẵn là 1 trong khung tài liệu

Các bit dừng
Các thiết bị UART hoàn toàn có thể sử dụng không, một hoặc hai bit dừng để lưu lại điểm kết thúc của một tập hợp những bit ( được gọi là gói tin ) được truyền đi .

Kiểm soát luồng
Kiểm soát luồng là giải pháp tránh rủi ro đáng tiếc mất tài liệu khi truyền tài liệu qua UART. Thiết bị UART sử dụng những ký tự đặc biệt quan trọng làm trấn áp luồng để khởi đầu hoặc dừng truyền .

Giao diện UART Arduino

Arduino có một hoặc nhiều chân UART tùy thuộc vào bo mạch. Trong bài này, tất cả chúng ta sẽ sử dụng Arduino Uno chỉ có một giao diện UART trên chân 0 ( RX0 ) và chân 1 ( TX0 ). Các chân 0 và 1 của Arduino cũng được sử dụng để giao tiếp với Arduino IDE qua USB. Vì vậy, nếu bạn tải những sketch lên UNO, thứ nhất hãy ngắt liên kết bất kể dây nào trên những chân 0 và 1. Hình dưới là vị trí của những chân UART TX và RX .

Mức logic UART

Các mức logic UART hoàn toàn có thể khác nhau giữa những nhà phân phối. Ví dụ : Arduino Uno có mức logic 5 – V nhưng cổng RS232 của máy tính có mức logic + / – 12 – V. Kết nối trực tiếp Arduino Uno với cổng RS232 sẽ làm hỏng Arduino. Nếu cả hai thiết bị UART không có cùng mức logic, thì cần có mạch quy đổi mức logic tương thích để liên kết những thiết bị .

Xem thêm  Số thứ tự trong tiếng Anh và những lưu ý

Project UART đơn giản

Sau khi tìm hiểu và khám phá cách hoạt động giải trí của UART, giờ đây tất cả chúng ta hãy kiến thiết xây dựng một sketch đơn thuần trình diễn cách sử dụng giao tiếp UART bằng Arduino Uno .

Project của tất cả chúng ta là về điều khiển và tinh chỉnh đèn LED tích hợp của Arduino từ xa trải qua UART. Một nút nhấn có dây với bo Uno tiên phong sẽ tinh chỉnh và điều khiển đèn LED tích hợp của bo Uno thứ hai và ngược lại .

Những thứ bạn cần
Để thiết kế xây dựng project, tất cả chúng ta cần những thành phần sau :

Arduino Uno ( 2 cái )
Nút nhấn ( 2 cái )
Breadboard
Dây jumper

SƠ ĐỒ KẾT NỐI

Hình dưới là cách liên kết những thành phần được sử dụng trong project của tất cả chúng ta .

 

Arduino Sketch

Sau khi tích lũy và lắp ráp phần cứng, giờ đây tất cả chúng ta đã chuẩn bị sẵn sàng để lập trình bo. Đối với project này, cả hai bo sẽ có sketch giống hệt nhau. Đầu tiên, tất cả chúng ta đặt chính sách chân 8 ( nút nhấn ) thành INPUT_PULLUP, đặt chính sách chân 13 ( LED ) thành OUTPUT và đặt trạng thái khởi đầu của chân 13 thành LOW ( tắt LED ) .

 

Serial Oject

Arduino giúp tất cả chúng ta thuận tiện sử dụng phần cứng UART tích hợp sẵn bằng cách sử dụng serial object. Serial Object có những công dụng thiết yếu để sử dụng thuận tiện giao diện Arduino UART .

SERIAL.BEGIN ()

Để giao tiếp qua giao diện UART, thứ nhất tất cả chúng ta cần định thông số kỹ thuật nó. Cách dễ nhất để định thông số kỹ thuật UART của Arduino là sử dụng hàm Serial. begin ( speed ). Tham số vận tốc là vận tốc truyền mà tất cả chúng ta muốn UART chạy. Sử dụng công dụng này sẽ đặt những tham số UART còn lại thành giá trị mặc định ( Độ dài tài liệu = 8, bit chẵn lẻ = 1, Số bit dừng = Không ) .

Nếu thiết lập mặc định không tương thích với bạn, hãy sử dụng hàm Serial. begin ( vận tốc, thông số kỹ thuật ) thay vì Serial. begin ( vận tốc ). Cấu hình tham số bổ trợ được sử dụng để đổi khác setup cho độ dài tài liệu, bit chẵn lẻ, số những bit dừng. Bạn hoàn toàn có thể tìm những giá trị được xác lập cho thông số kỹ thuật tham số tại đây .

Xem thêm  Sơ đồ tổ chức công ty| Cách vẽ cơ cấu DN đơn giản kèm mẫu

Đoạn mã dưới đây thêm Serial. begin ( 9600 ) ; bên trong setup ( ) để khởi tạo Arduino Uno UART với vận tốc truyền 9600 bps và những thông số kỹ thuật khác được đặt thành giá trị mặc định .

 

Phần tiếp theo của mã là đọc và lưu một giá trị nhận được từ serial. Để thực thi việc này, tất cả chúng ta sẽ sử dụng hàm Serial. available ( ) cùng với câu lệnh If để kiểm tra xem có tài liệu nhận được hay không. Sau đó tất cả chúng ta sẽ gọi Serial. read ( ) để lấy một byte tài liệu đã nhận và lưu giá trị vào biến data_rcvd. Giá trị data_rcvd tinh chỉnh và điều khiển Bật hoặc Tắt của đèn LED tích hợp .

SERIAL.AVAILABLE ()

Để kiểm tra xem có tài liệu đang chờ đọc trong bộ đệm UART ( hoặc serial ) hay không, tất cả chúng ta sẽ sử dụng hàm Serial. available ( ). Serial. available ( ) trả về số byte đang chờ trong bộ đệm .

SERIAL.READ ()

Để đọc tài liệu đang chờ trong bộ đệm tiếp nối đuôi nhau, tất cả chúng ta sẽ sử dụng hàm Serial. read ( ), hàm này trả về một byte tài liệu được đọc từ bộ đệm .

 

SERIAL.WRITE ()

Để gửi tài liệu qua những chân TX0 của Arduino, tất cả chúng ta sẽ sử dụng hàm Serial. write ( val ). Tham số val là byte ( hoặc chuỗi byte ) sẽ được gửi .

Trong sketch, tất cả chúng ta sẽ gửi một giá trị char tùy thuộc vào trạng thái của chân 8. Chúng ta sẽ gửi giá trị char ‘ 1 ‘ nếu chân 8 là HIGH hoặc giá trị char ‘ 0 ‘ nếu chân 8 là LOW .

 

TẢI SKETCH LÊN VÀ KIỂM TRA

Lưu sketch dưới dạng arduino_uart_tutorial. ino. Bước còn lại là tải sketch lên cả hai bo mạch Arduino Uno. Hãy nhớ ngắt liên kết dây liên kết với chân TX0 và RX0 trước khi tải sketch lên. Sau khi tải lên thành công xuất sắc, hãy liên kết lại dây trên chân TX0 và RX0 .

Sau khi tải lên, tất cả chúng ta hoàn toàn có thể tinh chỉnh và điều khiển LED tích hợp của một trong 2 bo bằng cách nhấn nút nhấn được liên kết với bo khác. Sketch của tất cả chúng ta sẽ kiểm tra trạng thái của nút và gửi giá trị ký tự tương ứng là ‘ 0 ‘ hoặc ‘ 1 ‘ cho bo kia để điều khiển và tinh chỉnh đèn LED tích hợp .

Xem thêm bài viết thuộc chuyên mục: Tin tổng hợp

Related Articles

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 *

Back to top button