你家里的玩具遥控车坏了?遥控器丢了?先不要急着丢掉,看完这篇教程,你可以自己动手把玩具遥控车改装成一个手机蓝牙控制的遥控车!
首先来张成品图
所需物品清单:
-
坏掉的遥控车*1 - Arduino uno主板*1(可替换为其他Arduino板子,拓展板可加可不加)
- TB6612电机驱动模块*1(可以替换为L298N电机驱动模块,但是效果差一点,感兴趣的可以自己了解)
- HC-05蓝牙模块*1
- 10kΩ电阻*1
- 20kΩ电阻*1
- 杜邦线以及跳线若干
- 9V电池以及转接接口(可自行替换成适合自己的电源)
- 洞洞板(焊接蓝牙模块)
- 焊接套件(用于焊接导线来连接小车)
- 安卓手机(苹果手机不支持HC-05蓝牙模块)
- 黑色电工胶布
不清楚TB6612电机驱动模块的可以看这篇文章任意门http://blog.csdn.net/ling3ye/article/details/51691201
点击打开链接
ps:本文的代码大部分也是由这篇文章的代码改来的
不清楚蓝牙模块如何使用的建议看看太极创客制作的教程http://www.taichi-maker.com/homepage/arduino-tutorial-index/mearm-index/mearm-17-bluetooth-arduino-1/
点击打开链接
硬件连接部分
我用了拓展板,没有也没关系
请照下面的接线图连接,连接好后可用电工胶布或螺丝把板子固定在你的遥控车地盘上
接线图(用Fritzing制作的)
蓝牙模块建议先看上面太极创客的教程使用一下,熟悉之后再焊接到洞洞板上。把HC-05蓝牙模块和两个电阻按上图焊好,下图是我自己焊的
如果你已经完成了硬件的连接,那么恭喜你,你已经完成80%了,剩下的就是程序与软件部分。
上传程序
loop函数里面的代码是我自己写的,其他是copy这位仁兄的http://blog.csdn.net/ling3ye/article/details/51691201
在此谢过这位仁兄
把下面的·代码复制到arduino IDE上传即可(注意,上传程序的时候一定要把蓝牙模块的tx和rx与arduino断开连接,否则会报错,原因是上传程序时tx与rx这两个接口会被占用)
[code]
//motor A后轮 connected between A01 and A02
//motor B转向connected between B01 and B02
//Xinpengmaker
int STBY = 10; //standby
char SerialData;
//Motor A
int PWMA = 3; //Speed control
int AIN1 = 9; //Direction
int AIN2 = 8; //Direction
//Motor B
int PWMB = 5; //Speed control
int BIN1 = 11; //Direction
int BIN2 = 12; //Direction
void setup(){
pinMode(STBY, OUTPUT);
pinMode(PWMA, OUTPUT);
pinMode(AIN1, OUTPUT);
pinMode(AIN2, OUTPUT);
pinMode(PWMB, OUTPUT);
pinMode(BIN1, OUTPUT);
pinMode(BIN2, OUTPUT);
Serial.begin(9600);
}
void loop(){
if (Serial.available()>0){
SerialData = Serial.read();
if (SerialData == 'w' ) {
Serial.print("Got command: "); Serial.println(SerialData);
move(1, 255, 0);
}
else if (SerialData == 'a' ) {
Serial.print("Got command: "); Serial.println(SerialData);
move(2, 255, 0); //motor 1, full speed, left
}
}
if (SerialData == 'd' ) {
Serial.print("Got command: "); Serial.println(SerialData);
move(2, 255,1); //motor 1, full speed, left
}else if (SerialData == 's' ) {
Serial.print("Got command: "); Serial.println(SerialData);
move(1, 255, 1); //motor 1, full speed
}
if (SerialData == '0' ) {
Serial.print("Got command: "); Serial.println(SerialData);
stop();
}
}
void move(int motor, int speed, int direction){
//Move specific motor at speed and direction
//motor: 0 for B转向 1 for A后轮
//speed: 0 is off, and 255 is full speed
digitalWrite(STBY, HIGH); //disable standby
boolean inPin1 = LOW;
boolean inPin2 = HIGH;
if(direction == 1){
inPin1 = HIGH;
inPin2 = LOW;
}
if(motor == 1){
digitalWrite(AIN1, inPin1);
digitalWrite(AIN2, inPin2);
analogWrite(PWMA, speed);
}else{
digitalWrite(BIN1, inPin1);
digitalWrite(BIN2, inPin2);
analogWrite(PWMB, speed);
}
}
void stop(){
digitalWrite(STBY, LOW);
}
[/code]
手机App下载及使用
如果你上面的步骤都完成了,那么不要急,接下来进行手机APP的安装和设置,你就可以通过蓝牙遥控你的小车了
第一步:拿出你的安卓手机,下载一个叫做“蓝牙串口助手”的软件
第二步:点击进入,APP会自动搜索你的蓝牙设备,搜索到后点击搜索出来的结果,进入后再点击“连接设备”
第三步:设备连接后,点击“键盘模式”
第四步:进入后点击右上角的“三个点”,再点击“设定长按发送频率”,设置为51,然后点击确定
第五步:然后再点击右上角的“三个点”,再点击配置键盘值,设置命令名称分别为前后左右。
第六步:按下发送值和长按发送值都用一样的,上下左右就分别是wsad,释放发送值都为0。
第七步:点击右上角的“三个点”,点击“保存键盘配置”,可以开车了!
欢迎关注我的微信公众号查看更多有关内容:新朋的实验室