Điều khiển xe ô tô đồ chơi bằng điện thoại thông minh, có vẻ không tin được phải không? Nhưng điều đó hoàn toàn có thể xảy ra theo cách hướng dẫn trong bài viết này.
Chắc hẳn món đồ chơi ô tô điều khiển từ xa không còn xa lạ gì với chúng ta. Những chiếc ô tô điều khiển từ xa này là thứ mà đứa trẻ nào cũng luôn ao ước có một chiếc. Hay thậm chí nhiều bạn trẻ dù lớn rồi nhưng vẫn còn rất thích chơi món đồ chơi này. Cách thức điều khiển từ xa của những chiếc xe này thường là sử dụng sóng Radio. Trong bài viết ngày hôm nay chúng tôi sẽ hướng dẫn các bạn tự tay chế tạo một chiếc xe điều khiển từ xa. Nhưng không phải là điều khiển bằng sóng Radio mà điều khiển bằng chính chiếc smartphone yêu quý của bạn thông qua sóng Bluetooth. Nghe thôi đã thấy thú vị rồi phải không nào? Bắt tay vào việc ngay thôi!
Chuẩn bị
Một bộ Khung xe mô hình 4 bánh ( giá khoảng 280.000 đồng)
Một bộ KIT Arduino UNO R3 ( Giá khoảng 180.000 đồng)
Một bộ Module điều khiển động cơ L293D ( giá khoảng 119.000 đồng)
Một Module HC-05 hoặc HC-06 ( giá khoảng từ 115.000 đến 180.000 đồng)
Một Đế pin Ultrafire ( Giá khoảng 14.000)
Hai cục Pin Ultrafire ( Giá khoảng 90.000)
Dây nối 7 màu cái cái đực cái đực đực ( Giá Khoảng 7.000 đồng)
Một công tắc gạt ( Giá Khoảng 5.000 đồng)
Tổng chi phí khoảng gần 900.000 đồng. Tuy nhiên, combo bộ sản phẩm này hiện đang được giảm giá tại cửa hàng Linh Kiện Hà Nội chỉ còn 650.000 đồng. Mức chi phí này gần như tương đương với số tiền để mua một chiếc xe đồ chơi điều khiển từ xa bằng sóng radio.
Bước 1: Thêm thư viện cho Arduino
Vì Arduino không có sẵn thư viện AFMotor.h, nên chúng ta cần phải thêm thư viện này vào để có thể nạp code. Bạn tải thư viện này về tại đây.
Sau khi tải thư viện về, bạn nhấn vào Sketch sau đó chọn Include Library và chọn Add .Zip Library
Một cửa sổ mới sẽ hiện ra. Bạn chọn file thư viện vừa tải về sau đó nhấn Open là thư viện sẽ được thêm vào Arduino.
Bước 2: Nạp code cho Arduino
Sau đó, bạn tiến hành nạp code. Lưu ý nạp code trước khi kết nối Module Bluetooth. Nếu kết nối module Bluetooth trước khi nạp code, phần mềm sẽ báo lỗi không thể nạp được. Bạn sao chép đoạn code sau vào Arduino.
#include
AF_DCMotor motor1(1);
AF_DCMotor motor2(2);
AF_DCMotor motor3(3);
AF_DCMotor motor4(4);
char command;
void setup()
{
Serial.begin(9600);
}
void loop(){
if(Serial.available() > 0){
command = Serial.read();
Stop();
switch(command){
case 'F':
forward();
break;
case 'B':
back();
break;
case 'L':
left();
break;
case 'R':
right();
break;
}
}
}
void right()
{
motor1.setSpeed(255);
motor1.run(FORWARD);
motor2.setSpeed(255);
motor2.run(FORWARD);
motor3.setSpeed(255);
motor3.run(BACKWARD);
motor4.setSpeed(255);
motor4.run(BACKWARD);
}
void left()
{
motor1.setSpeed(255);
motor1.run(BACKWARD);
motor2.setSpeed(255);
motor2.run(BACKWARD);
motor3.setSpeed(255);
motor3.run(FORWARD);
motor4.setSpeed(255);
motor4.run(FORWARD);
}
void forward()
{
motor4.setSpeed(255);
motor4.run(FORWARD);
motor2.setSpeed(255);
motor2.run(FORWARD);
motor3.setSpeed(255);
motor3.run(BACKWARD);
motor1.setSpeed(255);
motor1.run(BACKWARD);
}
void back()
{
motor3.setSpeed(255);
motor3.run(FORWARD);
motor1.setSpeed(255);
motor1.run(FORWARD);
motor4.setSpeed(255);
motor4.run(BACKWARD);
motor2.setSpeed(255);
motor2.run(BACKWARD);
}
void Stop()
{
motor1.setSpeed(0);
motor2.run(RELEASE);
motor2.setSpeed(0);
motor2.run(RELEASE);
motor3.setSpeed(0);
motor4.run(FORWARD);
motor4.setSpeed(0);
motor4.run(FORWARD);
}
Nhấn vào biểu tượng V để dịch code
Nhấn vào biểu tượng mũi tên để nạp code
Bước 3: Hàn thêm chân kết nối cho Arduino và Module L293
Trong bài này, chúng ta sẽ gắn trực tiếp module L293 lên Arduino nhưng sẽ thiếu chỗ cắm chân kết nối cho module Bluetooth. Vì thế, chúng ta cần phải hàn thêm chân kết nối này vào các lỗ trống trên mạch.
Hàn thêm chân kết nối (0 đến 7) cho Arduino
Hàn thêm chân kết nối cho L293
Bước 4: Hàn dây vào 4 động cơ của khung xe.
Nếu khung xe không có dây nối đến động cơ, chúng ta sẽ phải hàn dây vào các động cơ này.
Hàn dây vào động cơ
Sau khi hoàn thành việc hàn, kết quả sẽ như thế này. Các bạn đánh số các động cơ M1, M2, M3, M4 như thế này để sau này kết nối với module L293 một cách chuẩn xác.
Bước 5: Dán Arduino lên khung xe và kết nối dây động cơ
Các bạn dán bo mạch Arduino UNO R3 lên khung xe như hình minh họa dưới đây.
Cắm hai dây vào chân số 0 và số 1 (các chân kết nối mà chúng ta đã hàn thêm ở bước 2), dây này dùng để kết nối với module bluetooth ở bước tiếp theo.
Sau đó, cắm module điều khiển động cơ L293 lên bo mạch Arduino.
Bước 6: Kết nối dây của bốn động cơ vào module nguồn L293
Kết nối động cơ M1 và M2 với module L293
Nối dây của động cơ M1 và M2 (đã đánh số ở bước 3) vào chân M1 và M2 trên module L293
Kết nối động cơ M3 và M4 với module L293
Tương tự, chúng ta cũng nối dây của động cơ M3 và M4 (đã đánh số ở bước 3) vào chân M3 và M4 trên module L293
Bước 7: Liên kết module Bluetooth với Arduino
Nối nguồn cho module Bluetooth
Kết nối dây 5V và GND trên module Bluetooth vào dây 5V và GND trên module L293 (phần đã hàn thêm)
Nối dây tín hiệu cho module Bluetooth
Tiếp theo, nối dây TXD và RXD trên module Bluetooth vào chân số 0 và 1 trên Arduino (là hai dây đã cắm ở bước 4)
Bước 8: Kết nối nguồn và công tắc
Dán đế pin lên khung xe.
Nối nguồn cho xe
Sau đó, nối dây âm của đế pin vào chân GND của module L293D
Sau đó, hàn 2 dây vào công tắc như hình ảnh.
Rồi nối đầu dây dương (dây đỏ) của nguồn vào một dây của công tắc. Dây còn lại của công tắc nối vào chân M trên Module L293.
Như vậy, chúng ta đã hoàn thành các bước. Đây là thành quả của chúng ta!
Bắt đầu thôi!
Các bạn tải ứng dụng có tên Bluetooth RC Car từ CH Play về.
Ứng dụng có giao diện điều khiển như hình ảnh.
Ngoài việc điều khiển bằng cách bấm nút, bạn cũng có thể sử dụng cách điều khiển bằng cách nghiêng hoặc lắc điện thoại. Để biết thêm thông tin về cách kết nối điện thoại với xe, mời bạn xem video ở đầu bài viết.
Chúc mọi người đạt được thành công như mong đợi!
Xin chân thành cảm ơn Linh Kiện Hà Nội đã hỗ trợ chúng tôi hoàn thành bài viết này.
Nếu bạn có bất kỳ thắc mắc nào trong quá trình thực hiện, hãy tham gia nhóm Facebook tại đây để đặt câu hỏi và trao đổi ý kiến cùng mọi người.