Giao tiếp arduino với máy tính

      170

Trong bài viết này, Điện Tử tương lai sẽ share về giao tiếp UART là gì và nó vận động như núm nào. Công ty chúng tôi cũng vẫn viết một sketch đơn giản dễ dàng để chỉ dẫn cách sử dụng giao diện Arduino Uno UART.

Bạn đang xem: Giao tiếp arduino với máy tính

 

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 áp dụng để giao tiếp nối tiếp thân hai thiết bị.

 

Các đồ vật UART được kết nối như vậy nào

Kết nối hai trang bị UART với nhau rất đơn giản dễ dàng và dễ dàng dàng. Hình bên dưới một sơ đồ liên kết UART cơ bản.

*

Một chân dùng để làm truyền dữ liệu (gọi là chân TX) với chân kia dùng để làm nhận tài liệu (gọi là chân RX). Họ chỉ rất có thể kết nối hai sản phẩm UART với nhau.

 

UART vận động như cầm cố nào

UART hoạt động bằng cách chuyển đổi tài liệu thành các gói nhằm gửi hoặc xuất bản lại tài liệu từ những gói nhận được.

 

Gởi dữ liệu Serial

Trước khi lắp thêm UART có thể gửi dữ liệu, lắp thêm truyền biến đổi byte dữ liệu thành bit. Sau khi thay đổi dữ liệu thành những bit, lắp thêm UART sẽ chia chúng thành những gói để truyền. Từng gói cất một bit bắt đầu, một khung dữ liệu, bit chẵn lẻ và những bit dừng. Hình dưới là một trong những gói tài liệu mẫu.

*

Sau khi sẵn sàng 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ẽ đánh giá gói cảm nhận (thông qua chân RX) để tìm lỗi bằng phương pháp tính số 1 và đối chiếu 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ẽ tiến hành bóc tách bit bắt đầu, bit dừng, bit chẵn lẻ để lấy khung dữ liệu. Nó hoàn toàn có thể cần nhận một số gói trước khi rất có thể xây dựng lại tổng thể byte tài liệu từ các khung dữ liệu. Sau khoản thời gian 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ẻ để khẳng định xem gồm bị mất tài liệu trong quy trình truyền xuất xắc không. Mất tài liệu trong quá trình truyền xảy ra khi một bit biến đổi trạng thái của nó trong lúc truyền. Những bit có thể biến đổi do khoảng cách truyền, bức xạ từ và vận tốc truyền ko khớp, cùng mọi thứ khác.

 

Thông số UART

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

 

Tốc độ truyền

Tốc độ truyền là số bit mỗi giây (bps) mà lại thiết bị UART có thể truyền hoặc nhận. Họ cần để cả hai vật dụng UART gồm cùng tốc độ truyền nhằm truyền dữ liệu thích hợp. Những giá trị phổ biến cho tốc độ truyền là 9600, 1200, 2400, 4800, 19200, 38400, 57600 với 115200 bps.

 

Chiều dài dữ liệu

Độ dài tài liệu là con số bit trên mỗi byte dữ liệu.

 

Bit chẵn lẻ

Bit chẵn lẻ là 1 trong những bit đạt thêm vào dữ liệu được truyền và cho người nhận biết số 1 trong các dữ liệu được truyền là lẻ xuất xắc chẵn. Thiết đặt có thể bao gồm cho Bit chẵn lẻ là Lẻ hoặc Chẵn.

 

ODD - bit chẵn lẻ là ‘1’ trường hợp có một vài lẻ là 1 trong trong khung dữ liệu

EVEN - bit chẵn lẻ là "0" nếu bao gồm số chẵn là một trong trong khung dữ liệu

 

Các bit dừng

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

 

Kiểm rà soát luồng

Kiểm kiểm tra luồng là phương pháp tránh rủi ro khủng hoảng mất dữ liệu khi truyền tài liệu qua UART. Máy UART sử dụng những ký tự quan trọng làm kiểm soát luồng để bước đầu hoặc giới hạn truyền.

 

Giao diện UART Arduino

Arduino bao gồm một hoặc các chân UART tùy nằm trong vào bo mạch. Trong bài này, bọn họ sẽ thực hiện Arduino Uno chỉ có một đồ họa UART bên 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ày vậy, nếu bạn tải các sketch lên UNO, trước hết hãy ngắt kết nối ngẫu nhiên dây nào trên các chân 0 với 1. Hình dưới là vị trí của các chân UART TX cùng RX.

Xem thêm: Trắc Nghiệm Công Việc Phù Hợp Với Tính Cách Của Bạn Nhất? Trắc Nghiệm Nghề Nghiệp Uef

*

 


*

Mức lô ghích UART

Các mức ngắn gọn xúc tích UART có thể khác nhau giữa các nhà sản xuất. Ví dụ: Arduino Uno gồm mức xúc tích 5-V cơ mà cổng RS232 của máy tính bao gồm mức xúc tích và ngắn gọn +/- 12-V. Liên kết trực tiếp Arduino Uno với cổng RS232 sẽ có tác dụng hỏng Arduino. Nếu như cả hai thứ UART không có cùng nút logic, thì cần có mạch biến hóa mức logic phù hợp để kết nối các thiết bị.

 

