找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 7438|回复: 0
打印 上一主题 下一主题
收起左侧

用arduino进入蓝牙AT模式

[复制链接]
跳转到指定楼层
楼主
网上已经有很多介绍蓝牙进入AT模式后进行设置的方法了。但很多朋友手上只有arduino的板子,这个时候用一般的串口调试方法可能会有点麻烦,这里介绍一下怎样用arduino 的板子和arduino 的IDE来进入蓝牙的AT模式并设置。

可以用arduino板子,加其IDE,轻松检测蓝牙的AT。有两种方法:方法一:
首先蓝牙进入AT模式(现在的蓝牙模块上一般都有一个小按钮,按住按钮不要松手,然后给蓝牙上电就可以进入了)。
进入AT模式后,指示灯会以2s的速度亮灭亮灭。

蓝牙的5v接5v,GND接GND,EN接5v或3.3v;TX和RX接随便两个口,比如我这TX接8,RX接9。

arduino IDE中写入代码
#include <SoftwareSerial.h>
int txPin = 8;//接蓝牙TX口
int rxPin = 9;//接蓝牙RX口
SoftwareSerial BTSerial(txPin,rxPin);

void setup()
{  
  Serial.begin(9600);//  
  BTSerial.begin(38400);  // 这里设置蓝牙通信波特率,刚买来的一般是38400
}

void loop()
{
  if (BTSerial.available())//从蓝牙那里读取数据
    Serial.write(BTSerial.read());//打印在串口中


  if (Serial.available())//从串口读取数据,传给蓝牙
    BTSerial.write(Serial.read());
}

然后打开串口,设置波特率9600(和前面 Serial.begin(9600) 一致),换行的那里设置为Both NL & CR。
然后就可以了,输入AT等命令会有返回值。

方法二:
首先蓝牙进入AT模式。

蓝牙的5v接5v,GND接GND,EN接5v或3.3v;TX接arduino板子的TX,RX接RX。

这里不需要给arduino板子烧写程序,为了以前刷在板子里的程序的干扰,可以刷一个空程序进去,刷的时候要把蓝牙的RX TX线拔掉,或将电源线拔掉,不然会干扰程序写入。
arduino IDE:
void setup()
{   
}
void loop()
{
}
然后打开串口,设置波特率38400(这里要和蓝牙的波特率一致,刚买来的一般是38400),换行的那里设置为Both NL & CR。
然后就可以了,输入AT等命令会有返回值。

小结:前一种方法用了arduino库中的SoftwareSerial,用任意口去模拟rx tx,和蓝牙通信,由单片机传递从串口到蓝牙的双向的信息。
第二种方法没有用到单片机,只是借用了arduino板子上的串口的模块,将电脑的usb的信号转为蓝牙可以接受的信号。






方法二效果.jpg (220.83 KB, 下载次数: 112)

方法二串口展示

方法二串口展示

方法一效果.jpg (224.47 KB, 下载次数: 103)

方法一串口展示

方法一串口展示

评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏3 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表