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:
Arduino IDE Mạch Arduino UNO R3Dây cáp USB 2 đầu Type A-B
Hãy tuần tự thực hiện theo từng bước theo hướng dẫn sau
Bước 1: Kết nối Arduino UNO R3 vào máy tính
Bước 2: Tìm cổng kết nối của Arduino Uno R3 với máy tính
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.
Bước 3: Khởi động Arduino IDE
Bước 4: Cấu hình phiên làm việc cho Arduino IDE
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
Bước 5: Mở và nạp mã nguồn chương trình mẫu
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.
Bấm tổ hợp phím Ctrl + U để tải chương trình lên mạch Arduino Uno R3. Bạn sẽ thấy IDE xác nhận đã lập trình thành công như hình dưới.
Xem thêm: Cặp đi học nữ de thuong 2015 hay nhất, balo nữ đẹp, balo nữ dễ thương, balo nữ hàn quốc
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à gì?
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.
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.
Bài viết dưới đây sử dụng:
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
Cách tải và cài đặt
1. Cài đặt Arduino IDE
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
2. Cài đặt Java
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
3. Khởi tạo
Sau khi cài đặt ArduinoIDE tiến hành cấu hình ban đầuHãy chọn loại board đang sử dụng「Tools」→「Board」→「Arduino Uno」Sau đó chọn cổng kết nối USB「Tools」→「Serial Port」→「COM3」Cuối cùng chọn 「Tools」→「Programmer」→「AVR ISP」
4. Thiết lập cảm biến siêu âm đo khoảng cách
Hãy gắn như hình bên dướiChân ↔ Chân ↔ Chân ↔ port)>Chân ↔ port)>
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.
5. Code trên ArduinoIDE
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);}
6. Kiểm tra kết quả tại Serial monitor
7. Kết nối Arduino và Unity
Khởi động UnityChọn「File」→「Build Settings…」→「Player Settings」→「Api Compatibility Level」、Tại thuộc tính「Api Compatibility Level」 Để thay đổi「.NET2.0」 sang「.NET4.0」Dưới nhãn Hierarchy bấm nút Create -> UI -> Image để tạo background cho UI Khi mới tạo thì image nhỏ nên sẽ Anchor lại phủ màn hìnhChọn Object Image vừa tạo bên cửa sổ Inspector chọn ký hiệu Anchor như hìnhGiữ phím Alt và chọn như hìnhSau đó tạo text để hiện kết quả của cảm biến siêu âmGiống như cách tạo Image phía trên, tạo Text như hình dướiSau đó setting text như hình để text phóng to và nằm chính giữaTạo script C#Thực hiện code C# như phía dưới
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();//アプリを閉める時ポートを閉める
}
}
Cuối cùng gắn script vừa code vào object canvasChọn object Canvas trên cửa sổ Hierarchy, cửa sổ Inspector bên phải bấm nút Add Component trên thanh tìm kiếm nhập tên script vừa tạo và chọnSau cùng bấm nút play sẽ thấy được kết quả
Video demo
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.