hungpaladin gửi vào
- 245686 lượt xem
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 ... và ...
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, 12 pinMode(9, OUTPUT); pinMode(10, OUTPUT); pinMode(11, OUTPUT); pinMode(12, OUTPUT); Serial.begin(9600); // Kết nối bluetooth module ở tốc độ 9600 } void loop() { if(Serial.available() > 0){ // Đọc giá trị nhận được từ bluetooth 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. Hãy tìm hiểu về cách sử dụng Module Relay tại địa chỉ dưới đây:
Module Relay - Cách sử dụng rơ le và những ứng dụng hay của nó
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.
Đóng góp về lỗi không nạp được code khi dùng module bluetooth của bạn Huy Bùi
Tôi yêu Arduino nói đúng rồi đấy bạn. Ngoài ra, trong quá trính bạn upload lên board arduino thì bạn phải nhớ gỡ 2 dây gắn vào Tx và Rx trên board arduino nhé. Sau khi quá trình upload hoàn thành thì bạn hẳn cắm 2 dây kia vào vị trí Rx và Tx nhé. Mình từng bị cái lỗi kiểu này rồi :D. Với lại trên thì bạn có thể tham khảo phần mềm Bluetooth Assitant nhé