【教程】蓝牙小车制作详细过程
arduino吧
全部回复
仅看楼主
level 11
先来晒一下我的小车[吐舌]
昨天搞了一天的蓝牙小车终于好了,现在在这里分享一下经验,和大家交流相互学习一下,希望大神多多指教哈 [哈哈]。首先呢,先来说一下,制作所需要的材料。硬件方面:L298驱动模块、蓝牙模块(我用的是HC-05)、小车底盘、当然了还少不了Arduino UNO、软件方面: 蓝牙串口助手(app store里面就可以下载,如果实在找不到,可以找我[呵呵]), 下面上图片[吐舌]
原谅我盗了几张图[笑眼]
对于L298驱动模块的话,相信大家都不会陌生,才子精品教程里面讲的很详细,这里我就不多说了,
那就来说说蓝牙模块吧啊,在蓝牙模块使用之前一定要先设置好,否则根本连不上手机[啊]
设置的话有多种方法,我是通过Arduino设置的,将代码下载到Arduino里,然后将蓝牙模块接到Arduino上,然后按一下Arduino上的复位按钮(这里需要注意的是先下载程序,然后接蓝牙,顺序不能搞错,否则的话会下载错误)
代码如下:
#define AT 2
#define LED 13
void setup()
{
pinMode(LED,OUTPUT);
pinMode(AT,OUTPUT);
digitalWrite(AT,HIGH);
Serial.begin(38400);//这里应该和你的模块通信波特率一致
delay(100);
Serial.println("AT");
delay(100);
Serial.println("AT+NAME=OPENJUMPER-Bluetooth");//命名模块名
delay(100);
Serial.println("AT+ROLE=0");//设置主从模式:0从机,1主机
delay(100);
Serial.println("AT+PSWD=1234");//设置配对密码,如1234
delay(100);
Serial.println("AT+UART=9600,0,0");//设置波特率9600,停止位1,校验位无
delay(100);
Serial.println("AT+RMAAD");//清空配对列表
}
void loop()
{
digitalWrite(LED, HIGH);
delay(500);
digitalWrite(LED, LOW);
delay(500);
}
这里注意下蓝牙模块的接线:
蓝牙模块:RX——TX:Arduino
TX——RX
state——2
GND——GND
VCC——VCC
当你看到Arduino 上的LED闪烁的时候说明蓝牙模块已经设置好了
待会继续[哈哈]
2015年06月10日 01点06分 1
level 3
请问楼主用的什么手机,什么蓝牙控制软件?
2015年06月10日 01点06分 2
vivo 蓝牙串口助手
2015年06月10日 01点06分
小米手机用哪个呢?在哪里下载啊?
2015年10月25日 13点10分
蓝牙模块(我用的是HC-05)这个你用的是带底板的吗?
2016年03月21日 01点03分
回复 擎洛霆 :没试过,估计应该可以[开心]
2016年05月04日 15点05分
level 11
接下来就是接线的问题了,闲话少说上图
2015年06月10日 01点06分 3
大神,这一套要多少钱[哈哈]
2015年10月03日 14点10分
楼主,state脚怎么用,求教
2015年10月05日 08点10分
搞个加舵机的小车,试试可不可以漂移。
2015年10月23日 13点10分
回复6G_together:可以有[吐舌]
2015年10月24日 04点10分
level 11
几个主要的问题已经解决差不多了[哈哈]
2015年06月10日 02点06分 4
问下楼主,第一段程序最后的LOOP是做什么的?没看懂~
2018年03月11日 10点03分
为什么还要设置13引脚
2018年03月11日 10点03分
level 11
刚才的图片看的好像效果不是太好[呵呵],再来二张
2015年06月10日 02点06分 5
这是哪个软件画的啊,求楼主告知下
2016年01月26日 07点01分
回复二货898:freetzing好像是,我可能拼错了。。
2016年01月26日 07点01分
@二货898 fritzing
2016年04月16日 05点04分
回复星空lovinghome:嗯,对的
2016年04月16日 05点04分
level 5
9v电池供电?能跑几分钟啊
2015年06月10日 02点06分 6
9V供电效果的确不好,打算用12V的
2015年06月10日 02点06分
@第五大道de清晨 请问两节3.7V的电池能用不?
2015年10月01日 13点10分
level 8
你这个电池够供电?
2015年06月10日 02点06分 7
如你所言,效果不好,打算用12V的,[委屈]
2015年06月10日 02点06分
回复尤迪安itachi:是的
2015年07月23日 11点07分
楼主可不可以分开供电
2015年08月17日 01点08分
@第五大道de清晨 其实你可以用继电器
2016年03月25日 15点03分
level 11
最后上代码,我用的是4,5,6,7, 四个I/O口,如果用其他的,只需要将代码稍作改动即可。
各个数字作用如下: 1——左转,2——前进,3——右转,4——左转圈,5——急停,6——右转圈,7——向后左,8——向后,9——向后右。共九个指令[钱]
代码如下:
#define IN1 4
#define IN2 5
#define IN3 6
#define IN4 7
void forward();
void back();
void turnLeft();
void turnRight();
void turnbackLeft();
void turnbackRight();
void turnLeftOrigin();
void turnRightOrigin();
void _stop();
void setup()
{ pinMode(IN1,OUTPUT);
pinMode(IN2,OUTPUT);
pinMode(IN3,OUTPUT);
pinMode(IN4,OUTPUT);
Serial.begin(9600);
}
int i;
void loop()
{ if(Serial.available())
{ i= Serial.read();
switch(i)
{ case'1':{ turnLeft();break;}
case'2':{ forward();break;}
case'3':{turnRight();break;}
case'4':{turnLeftOrigin();break;}
case'5':{_stop();break;}
case'6':{turnRightOrigin();break;}
case'7':{turnbackLeft();break;}
case'8':{back();break;}
case'9':{turnbackRight();break;}
}
}
}
void forward()
{ digitalWrite(IN1,HIGH);
digitalWrite(IN2,LOW);
digitalWrite(IN3,HIGH);
digitalWrite(IN4,LOW);
}
void back()
{ digitalWrite(IN1,LOW);
digitalWrite(IN2,HIGH);
digitalWrite(IN3,LOW);
digitalWrite(IN4,HIGH);
}
void turnLeft()
{ digitalWrite(IN1,LOW);
digitalWrite(IN2,LOW);
digitalWrite(IN3,HIGH);
digitalWrite(IN4,LOW);
}
void turnbackLeft()
{ digitalWrite(IN1,LOW);
digitalWrite(IN2,LOW);
digitalWrite(IN3,LOW);
digitalWrite(IN4,HIGH);
}
void turnRight()
{ digitalWrite(IN1,HIGH);
digitalWrite(IN2,LOW);
digitalWrite(IN3,LOW);
digitalWrite(IN4,LOW);
}
void turnbackRight()
{ digitalWrite(IN1,LOW);
digitalWrite(IN2,HIGH);
digitalWrite(IN3,LOW);
digitalWrite(IN4,LOW);
}
void turnLeftOrigin()
{ digitalWrite(IN1,LOW);
digitalWrite(IN2,HIGH);
digitalWrite(IN3,HIGH);
digitalWrite(IN4,LOW);
}
void turnRightOrigin()
{ digitalWrite(IN1,HIGH);
digitalWrite(IN2,LOW);
digitalWrite(IN3,LOW);
digitalWrite(IN4,HIGH);
}
void _stop()
{ digitalWrite(IN1,LOW);
digitalWrite(IN2,LOW);
digitalWrite(IN3,LOW);
digitalWrite(IN4,LOW);
}
2015年06月10日 02点06分 8
程序分两次导入吗,还是把两个程序整合到一起导入
2017年05月11日 05点05分
楼主 这里是接着上面的程序继续写进去嘛?
2017年12月28日 09点12分
回复
��������de�峿
:可以调整电机转速
2015年07月15日 09点07分
设置电机转速的程序是什么?
2015年07月17日 05点07分
level 11
接下来打开手机上的蓝牙串口助手软件,连接HC-05,密码为1234,
连接成功后发送指令就可以了[哈哈]
2015年06月10日 02点06分 9
楼主,我用的软件是spp,他键盘控制还需要自己在按钮编辑器里设置,怎么设置啊,
2015年10月26日 10点10分
楼主,如果想用蓝牙和手机相连,需要在手机下什么软件?都在那能下? 谢谢了[开心]
2016年05月22日 07点05分
@loko米 知道了[汗]。。上面就有
2016年05月22日 08点05分
level 11
到这里蓝牙小车的制作就完成了[哈哈]
2015年06月10日 02点06分 10
楼主,可不可以自己设计一个手机控制界面额,自定义的
2015年06月28日 03点06分
回复小菜鸟也会飞:额,,应该可以,,但是我不会[哈哈]
2015年06月28日 08点06分
回复 小菜鸟也会飞 :可以,e4a,
2015年10月26日 02点10分
回复爱着你的梳子:e4a?[疑问]
2015年10月26日 05点10分
level 11
自己定[哈哈]
2015年06月10日 02点06分 11
level 11
@春泥蛋炒饭 可以申精不?[开心]
2015年06月10日 02点06分 12
不错,内容很详细,加精。还可以加新的创意
2015年06月10日 03点06分
回复春泥蛋炒饭:谢谢[哈哈]
2015年06月10日 03点06分
level 11
@龙头大佬V7 。。我的小车做好了[呵呵]
2015年06月10日 02点06分 13
你做了什么?
2015年07月08日 13点07分
回复龙头大佬V7:?
2015年07月09日 03点07分
你是做的是巡迹吗?
2015年07月10日 01点07分
回复龙头大佬V7:蓝牙
2015年07月10日 04点07分
level 12
吧主发过类似的帖子了[哈哈],不过还是给你顶一下。对小白还是有用的
2015年06月10日 02点06分 14
感谢[汗]
2015年06月10日 02点06分
话说你的小车走起来会不会跑偏?
2015年06月10日 02点06分
回复故作深城:怎么可能,当然不会[汗]
2015年06月10日 02点06分
我会让我你是在帮我顶贴[哈哈]
2015年06月10日 02点06分
level 3
我的手机搜不到蓝牙模块,欲哭无泪啊!
2015年06月10日 04点06分 15
估计是蓝牙模块没有设置好
2015年06月10日 06点06分
一般不用重新设置,买的时候默认的就可以,别忘了设置波特率
2015年10月22日 04点10分
回复 九零后的老伯 :怎样设置波特率啊
2015年11月19日 16点11分
@Sayjan Serial.begin(9600); 要根据你的蓝牙串口来设
2015年12月11日 10点12分
level 11
赶上直播了
2015年06月10日 04点06分 16
level 11
收了
2015年06月10日 04点06分 17
多谢顶贴[哈哈]
2015年06月10日 06点06分
楼主,能加个好友么?我有问题想问问你,急呀
2018年04月14日 14点04分
level 7
咱俩的方案一样,我的用红外,蓝牙正在学习中
2015年06月10日 05点06分 18
那我也要学习一下红外了[哈哈]
2015年06月10日 06点06分
还是wifi实用点
2015年06月10日 08点06分
一直没学过红外,怎么控制呢
2015年06月11日 10点06分
用红外库
2015年10月22日 05点10分
level 7
总的下来 要多少钱呢?
2015年06月10日 06点06分 19
不算Arduino uno的话70左右
2015年06月10日 09点06分
回复第五大道de清晨:可以把你的材料链接tb发给我一下吗
2015年06月10日 09点06分
回复却之却之:什么资料?蓝牙串口助手?
2015年06月10日 09点06分
回复第五大道de清晨:不是!我说你买的淘宝店铺链接发一下~
2015年06月10日 09点06分
1 2 3 4 5 6 尾页