首先需要配置蓝牙
两种蓝牙AT指令配置方法:
1、与USB转TTL相连后接入电脑,将波特率设置成9600,模块指示灯快闪,这时再按下模块的按钮便进入AT模式,这时打开串口助手,输入AT指令再回车就可以发送AT指令了。
2、与USB转TTL相连后接入电脑,将电源线断开一根,长按模块按钮,上电,然后松手,模块的指示灯慢闪,将波特率设置为38400便进入AT模式,打开串口助手,输入AT指令再回车就可以发送AT指令了。
文末附AT指令 集合
设备连接图如下
主要代码:
1、在上传代码之前,您必须安装必要的库
2、在点击编译上传按钮之前断开蓝牙模块的连接,否则您将收到编译错误消息。
3、安装AFMotor Library库方法: https://learn.adafruit.com/adafruit-motor-shield/library-install
4、下载完库之后打开 Arduino IDE >> go to sketch >> Include Libray >> ADD. ZIP Libray >> Select the downloaded ZIP File >> Open it >> Done
5、库安装成功后,您可以毫无问题地上传代码,但在上传代码时请确保蓝牙模块未与Arduino连接
#include <AFMotor.h>
//车轮控制定义
AF_DCMotor motor1(1, MOTOR12_1KHZ);
AF_DCMotor motor2(2, MOTOR12_1KHZ);
AF_DCMotor motor3(3, MOTOR34_1KHZ);
AF_DCMotor motor4(4, MOTOR34_1KHZ);
char command;
void setup()
{
Serial.begin(9600); //设置蓝牙波特率
void loop(){
if(Serial.available() > 0){
command = Serial.read();
Stop(); //initialize with motors stoped
//Change pin mode only if new command is different from previous.
//Serial.println(command);
switch(command){
case '1': //前进
forward();
break;
case '2': //后退
back();
break;
case '3': //向左
left();
break;
case '4'://向右
right();
break;
}
}
}
void forward()//前进
{
motor1.setSpeed(255); //定义差速
motor1.run(FORWARD);
motor2.setSpeed(255);
motor2.run(FORWARD);
motor3.setSpeed(255);
motor3.run(FORWARD);
motor4.setSpeed(255);
motor4.run(FORWARD);
}
void back()//后退
{
motor1.setSpeed(255); //定义差速
motor1.run(BACKWARD);
motor2.setSpeed(255);
motor2.run(BACKWARD);
motor3.setSpeed(255);
motor3.run(BACKWARD);
motor4.setSpeed(255);
motor4.run(BACKWARD);
}
void left()//向左
{
motor1.setSpeed(255);//定义差速
motor1.run(BACKWARD);
motor2.setSpeed(255);
motor2.run(BACKWARD);
motor3.setSpeed(255);
motor3.run(FORWARD);
motor4.setSpeed(255);
motor4.run(FORWARD);
}
void right()//向右
{
motor1.setSpeed(255); //定义差速
motor1.run(FORWARD);
motor2.setSpeed(255);
motor2.run(FORWARD);
motor3.setSpeed(255);
motor3.run(BACKWARD);
motor4.setSpeed(255);
motor4.run(BACKWARD);
}
void Stop()//停止
{
motor1.setSpeed(0); //速度为零停止
motor1.run(RELEASE);
motor2.setSpeed(0);
motor2.run(RELEASE);
motor3.setSpeed(0);
motor3.run(RELEASE);
motor4.setSpeed(0);
motor4.run(RELEASE);
}
AT指令集合
指令 | 功能 | 响应 |
AT | 识别是否进入AT模式 | OK |
AT+NAME / AT+NAME=< param > |