aruino四轮蓝牙小车控制

首先需要配置蓝牙

两种蓝牙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 >询问名字 / 设置名字+NAME:< param >OK
AT+RNAME?< param1>获取远程蓝牙设备名称:

1、+NAME:< param2> OK

2、FAIL

AT+PSWD / AT+PSWD=< param >询问密码 / 设置密码+PSWD:2333OK

AT+UART /AT+UART=< param >

< param >< param >

询问波特率/设置波特率

(默认9600,0,0)

+UART:< param>

< param >< param >OK

AT+ROLE/AT+ROLE=< param >

询问主从模式/设置主从模式

(返回值:0从;1主)

+ROLE:< param>OK
AT+ADDR/AT+ADDR=< param >询问/更改模块地址+ADDR:< param>OK
AT+RMAAD清除配对列表OK
AT+RESET复位(重启)OK
AT+ORGL恢复默认状态OK
AT+ IAC?询问访问码+IAC: < param>OK
AT+CMODE/AT+CMODE=< param>

询问/设置连接方式

(0:指定蓝牙地址连接

1:任何蓝牙地址连接

2:回环角色)

+ CMODE:< param>OK
AT+PMSAD=< param>

从蓝牙配对列表中

删除指定认证设备

OK
AT+STATE询问蓝牙工作状态+ STATE: < param> OK
AT+VERSION?获取软件版本号+VERSION:< param>OK
AT+INQ

询问蓝牙设备

(蓝牙地址 设备类 信号强)

+INQ: < param1>,

< param2> <param3>OK

AT+INQC取消查询蓝牙设备OK
AT+ENSNIFF=< param>进入节能模式OK
AT+EXSNIFF=< param>退出节能模式OK
AT+LINK=< param>设备连接

OK/FAIL; Param:

远程设备蓝牙地址

AT+DISC断开连接

1、+DISC:SUCCESS OK;

2、+DISC:LINK_LOSS OK;

3、+DISC:NO_SLC OK;

4、+DISC:TIMEOUT OK;

5、+DISC:ERROR OK

AT+PAIR=< param1>,< param2>设备配对

1、OK——成功;

2、FAIL——失败 Param1:

远程设备蓝牙地址;

Param2:连接超时(秒)

AT+INIT初始化 SPP规范库1、OK——成功;2、FAIL——失败
AT+MRAD?获取最近使用过的蓝牙认证设备地址

+ MRAD :< param> OK ;

Param:最近使用过的蓝牙设备地址

AT+ADCN?获取蓝牙配对列表中认证设备数

+ADCN:< param> OK;

Param:配对列表中蓝牙设备数

AT+FSAD=< param>从蓝牙配对列表中查找指定的认证设备1、OK——成功 2、FAIL——失败
AT+RMAAD从蓝牙配对列表中删除所有认证设备OK

AT+SENM=< param>,

< param2>,AT+ SENM?

设置/查询安全、加密模式

1、OK——成功

2、FAIL——失败 + SENM:

< param>,< param2>,OK

AT+SNIFF=< Param1>,

< Param2>,< Param3>,

< Param4> / AT+IPSCAN?

设置/查询—SHIFF节能参数

OK +SNIFF: < Param1> ,

< Param2> ,< Param3>

< Param4>

AT+MPIO?查询 PIO端口输入+MPIO:< Param> OK
AT+PIO=< Param1>,< Param2>设置 PIO 单端口输出OK
AT+MPIO=< Param>设置 PIO 多端口输出OK
AT+BIND=< Param>/AT+ BIND?设置/查询—绑定蓝牙地址OK + BIND:< param> OK
  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

惑星撞地球

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值