-
-
-
Tổng tiền thanh toán:
-
Điều khiển Arduino thông qua Bluetooth bằng điện thoại Android
03/07/2021
Giới thiệu
Kết nối Arduino với các thiết bị, module điện tử khác là 1 việc tương đối dễ dàng, hôm nay tôi sẽ giới thiệu với các bạn cách kết nối Arduino với module Bluetooth và điều khiển nó thông qua điện thoại Android. Các bạn có thể ứng dụng để điều khiển các thiết bị điện trong nhà như bật tắt đèn, quạt, bật tắt bình nóng lạnh, ... hoặc tự làm một chiếc ô tô điều khiển từ xa bằng Bluetooth....
Bạn cần chuẩn bị
- Arduino Uno
- Module Bluetooth HC06 (Có 2 loại Master và Slave, ở đây tôi sử dụng Module Slave)
- Điện thoại chạy hệ điều hành Android
- Breadboard
- Dây cắm breadboard
- Vài cái đèn led
- Vài con điện trở 560 Ohm
Trước tiên ta cần tìm hiểu qua về Module Bluetooth HC06
Module này gồm 4 chân GND, VCC, TX, RX Khi kết nối bạn chỉ cần nối chân TX với chân 0 và chân RX nối với chân 1 trên Arduino sau đó bạn có thể lập trình gửi và nhận dữ liệu như 1 cổng Serial thông thường. Module này có 3 loại Master, Slave và loại chạy được cả 2 chế độ Master và Slave, ở ví dụ này tôi sử dụng loại Slave, khi kết nối với điện thoại bạn điền mật khẩu mặc định là: 1234
Về phần mềm trên điện thoại Android trong ví dụ này tôi sử dụng phần mềm DroiDuino bạn có thể tìm và tải trên Google Play. Giao diện và cách sử dụng phần mềm rất đơn giản, bạn chỉ cần nhìn là có thể sử dụng được ngay.
Sơ đồ kết nối
Lập trình
- // Khai báo biến
- char state;
- void setup() {
- // Cài đặt các chân bạn muốn điều khiển thành thành Ouput
- // Ở đây tôi sử dụng 4 chân 9, 10, 11, 1
- pinMode(9, OUTPUT)
- pinMode(10, OUTPUT)
- pinMode(11, OUTPUT)
- pinMode(12, OUTPUT)
- Serial.begin(9600); // Kết nối bluetooth module ở tốc độ 960
- }
- void loop() {
- if(Serial.available() > 0)
- // Đọc giá trị nhận được từ bluetoot
- state = Serial.read()
- } else
- state = 0
- Serial.println(state)
- // Thực hiện điều khiển các chân 9, 10, 11, 12
- // Ở đây tôi đã quy ước sẵn các giá trị gửi và nhận dữ liệu giữa điện thoại và Arduino
- switch (state) {
- case '1'
- digitalWrite(9, HIGH)
- break
- case '2'
- digitalWrite(9, LOW)
- break
- case '3'
- digitalWrite(10, HIGH)
- break
- case '4'
- digitalWrite(10, LOW)
- break
- case '5'
- digitalWrite(11, HIGH)
- break
- case '6'
- digitalWrite(11, LOW)
- break
- case '7'
- digitalWrite(12, HIGH)
- break
- case '8'
- digitalWrite(12, LOW)
- break;
- default:
- break
- }
- }
Lập trình xong bạn kết nối vài con led theo hình dưới và chạy thử xem sao nào.
Từ ví dụ đơn giản này bạn có thể phát triển thêm bằng cách kết nối Arduino với Module relay là có thể điều khiển được các thiết bị sử dụng điện 220v trong gia đình rồi.
Chúc bạn thành công!
Mở rộng
kiểm tra giá trị được truyền từ điện thoại tới bluetooth. Chỉ dùng cho Arduino Uno (các bạn có thể dùng module USB to Serial khác như cp2101, ftd, pl2303,... để thực hiện)
- Bước 1: Bạn tháo con Atmega328p ra
- Bước 2: bạn lắp mạch bluetooth như hình trên
- Bước 3: Bật Serial Monitor chỉnh baudrate 9600
- Bước 4: Bật phần mềm trên điện thoại rồi tiến hành kết nối tới bluetooth
- Bước 5: Nhấn nút bất kỳ để kiểm tra các giá trị được gửi đi trên Serial Monitor
Để nạp code lại, bạn chỉ việc gắn con atmega328 vào tháo RX, TX của bluetooth ra và nạp.