Hướng dẫn chế tạo xe điều khiển Bluetooth Arduino

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ơ.

Điều khiển động cơ DC, Stepper Motor và Servo bằng Motor Shield L293D & Arduino

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

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.

Bài viết liên quan

Theo dõi
Thông báo của
guest

9 Comments
Cũ nhất
Mới nhất Được bỏ phiếu nhiều nhất
Phản hồi nội tuyến
Xem tất cả bình luận
Hiu

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 ạ

MinhTam

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

Thang

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 ạ

long

mình cắm dây vào để nạp chương trình thì làm thế nào ạ

long

em làm như hướng dẫn, điện thoại hiện đèn xanh sao bánh xe kh quay v ạ

long

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