Chào các bạn ! Trong bài viết trước tôi đã hướng dẫn các bạn cách điều khiển một đèn LED qua điện thoại với phần mềm có sẵn. Hôm nay, tôi tiếp tục hướng dẫn các bạn cách tạo ra một dụng dụng chạy trên điện thoại Android sử dụng App Inventor để điều khiển nhấp nháy một đèn LED, thông qua Bluetooth.
Xem thêm bài viết: Điều khiển LED bằng giọng nói
Chuẩn bị
Phần cứng
STT | Tên linh kiện | Số lượng |
1 | Arduino UNO | 1 |
2 | Mô-đun Bluetooth HC-05 | 1 |
3 | LED | 1 |
4 | Điện trở 330Ω | 1 |
5 | Breadboard | 1 |
6 | Dây cắm Breadboard | |
7 | Điện thoại Android | 1 |
Phần mềm
Sơ đồ nguyên lý
Chương trình
#define ledPin 7
int state = 0;
void setup() {
pinMode(ledPin, OUTPUT);
digitalWrite(ledPin, LOW);
Serial.begin(9600);
}
void loop() {
if (Serial.available() > 0) { // Kiểm tra xem dữ liệu có đến từ cổng nối tiếp không
state = Serial.read(); // Đọc dữ liệu từ cổng nối tiếp
}
if (state == ‘0’) {
digitalWrite(ledPin, LOW); // Tắt đèn LED
Serial.println(“LED: TẮT”); // Gửi lại điện thoại, chuỗi “LED: ON”
state = 0;
}
else if (state == ‘1’) {
digitalWrite(ledPin, HIGH);
Serial.println(“LED: SÁNG”);;
state = 0;
}
}
Thiết kế phần mềm Android với MIT App Inventor 2
Giới thiệu về App Inventor
App inventor là một ứng dụng web mã nguồn mở ban đầu được cung cấp bởi Google và hiện tại được duy trì bởi viện công nghệ Massachusetts (MIT).
Nó cho phép nhà lập trình tạo ra các ứng dụng phần mềm cho hệ điều hành Android. Bằng cách sử dụng giao diện đồ họa, nền tảng cho phép người dùng kéo và thả các khối mã (blocks) để tạo ra các ứng dụng cho Android từ cơ bản đến nâng cao chỉ trong một giờ hoặc ít hơn.
Để sử dụng được App Inventor, các bạn truy cập vào địa chỉ http://ai2.appinventor.mit.edu. Sau đó tiến hành đăng nhập bằng tài khoản Google của bạn để mở trang quản lí các project.
- Giao diện quản lý Project
- Giao diện thiết kế (Designer)
- Giao diện lập trình (Blocks)
Các bước thực hiện để thiết kế một ứng dụng cho điện thoại Androi dùng App inventor
Bước 1: Tạo project mới
Bước 2: Thiết kế giao diện
Đầu tiên, một ứng dụng có thể có nhiều cửa sổ giao diện, trong MIT AI2 gọi là các Screen.
-
Palette: Chứa các thành phần có thể đặt lên trên Screen như: Button, Label, Image, Listview, Video player, …. Đến các thanh phần chức năng không nhìn thấy trên Screen như: BLE extension, Notifier, các sensors, ….
-
Viewer: Hiển thị giao diện screen. Kéo thả các thành phần từ khung Palette sang đây để thiết kế giao diện cho phần mềm của bạn.
-
Components: Sơ đồ cây thể hiện cấu trúc các thành phần đã được bố trí trên Screen.
-
Properties: Hiển thị thuộc tính của component tương ứng được chọn.
Ngoài ra còn khung Media chứa các file media bạn tải lên để sử dụng trong chương trình như: ảnh icon, ảnh nền, …
Chương trình minh họa trong bài viết được thiết kế như hình bên dưới. Bao gồm các thành phần nhìn thấy trên Screen và các thành phần chức năng không nhìn thấy trên Screen (non-visible) là:
-
Clock1: Đinh thời gian kết nối bluetooth.
-
BluetoothClient1: Dùng để kết nối điện thoại với mô-đun bluetooth HC-05.
Bước 3: Lập trình chức năng
Bước 4: Biên dịch và thử nghiệm
Để biên dịch và thực thi chương trình viết trên MIT App Inventor 2 có hai cách:
-
Cách 1: Sử dụng phần mềm MIT AI2 Companion. Với cách này, bạn cần cài đặt phần mềm MIT AI2 Companion trên điện thoại của mình.
-
Cách 2: Biên dịch ra file apk và cài đặt, bao gồm tùy chọn download file apk về máy tính (chọn save .apk to my computer), sau đó sao chép sang file apk này vào điện thoại và tiến hành cài đặt.
Ở ví dụ này tôi chọn Cách 1.
Để thực hiện, trong giao diện thiết kế của AI2, bạn chọn Build >> App (provide QR code for .apk)
Sau khi biên dịch xong sẽ xuất hiện một mã QR code, bạn sử dụng phần mềm MIT AI2 Companion để quét mã QR, file apk sẽ được tự động tải về điện thoại của bạn, tiếp theo bạn hãy cài đặt ứng dụng.
Kết quả
Giao diện ứng dụng
Nhấn vào biểu tượng bluetooth để chọn thiết bị cần kết nối.
Sau khi kết nối bạn có thể bật / tắt led qua điện thoại của mình rồi. Thật thú vị phải không nào các bạn!