Điều khiển Arduino thông qua Bluetooth bằng điện thoại Android

03/07/2021
dieu-khien-arduino-thong-qua-bluetooth-bang-dien-thoai-android

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

 
  1. // Khai báo biến
  2. char state;
  3.  
  4. void setup() {
  5. ​// Cài đặt các chân bạn muốn điều khiển thành thành Ouput
  6. ​// Ở đây tôi sử dụng 4 chân 9, 10, 11, 1
  7. ​pinMode(9, OUTPUT)
  8. ​pinMode(10, OUTPUT)
  9. ​pinMode(11, OUTPUT)
  10. ​pinMode(12, OUTPUT)
  11. ​Serial.begin(9600); // Kết nối bluetooth module ở tốc độ 960
  12. }
  13.  
  14. void loop() {
  15.  
  16. ​if(Serial.available() > 0)
  17. ​// Đọc giá trị nhận được từ bluetoot
  18. ​state = Serial.read()
  19. ​} else
  20. ​state = 0
  21.  
  22. ​Serial.println(state)
  23. // Thực hiện điều khiển các chân 9, 10, 11, 12
  24. // Ở đâ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
  25. switch (state) {
  26. ​case '1'
  27. ​digitalWrite(9, HIGH)
  28. ​break
  29. ​case '2'
  30. ​digitalWrite(9, LOW)
  31. ​break
  32. ​case '3'
  33. ​digitalWrite(10, HIGH)
  34. ​break
  35. ​case '4'
  36. ​digitalWrite(10, LOW)
  37. ​break
  38. ​case '5'
  39. ​digitalWrite(11, HIGH)
  40. ​break
  41. ​case '6'
  42. ​digitalWrite(11, LOW)
  43. ​break
  44. ​case '7'
  45. ​digitalWrite(12, HIGH)
  46. ​break
  47. ​case '8'
  48. ​digitalWrite(12, LOW)
  49. ​break;
  50.  
  51. ​default:
  52. ​break
  53. }
  54.  
  55.  
  56. }

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.

Bình luận
Nội dung này chưa có bình luận, hãy gửi bình luận đầu tiên của bạn.
VIẾT BÌNH LUẬN CỦA BẠN