Project UART đơn giản

Sau khi tìm hiểu cách buổi giao lưu của UART, hiện thời chúng ta hãy tạo ra một sketch dễ dàng trình bày bí quyết sử dụng giao tiếp UART bởi Arduino Uno.

 

Project của bọn họ 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 gồm dây cùng với bo Uno trước tiên sẽ điều khiển đèn LED tích thích hợp của bo Uno lắp thêm hai với ngược lại.

 

Những thứ chúng ta cần

Để xây dừng project, họ cần những thành phần sau:

 

Arduino Uno (2 cái)

Nút dấn (2 cái)

Breadboard

Dây jumper

 

SƠ ĐỒ KẾT NỐI

Hình dưới là giải pháp kết nối các thành phần được thực hiện trong project của chúng ta.

 

*

Arduino Sketch

Sau khi tích lũy và thêm ráp phần cứng, hiện thời chúng ta đã chuẩn bị sẵn sàng để thiết kế bo. Đối với project này, cả nhì bo sẽ sở hữu được sketch hệt nhau nhau. Đầu tiên, bọn họ đặt cơ 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 ban sơ của chân 13 thành LOW (tắt LED).

 

*

Serial Oject

Arduino giúp họ dễ dàng áp dụng phần cứng UART tích phù hợp sẵn bằng cách sử dụng serial object. Serial Object có những chức năng quan trọng để sử dụng thuận tiện giao diện Arduino UART.

 

SERIAL.BEGIN ()

Để giao tiếp qua giao diện UART, trước tiên bọn họ cần định cấu hình nó. Cách dễ dàng nhất để định cấu hình UART của Arduino là sử dụng hàm Serial.begin (speed). Tham số tốc độ là tốc độ truyền mà bọn họ muốn UART chạy. Sử dụng công dụng này đã đặt các tham số UART còn lại thành cực hiếm mặc định (Độ dài dữ liệu = 8, bit chẵn lẻ = 1, Số bit ngừng = Không).

 

Nếu thiết đặt mặc định không phù hợp với bạn, hãy áp dụng hàm Serial.begin (tốc độ, cấu hình) thay bởi vì Serial.begin (tốc độ). Thông số kỹ thuật tham số bổ sung được thực hiện để thay đổi cài đặt mang lại độ nhiều năm dữ liệu, bit chẵn lẻ, số những bit dừng. Chúng ta có thể tìm các giá trị được khẳng định cho thông số kỹ thuật tham số trên đây.

 

Đoạn mã sau đây thêm Serial.begin (9600); bên phía trong setup () để có thể tạo Arduino Uno UART với vận tốc truyền 9600 bps cùng các thông số khác được để thành quý hiếm mặc định.

 

*

Phần tiếp theo của mã là đọc cùng lưu một giá chỉ trị nhận được từ serial. Để tiến hành việc này, chúng ta sẽ áp dụng hàm Serial.available () cùng rất câu lệnh If để đánh giá xem có tài liệu nhận được hay không. Sau đó chúng ta sẽ hotline Serial. Read () để đưa một byte dữ liệu đã nhận được và lưu giá trị vào biến chuyển data_rcvd. Quý hiếm data_rcvd tinh chỉnh Bật hoặc Tắt của đèn led chiếu sáng tích hợp.

 

SERIAL.AVAILABLE ()

Để bình chọn xem có dữ liệu đang ngóng đọc trong cỗ đệm UART (hoặc serial) tốt không, chúng ta sẽ sử dụng hàm Serial.available (). Serial.available () trả về số byte đang đợi trong cỗ đệm.

SERIAL.READ ()

Để đọc dữ liệu đang hóng trong bộ đệm nối tiếp, bọn họ sẽ sử dụng hàm Serial.read (), hàm này trả về một byte tài liệu được hiểu từ cỗ đệm.

 

*

SERIAL.WRITE ()

Để gửi dữ liệu qua các chân TX0 của Arduino, bọn họ sẽ sử dụng hàm Serial.write (val). Thông số val là byte (hoặc chuỗi byte) sẽ được gửi.

 

Trong sketch, bọn họ sẽ gửi một quý giá char tùy thuộc vào trạng thái của bàn chân 8. Bọn họ sẽ gửi quý giá char "1" trường hợp chân 8 là HIGH hoặc giá trị char "0" trường hợp chân 8 là LOW.

 

*

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

Lưu sketch bên dưới dạng arduino_uart_tutorial.ino. Bước còn lại là mua sketch lên cả nhì bo mạch Arduino Uno. Hãy nhớ ngắt liên kết dây kết nối với chân TX0 cùng RX0 trước lúc tải sketch lên. Sau thời điểm tải lên thành công, hãy kết nối lại dây trên chân TX0 cùng RX0.

 

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