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

     
*
Đăng nhập

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

*

*
MẠCH ĐIỆN

Xem thêm: Đề Thi Môn Văn Thpt Quốc Gia 2015 Môn Ngữ Văn, Đề Thi Và Đáp Án Môn Ngữ Văn

Arduino
Màn hình LCD

Ở bài bác đầu về Processing, chúng ta đã khám phá việc máy tính nhận được bộc lộ của arduino. Vậy làm sao máy tính hoàn toàn có thể làm được? giao tiếp giữa máy tính và Arduino là giao thức UART (qua Serial). Lúc này chúng ta cùng nhau khám phá về nó nhé !

UARTvà giao tiếp Serial

Bất cứ máy tính xách tay hay vi điều khiển (không chỉ gồm Arduino) đều giao tiếp với nhau thông qua UART. Khi bạn kết nối arduino với laptop bằng dây USB thời gian đó chúng ta có thể bật Serial Motion lên để hoàn toàn có thể gửi tương tự như nhận trường đoản cú Arduino. Vậy tất cả phải UART chỉ truyền qua USB? chưa phải đâu, UART chỉ là 1 phương thức giao tiếp giữa 2 thiết bị, còn cách truyền UART có không ít cách như dây cáp, những loại sóng…

Chúng ta rất có thể sử dụng 2 Arduino để giao tiếp với nhau bằng 3 chân GND, TX cùng RX. Thếthì Arduino giao tiếp với máy tính xách tay thì sao? Ở mức sử dụng dây dẫn, các các bạn sẽ chia làm 2 dạng:

Nếu ban sử dụng những arduino đã gồm chip hoặc module đang builtin sẵn việc sử dụng thay đổi UART to SERIAL như Arduino UNO R3, Mega… thì các bạn chỉ câu hỏi cắm dây vào cổng USB.Với mọi Arduino Promini không có Builtin sẵn thì chúng ta phải sẵn sàng một mạch UART to SERIAL riêng và cần sử dụng 3 tua (có thể 4 sợi thêm VCC cấp nguồn cho Arduino) để giao tiếp với sản phẩm công nghệ tính

Các bạn đã từng có lần sử dụng Serial để Debug rồi thì đó là do Arduino truyền bộc lộ qua thứ tính. Trong trường đúng theo này, các nội dung truyền sẽ tiến hành lưu trong output buffer của arduino truyền qua máy vi tính và lưu input đầu vào buffer. Laptop sẽ đọc những dữ liệu đó cùng quy ra Serial Command. Tương tự thì Arduino cũng hoàn toàn có thể được truyền trái lại theo phương thức ấy theo quy mô sau:

Về phần Serial Command thì mình đang hướng dẫn các bạn trong bài xích kế tiếp, bài xích này chúng ta sẽ thường xuyên với 2 vấn đề: làm sao để biết tất cả bao nhiêu kết nối Serial hiện có? Và tinh chỉnh đèn LED bởi chuột sản phẩm công nghệ tính. Họ sẽ thực hiện gửi dìm tín hiệu đơn giản và dễ dàng nên không phải dùng đến Serial Command

Làm sao để tìm hiểu bao nhiêu liên kết Serial hiện có?

Nếu như các bạn có kỹ năng và kiến thức java thì câu hỏi trên không phải là vấn đề lớn. Nhưng đối với Processing, thì mọi thứ rất giản đơn để giải quyết câu hỏi trên

Chỉ buộc phải chạy đoạn code sau trong Processing thì đang hiển thị cho bạn các Serial hiện nay kết nối.

*

Như các bạn cũng có thể thấy ở screen Serial phía bên dưới xuất ra “COM1 COM11” bao gồm 2 cổng COM đang được kết nối. Tác dụng trả về có thể sẽ gồm dạng danh sách những cổng COM hay cổng /dev/tty,...

Vậy khi các bạn tìm gọi tới đây, các bạn đã sở hữu thể phát âm được vì sao vì sao bài xích 1 ta quan yếu chạy khi đã mở Serial Monitor. ể thực hiện được cổng Serial, công tác phải gồm quyền đọc văn bản trong cổng đó. Tuy thế Processing hay Arduino đều cần được mở cổng trước thì mới thao tác tiếp được. Nghĩa là nếu không mở cổng được (vì cổng đã có được mở) thì Processing xuất xắc Arudino vẫn báo lỗi: Cổng Serial sẽ bận!

Điều khiển LED bởi chuột bởi Processing

Bài 1 họ đã rất có thể truyền thông tin từ Arduino đến máy tính, vậy ở bài xích này bọn họ hãy thử truyền ngược lại xem sao !

Chuẩn bị

Tương từ như bài bác 1

Phần mềm: Arduino IDE, Processing

Phần cứng: Arduino Board (Board như Arduino UNO R3, Mega 2560 rất nhiều được) hoặc các chúng ta cũng có thể lắp mạch tinh chỉnh LED.

Ở phía trên mình sử dụng Arduino UNO R3 cùng với mạch LED nhằm các bạn có thể nhìn rõ hơn. Các bạn cũng có thể sử dụng LED_BUILTIN thẳng từ Arduino (Ví dụ Chân 13 của Arduino Uno)

Lập trình

Code Arduino:

Code Processing:

Tại sao vào mã nguồn của Processing ta lại bắt buộc kiểm tra “mousePressed”? Nếu không có nó thì sao ? Các bạn có thể thử nghiệm coi chuyện gì sẽ xẩy ra nhé! chúng ta sử dụng Arduino Uno quan giáp kỹ đèn TX RX lúc thử nghiệm là sẽ hiểu thôi :D