Arduino là nền tảng mã nguồn mở về phần cứng và phần mềm được xây dựng với mục đích giúp cho người yêu thích điện tử, học sinh sinh viên hoặc giới chuyên nghiệp có thể tạo ra thiết bị có khả năng tương tác với môi trường thông qua các cảm biến.Bạn đang xem: Kết nối arduino với máy tính
Trong bài viết này, Nghĩa sẽ hướng dẫn các bạn cách cài đặt kết nối Unity với Arduino qua cổng USB và thực hành một bài test demo cơ bản với cảm biến siêu âm đo khoảng cách nhé.
Phần cứng bao gồm 1 board mạch được thiết kế trên nền tảng AVR Atmel 8bit, hoặc ARM Atmel 32-bit, những model hiện tại được trang bị 1 cổng USB, 6 chân đầu vào analog, 14 chân I/O digital.
Phần mềm là một môi trường phát triển IDE có thể chạy được trên Windows, Mac, Linux cho phép người dùng viết chương trình cho Arduino bằng C/C++
Bài viết dưới đây hướng dẫn kết nối Arduino với Unity, cách lấy giá trị của cảm biến được nối vào board Arduino. Khi kết nối được với Unity có thể mở rộng ra rất nhiều ứng dụng. Ví dụ sử dụng Hololens kết nối với Arduino thông qua BLE (Bluetooth Low Energy) để điều khiển các thiết bị xung quanh.
Arduino-UNO-R3-và-Cảm-biến-siêu-âm-HC-SR04
Ngoài board Arduino R3 các bạn cũng có thể sử dụng ESP8266 hoặc ESP32 được tích hợp sẵn bluetooth và wifi. Hoặc module tích hợp như M5Stack có sẵn bluetooth, wifi, cảm biến gia tốc, pin, màn hình TFT. Tất cả đều sử dụng C++ và ArduinoIDE để lập trình hoặc Visual Studio Code nhưng phải cài thêm plugin PlatformIO
Từ link phía dưới hãy chọn phiên bản phù hợp với OS của bạn để tải về cài đặt
https://www.arduino.cc/en/Main/Software
Từ link phía dưới hãy chọn phiên bản Java phù hợp với hệ điều hành, ở trong hình hiện đang sử dụng Windows-x64
https://www.oracle.com/technetwork/java/javase/downloads/jre8-downloads-2133155.html
Tín hiệu xung rất ngắn (5 micro giây-cực đại) được phát ra từ cảm biến để đo khoảng cách. Sau đó, cảm biến sẽ tạo ra xung HIGH trên cảm biến cho đến khi nhận được tín hiệu phản xạ từ mã PIN. Độ rộng xung tương ứng với thời gian sóng siêu âm được truyền từ cảm biến và trở lại.
Tốc độ của âm thanh trong không khí là 340 m / s (hằng số vật lý), tương đương 29.412 micro giây / cm (106 / (340 * 100)). Sau khi tính thời gian, chia cho 29,412 để tính khoảng cách.
const int trig = 12; const int echo = 11;void setup(){Serial.begin(9600); pinMode(trig,OUTPUT); pinMode(echo,INPUT); }void loop(){unsigned long duration; int distance; digitalWrite(trig,0); delayMicroseconds(2);digitalWrite(trig,1); delayMicroseconds(5); digitalWrite(trig,0); duration = pulseIn(echo,HIGH); distance = int(duration/2/29.412);Serial.print(distance);Serial.println("cm");delay(200);}
public class ArduinoController : MonoBehaviour
{
private Text m_DistanceText; //距離の表示するテキスト
private SerialPort m_SerialPort; //USBポート
void Start()
m_DistanceText = FindObjectOfType(); //シンでのテキストを探す
m_SerialPort = new SerialPort(“COM5”, 9600); //ポートを指定する
m_SerialPort.Open(); //ポートを開く
}
void Update()
if (m_SerialPort.IsOpen) // Arduinoと接続することを確認
string data = m_SerialPort.ReadLine(); // Arduinoからのデータを取得する
float dis = 0;
if (float.TryParse(data, out dis)) //Arduinoからのデータは数かどうか確認する
m_DistanceText.text = dis + “cm”; //画面に表示する
private void OnApplicationQuit()
m_SerialPort.Close();//アプリを閉める時ポートを閉める
Demo với Arduino UNO R3 và HC SR04:
Dưới đây là Video demo kết quả đọc dữ liệu khoảng cách từ cảm biến siêu âm rồi hiện lên Unity realtime. Có thể sử dụng thêm Module HC-05 hoặc HC-10 cho chuẩn BLE để truyền dữ liệu mà không cần dây cáp nhưng bù lại phải có thêm module battery làm nguồn cho mạch nên mình ưu tiên sử dụng M5Stack hơn. (xem video bên dưới)
Arduino Demo mạch cảm biến đo khoảng cách với Unity với Arduino UNO R3 và Cảm biến siêu âm HC SR04
Test trên M5Stack:
Với M5Stack thì có sẵn màn hình TFT để hiện kết quả nên không cần Unity nữa. Giao diện có thể tùy biến linh động, trong video sử dụng thư viện M5Avatar để hiện kết quả. Hơn nữa M5Stack sử dụng board ESP32 nên có sẵn wifi và bluetooth có thể mở rộng ra truyền qua ứng dụng Android/iOS code bằng Unity hoặc bất kỳ ngôn ngữ nào khác.
Trong bài viết này, bạn sẽ được hướng dẫn cách nạp chương trình đơn giản kiểu "Hello world" (điều khiển đèn LED nhấp nháy theo chu kì 1 giây) cho Arduino Uno R3.Bạn đang xem: Kết nối arduino với máy tính
Hãy đảm bảo rằng bạn đã cài đặt Arduino IDE và Arduino driver lên máy của mình. Nếu chưa thực hiện điều này, bạn hãy xem hướng dẫn tại bài viết Cài đặt driver và Arduino IDE.
Bạn sẽ cần 3 thứ sau:
Hãy tuần tự thực hiện theo từng bước theo hướng dẫn sau
Khi Arduino Uno R3 kết nối với máy tính, nó sẽ sử dụng một cổng COM (Communication port - cổng dữ liệu ảo) để máy tính và bo mạch có thể truyền tải dữ liệu qua lại thông qua cổng này. Windows có thể quản lí đến 256 cổng COM. Để tìm được cổng COM đang được sử dụng để máy tính và mạch Arduino UNO R3 giao tiếp với nhau, bạn phải mở chức năng Device Manager của Windows.
Bạn mở cửa sổ Run và gõ lệnh mmc devmgmt.msc.
Sau đó bấm Enter, cửa sổ Device Manager sẽ hiện lên.
Mở mục Ports (COM & LPT), bạn sẽ thấy cổng COM Arduino Uno R3 đang kết nối
Cổng kết nối ở đây là COM3.
Thông thường, trong những lần kết nối tiếp theo, Windows sẽ sử dụng lại cổng COM3 để kết nối nên bạn không cần thực hiện thêm thao tác tìm cổng COM này nữa.
Vào menu Tools -> Board -> chọn Arduino Uno
Vào menu Tools -> Serial Port -> chọn cổng Arduino đang kết nối với máy tính. Ở máy của mình là COM3.
Xác nhận cổng COM của Arduino IDE ở góc dưới cùng bên phải cửa sổ làm việc
Vào menu Tools -> Programmer -> chọn AVR ISP
Nạp một chương trình mẫu bằng cách vào menu File -> Examples -> 01.Basics -> chọn Blink.
Bạn sẽ thấy Arduino IDE mở một cửa sổ mới chứa mã nguồn Blink. Mã này có chức năng là điều khiển đèn LED màu cam trên mạch Arduino Uno R3 nhấp nháy với chu kì 1 giây.
Cùng xem kết quả nào.
Phần khích chưa nào, bạn muốn lập trình Arduino "trên mây" trên chính trình duyệt của bạn không? Tham khảo bài viết Code Arduino trên MÂY, bạn có muốn thử hay không?.
Arduino là nền tảng mã nguồn mở về phần cứng và phần mềm được xây dựng với mục đích giúp cho người yêu thích điện tử, học sinh sinh viên hoặc giới chuyên nghiệp có thể tạo ra thiết bị có khả năng tương tác với môi trường thông qua các cảm biến.
Tốc độ của âm thanh trong không khí là 340 m / s (hằng số vật lý), tương đương 29.412 micro giây / cm (106 / (340 * 100)). Sau khi tính thời gian, chia cho 29,412 để tính khoảng cách.Xem thêm: Danh Sách Các Xe Phương Trang Đi Trà Vinh Đi Sài Gòn Hay Nhất 2022