arduino的智能小车的功能3:蓝牙遥控
arduino智能小车小车的蓝牙遥控
材料清单:
HC-05的蓝牙模块;
arduino的智能小车一台;
杜邦线若干:
首先我们需要在电脑上下载串口调试软件,并进行蓝牙的调试,确保蓝牙模块可以正常使用和可以进行通信,手机端下载SPP蓝牙串口,可以进行信息的传送还有终端的接收显示,还可以进行按键和开关的编辑。
下面是串口调试软件,在上面进行正确的设置,然后确认蓝牙模块可以正常发送和接收信息,即可进行蓝牙模块在小车上的安装。
注意RX和TX的反接。
下载程序时RX,TX上面不要接东西。
接下来是代码。
代码段的思路是,当接收到1时,小车直行,当接收到2时,小车后退,当接收到3时,小车左转,当接收到4时,小车右转,其他命令时,小车暂停。
#include <Servo.h>
Servo s; //舵机
int mL1=6;//左1
int mL2=5;
int mR1=11;//右1
int mR2=3;
void setup()
{
s.attach(9);//舵机信号线
s.write(68);//舵机初始化角度
Serial.begin(9600);
pinMode(mL1,OUTPUT);
pinMode(mL2,OUTPUT);
pinMode(mR1,OUTPUT);
pinMode(mR2,OUTPUT);
}
void loop()
{
if(Serial.available())
{
char num = Serial.read();
Serial.println(num);
if(num == '1'){
line();
}else if(num == '2'){
back();
}else if(num == '3') {
L();
}else if(num == '4'){
R();
}else{
lull();
}
}
}
void line(){//直线
analogWrite(mL1,30);
analogWrite(mL2,LOW);
analogWrite(mR1,30);
analogWrite(mR2,LOW);
delay(300);
}
void lull(){//暂停
digitalWrite(mR1,LOW);
digitalWrite(mL1,LOW);
digitalWrite(mR2,LOW);
digitalWrite(mL2,LOW);
delay(10);
}
void back(){//后退
analogWrite(mL1,0);
analogWrite(mL2,40);
digitalWrite(mR1,LOW);
analogWrite(mR2,40);
delay(0);
}
void R(){//右转
analogWrite(mL1,70);
analogWrite(mL2,0);
analogWrite(mR1,0);
analogWrite(mR2,53);
delay(600);
}
void L(){//左转
analogWrite(mL1,0);
analogWrite(mL2,20);
analogWrite(mR1,60);
analogWrite(mR2,0);
delay(600);
}