Tự tay làm xe oto điều khiển từ xa qua bluetooth có ảnh, video

Từ nhỏ, chúng ta chắc hẳn ai cũng đã được nhìn thấy hoặc chơi thử những chiếc xe điều khiển từ xa. Vậy với Arduino, làm sao để chúng ta có thể tạo ra những chiếc xe như vậy và điều khiển nó qua Bluetooth. Ở bài viết này mình sẽ cùng với các bạn bắt tay vào làm một chiếc xe điều khiển từ xa đơn giản. Hi vọng qua bài viết này, các bạn sẽ tự mình sáng tạo them những chiếc xe “hoành tráng” hơn và hay hơn cả là những chú robot nhiều tính năng điều khiển qua Bluetooth.

>> Hướng dẫn làm robot tự tránh vật cản sử dụng cảm biến siêu âm

CHUẨN BỊ

LKRB24 BỘ KHUNG XE ROBOT 3 BÁNH 1 TẦNG - MICA

MDL29 MODULE ARDUINO UNO R3

MDL64 MODULE BLUETOOTH HC05

MDL104 MODULE ĐIỀU KHIỂN ĐỘNG CƠ L298 ĐỎ

LẮP RÁP:

Ráp mọi linh kiện lại với nhau sơ đồ sau:

oto điều khiển bằng bluetooth

 

 

 

 

NẠP CODE CHO ARDUINO:

Cách làm:

1. Cài IDE để nạp chương trình cho mạch Arduino tại địa chỉ:   http://arduino.cc/en/Main/Software

2. Cắm mạch arduino vào máy tính và nạp vào đoạn mã sau:

#include                
#include                
int bluetoothTx = 2;               
int bluetoothRx = 3;               
SoftwareSerial bluetooth(bluetoothTx, bluetoothRx);               
// Motor 1 - control forward and fack               
int Motor1A = 5;               
int Motor1B = 6;               
//Motor 2 - control left and right              
int Motor2A = 9;               
int Motor2B = 10;               
void setup()               
{                 
//Setup Bluetooth serial connection to android                 
bluetooth.begin(115200);                 
bluetooth.print("$$$");                 
delay(100);                 
bluetooth.println("U,9600,N");                 
bluetooth.begin(9600);                                                   
pinMode( Motor1A, OUTPUT );                 
pinMode( Motor1B, OUTPUT );                
digitalWrite( Motor1A, LOW );                 
digitalWrite( Motor1B, LOW );                                  
pinMode( Motor2A, OUTPUT );                 
pinMode( Motor2B, OUTPUT );                
digitalWrite( Motor2A, LOW );                 
digitalWrite( Motor2B, LOW );              
}              
int flag1 = -1;               
int flag2 = -1;               
void loop()               
{                 
//Read from bluetooth and write to usb serial                 
if(bluetooth.available())                 
{                   
char toSend = (char)bluetooth.read();                  
if(toSend == 'S')                   
{                       
flag1 = 0;                       
flag2 = 0;                       
digitalWrite( Motor1A, LOW );                       
analogWrite( Motor1B, LOW );                                              
digitalWrite( Motor2A, LOW );                       
analogWrite( Motor2B, LOW );                   
}                   
if(toSend == 'F' || toSend == 'G' || toSend == 'I')                   
{                      
if(flag1 != 1)                       
{                         
flag1 = 1;                         
digitalWrite( Motor1A, HIGH );                         
analogWrite( Motor1B, 50 );                       
}                  
}                   
if(toSend == 'B' || toSend == 'H' || toSend == 'J')                  
{                       
if(flag1 != 2)                       
{                         
flag1 = 2;                         
digitalWrite( Motor1B, HIGH );                        
analogWrite( Motor1A, 50 );                       
}                   
}                   
if(toSend == 'L' || toSend == 'G' || toSend == 'H')                   
{                      
if(flag2 != 1)                       
{                         
flag2 = 1;                        
digitalWrite( Motor2B, HIGH );                        
analogWrite( Motor2A, 50 );                      
}                   
}                   else                   
if(toSend == 'R' || toSend == 'I' || toSend == 'J')                   
{                       
if(flag2 != 2)                       
{                         
flag2 = 2;                         
digitalWrite( Motor2A, HIGH );                         
analogWrite( Motor2B, 50 );                       
}                   
}                   else                   
{                      
if(flag2 != 3)                       
{                         
flag2 = 3;                         
digitalWrite( Motor2A, LOW );                        
analogWrite( Motor2B, LOW );                       
}                   
}                 
}               
}               

 

 

 

3. Tải app cho android "ARDUINO BLUETOOTH RC CAR" trên Chplay: https://play.google.com/store/apps/details?id=com.buncaloc.carbluetoothrc

Mở bluetooth và kết nối với HC05 MÃ pin thường là 0000 hoặc 1234

Mở app và điều khiển

 

 

Làm Mới
Bài viết cùng chuyên mục