Hướng dẫn chế tạo xe điều khiển Bluetooth Arduino
Trong dự án lần này mình sẽ hướng dẫn cho các bạn cách chế tạo một xe điều khiển Arduino sử dụng Bluetooth HC-05.
Để điều khiển các động cơ xe điều khiển từ xa Arduino mình sẽ sử dụng Motor Shield L293D với module này các bạn có thể điều khiển tối đa lên đến bốn động cơ DC. Ngoài ra, sử dụng hai viên Pin 18650 để cấp nguồn cho xe điều khiển Bluetooth Arduino.
Cuối cùng để Team Arduino có thể ra thêm nhiều món ăn hấp dẫn hơn cho cộng đồng Arduino, các bạn đừng ngần ngại ủng hộ bằng cách Donate qua đường liên kết mình để bên dưới.
Linh kiện cần thiết cho dự án
TÊN LINH KIỆN | SỐ LƯỢNG | NƠI BÁN |
Arduino Uno R3 | 1 | Shopee | Cytron |
Motor Shield L293D | 1 | Shopee | Cytron |
Module Bluetooth HC-05 | 1 | Shopee | Cytron |
Pin 18650 | 2 | Shopee | Cytron |
Đế Pin 2 viên 18650 | 1 | Shopee | Cytron |
Động cơ vàng + Bánh xe | 1 | Shopee | Cytron |
Công tắc nguồn | 1 | Shopee | Cytron |
Dây cắm | 10-20 | Shopee | Cytron |
Tổng quan về Motor Shield L293D
Motor Shield L293D là một module điều khiển động cơ được thiết kế dựa trên IC L293D.
Module Motor Shield L293D có thể điều khiển đồng thời hai động cơ DC hoặc một động cơ bước (stepper motor) bằng cách sử dụng các tín hiệu đầu vào từ Arduino. Nó có khả năng kiểm soát hướng quay và tốc độ của động cơ.
Ngoài ra, Motor Shield L293D còn đi kèm với các tính năng bảo vệ như flyback diodes và cung cấp một nguồn điện riêng cho động cơ (điện áp từ 4,5V đến 36V). Để tìm hiểu thêm về module này các bạn có thể xem bài viết bên dưới
- Điều khiển động cơ DC bằng IC L293D và Arduino
- Điều khiển động cơ DC, Stepper Motor và Servo bằng Motor Shield L293D & Arduino
- Điều khiển động cơ bước Stepper Motor bằng IC L293D và Arduino
Sơ đồ đấu nối
Các bước lắp ráp xe điều khiển từ xa arduino
Bước 1: Hàn dây cho động cơ vàng
Tiến hành hàn dây vào bốn động cơ vàng và chuẩn bị một bo đồng lỗ để cố định các động cơ, các bạn có thể sử dụng keo nến hoặc bất cứ thứ gì có thể cố định được.
Bước 2: Kết nối Arduino UNO R3 với Motor Shield L293D
Các bạn lưu ý cắm đúng chiều board Arduino Uno với Motor Shield L293D.
Bước 3: Nối dây động cơ vàng vào Motor Shield L293D
Đấu bốn cặp dây động cơ vào các vị trí trên Motor Shield L293D (tương ứng với các vị trí M1, M2, M3 và M4), các bạn có thể đấu bất kỳ, sau khi nạp code vào rồi điều chỉnh hướng và các cặp sau.
Bước 4: Kết nối Module Bluetooth HC-05 với Motor Shield L293D
Tiếp theo, sẽ là phần đấu nối bluetooth HC-05 với Motor Shield L293D, vì HC-05 sử dụng giao thức UART giao tiếp với Arduino nên các bạn đấu nối như sau: (TXD-0 và RXD-1)
Bước 5: Nạp chương trình Arduino
Lưu ý khi nạp chương trình, các bạn cần rút hai sợi dây RXD và TXD ra để tránh xung đột và không nạp được chương trình.
Bước 6: Đấu nối nguồn cho Motor Shield L293D
Trong dự án này, mình sẽ sử dụng đế hai viên Pin sạc 18650 3.7V. Trên module L293D cấp nguồn vào domino được ký hiệu là (M+, GND).
Sau đó, tiến hành lắp các bánh xe vào bốn động cơ vàng.
Bước 7: Lắp Pin 18650 và kiểm tra nguồn
Sau khi hoàn thành các bạn có thể lắp Pin vào vào tiến hành kiểm tra nguồn đã OK hết chưa.
Kết nối xe điều khiển Arduino với App Bluetooth RC Car
Bước 1: Tải App Bluetooth RC Car
Truy cập vào Google Play tìm kiếm bằng từ khóa “bluetooth controller arduino” kéo xuống chọn App như hình và tiến hành cài đặt.
App này hiện tại chỉ hỗ trợ trên Android thôi nha mấy bạn.
Bước 2: Kết nối App Bluetooth RC Car với xe điều khiển Arduino
Chọn biểu tượng hình bánh răng, sẽ xuất hiện một Menu và nhấp vào “Connect to car”.
Sẽ xuất hiện một thiết bị, các bạn nhấn vào đây để tiến hành kết nối, nếu nút chuyển sang màu xanh thì kết nối thành công. Bây giờ bạn có thể điều khiển được rồi đấy.
Code xe điều khiển từ xa Arduino
#include <AFMotor.h> AF_DCMotor motor1(1); AF_DCMotor motor2(2); AF_DCMotor motor3(3); AF_DCMotor motor4(4); int Speed = 230; char value; void setup() { Serial.begin(9600); motor1.setSpeed(Speed); motor2.setSpeed(Speed); motor3.setSpeed(Speed); motor4.setSpeed(Speed); } void loop() { if (Serial.available() > 0) { value = Serial.read(); } if (value == 'F') { motor1.run(FORWARD); motor2.run(FORWARD); motor3.run(FORWARD); motor4.run(FORWARD); } else if (value == 'B') { motor1.run(BACKWARD); motor2.run(BACKWARD); motor3.run(BACKWARD); motor4.run(BACKWARD); } else if (value == 'L') { motor1.run(BACKWARD); motor2.run(BACKWARD); motor3.run(FORWARD); motor4.run(FORWARD); } else if (value == 'R') { motor1.run(FORWARD); motor2.run(FORWARD); motor3.run(BACKWARD); motor4.run(BACKWARD); } else { motor1.run(RELEASE); motor2.run(RELEASE); motor3.run(RELEASE); motor4.run(RELEASE); } }
Mọi thắc mắc hay cần hỗ trợ về Code arduino xe điều khiển các bạn có thể Comment bên dưới bài viết đẻ mình có thể hỗ trợ một cách nhanh chóng.
dạ cho em hỏi, em đã làm hết các bước, đèn trên điện thoại em cũng chuyển xanh, nhma em không điều khiển được là sao v ạ
Nhờ e quay lại các bước connect để a hướng dẫn nhé
nạp code thì em bị lỗi này ạ
C:\Users\Thang\AppData\Local\Temp\.arduinoIDE-unsaved20231117-9504-1ib7dg9.gasej\sketch_dec17a\sketch_dec17a.ino:1:10: fatal error: AFMotor.h: No such file or directory
#include
^~~~~~~~~~~
compilation terminated.
exit status 1
Compilation error: AFMotor.h: No such file or directory
e xem thư viện hình như bị thiếu file, e lên tải lại thư viện AFMotor.h thử xem nhé
C:\Users\Thang\AppData\Local\Temp\.arduinoIDE-unsaved20231117-6184-a8r77o.tbz0c\sketch_dec17a\sketch_dec17a.ino:1:10: fatal error: AFMotor.h: No such file or directory
#include <AFMotor.h>
^~~~~~~~~~~
compilation terminated.
exit status 1
Compilation error: AFMotor.h: No such file or directory
em bị lỗi này thì làm sao vậy ạ
mình cắm dây vào để nạp chương trình thì làm thế nào ạ
Trên trang có hướng dẫn, bạn xem lại giúp mình
em làm như hướng dẫn, điện thoại hiện đèn xanh sao bánh xe kh quay v ạ
em cắm dây cáp để nạp dữ liệu thì nó lại nhận bluetooth còn rút ra là nó mất tín hiệu xử lí sao anh
em nạp code bị lỗi :\Users\Hoa Vo Thai\Documents\Arduino\sketch_jun27a\sketch_jun27a.ino:1:10: fatal error: AFMotor.h: No such file or directory
#include <AFMotor.h>
^~~~~~~~~~~
compilation terminated.
exit status 1
Compilation error: AFMotor.h: No such file or directory
Đã thêm thư viện AFMotor.h chưa e
Anh ơi app điều khiển ko tải đc ạ
Dạ anh cho em hỏi là còn app nào điều khiển xe ko ạ