aruino四轮蓝牙小车控制

本文介绍了如何配置蓝牙模块进入AT模式,并提供了两种方法。通过串口助手发送AT指令进行设置,如波特率、名称和密码等。同时,展示了如何用Arduino控制四轮智能车,根据接收到的字符指令实现前进、后退、左右转向。文章末尾给出了常见的蓝牙AT指令集,包括设备连接、复位和配对等操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

首先需要配置蓝牙

两种蓝牙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 >
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

惑星撞地球

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

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

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

打赏作者

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

抵扣说明:

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

余额充值