Arduino 蓝牙遥控小车

有段时间没有更新帖子,现在闲来再玩了下蓝牙小车,留个帖子。

直接用了OJ小车套件,配上蓝牙,简单方便,然后自己也蛋疼的用VB写了个小软件测试(不会写软件,大家不要笑哈,望大伙有兴趣的可以帮忙写个软件测试),下面说明制作步骤

步骤一:材料准备

1、小车套件(包含小车车体电机加轮子,arduino主控器,L298电机扩展板,传感器扩展板)

2、蓝牙(HC-05)

3、蓝牙适配器

4、蓝牙软件安装




步骤二:小车调试

用简单电机驱动程序,先让小车动起来,确定小车能跑,这里不多说了,可以参照之前的帖子

http://www.arduino.cn/forum.php?mod=viewthread&tid=1198

步骤三:下载小车示例程序到arduino

[C] 纯文本查看 复制代码

void motor(char pin,char pwmpin,char state,int val)
{
pinMode(pin, OUTPUT);

if(state==1)
{
analogWrite(pwmpin,val);
digitalWrite(pin,1);
}
else if(state==2)
{
analogWrite(pwmpin,val);
digitalWrite(pin,0);
}
else if(state==0)
{
analogWrite(pwmpin,0);
digitalWrite(pin,0);
}
}

void runfoward(int i)
{
motor(4,5,1,i);
motor(7,6,1,i);
}
void runback(int j)
{
motor(4,5,2,j);
motor(7,6,2,j);
}
void turnL(int m)
{
motor(4,5,1,m);
motor(7,6,2,m);
}
void turnR(int n)
{
motor(4,5,2,n);
motor(7,6,1,n);
}
void stop()
{
motor(4,5,0,0);
motor(7,6,1,0);
}
void setup()
{
Serial.begin(9600);
}
void loop()
{
while (Serial.available() > 0) {
int inChar = Serial.read();
inChar=inChar-0x30;
if(inChar == 1) //foward
{
runfoward(250);
delay(300);
stop();
}
else if(inChar == 2) //back
{
runback(250);
delay(300);
stop();
}
else if(inChar == 3) //R
{
turnR(250);
delay(300);
stop();
}
else if(inChar == 4) //L
{
turnL(250);
delay(300);
stop();
}
else
{
stop();
}
inChar=0;
}
}



步骤四:连接蓝牙

1、插上蓝牙适配器,打开千月蓝牙软件(安装好蓝牙软件为前提)



2、小车插上蓝牙,给小车上电,观察蓝牙state灯为快闪状态

3、 蓝牙软件搜索设备



4、配对,密码默认是1234



5、配对成功后建立连接,蓝牙LINK指示灯常亮表明连接成功



步骤五:打开控制软件



打击打开串口,输入你的蓝牙串口号就可以控制小车啦




PS:用VB写的软件和配合这蓝牙软件有点小问题就是 ,VB能自动识别到的串口号最大为16(不然得写API,对于软件小白的我没有多大吸引力),
而有时候蓝牙设备和电脑自动连接上时有可能串口号就七十多,这样就得把连接上的串口端号手动改到16以下,不然这样的话就没有法控制小车了,
所以总结了下,用VB写软件有点过时了,望有兴趣的同志给做个漂亮的软件,呵呵,手上正在调试一个朋友写的安卓控制蓝牙小车软件,等改好就立即发布。
也望新手学习,高手勿喷。
via - arduino中文社区

标签: Arduino教程