怎样用arduino arduino间蓝牙连接接

温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!&&|&&
喜欢写程序,喜欢学新东西
LOFTER精选
网易考拉推荐
用微信&&“扫一扫”
将文章分享到朋友圈。
用易信&&“扫一扫”
将文章分享到朋友圈。
& 测试的时候只使用了RX、TX、GND、5V这四个引脚,测试的连接示意图如下,需要注意的是蓝牙模块的RX要接Arduino的TX,蓝牙模块的TX要接Arduino的RX:& 测试代码使用的是参考文献1中的代码,代码如下:char data = 0;void setup(){
Serial.begin(9600);
pinMode(13, OUTPUT); }void loop(){
if(Serial.available() & 0)
data = Serial.read();
Serial.print(data);
Serial.print("\n");
if(data == '1')
digitalWrite(13, HIGH);
else if(data == '0')
digitalWrite(13, LOW);
}} 实物连线图如下:& 演示视频:注意:一开始测试的时候使用的是iPhone5,结果在蓝牙界面中死活收不到hc-05的设备(原因可以参考文献2-3),后来换了一个三星的手机,很快就搜索出来了,但是开始的时候下了几个蓝牙串口调试助手,要么检测不到蓝牙连接,要么检测到了连接不上,最后下了一个名称为蓝牙串口的软件,版本为5.4.3,图标为蓝底带大写字母SPP,使用这个软件可以正常地进行蓝牙串口通信。参考文献:[1]https://create.arduino.cc/projecthub/user/arduino-bluetooth-basic-tutorial-d8b737[2]/forum/beginners/hc05-bluetooth-and-iphone/[3]/questions/141112/connecting-iphone-to-hc-05-bluetooth-module&
阅读(246)|
用微信&&“扫一扫”
将文章分享到朋友圈。
用易信&&“扫一扫”
将文章分享到朋友圈。
历史上的今天
在LOFTER的更多文章
loftPermalink:'',
id:'fks_',
blogTitle:'Arduino使用蓝牙通信模块',
blogAbstract:'\t在淘宝店中买的HC-05主从机一体蓝牙模块,该模块的正面和反面截图如下:&\t测试的时候只使用了RX、TX、GND、5V这四个引脚,测试的连接示意图如下,需要注意的是蓝牙模块的RX要接Arduino的TX,蓝牙模块的TX要接Arduino的RX:',
blogTag:'arduino,蓝牙,hc-05',
blogUrl:'blog/static/',
isPublished:1,
istop:false,
modifyTime:6,
publishTime:5,
permalink:'blog/static/',
commentCount:0,
mainCommentCount:0,
recommendCount:0,
bsrk:-100,
publisherId:0,
recomBlogHome:false,
currentRecomBlog:false,
attachmentsFileIds:[],
groupInfo:{},
friendstatus:'none',
followstatus:'unFollow',
pubSucc:'',
visitorProvince:'',
visitorCity:'',
visitorNewUser:false,
postAddInfo:{},
mset:'000',
remindgoodnightblog:false,
isBlackVisitor:false,
isShowYodaoAd:false,
hostIntro:'喜欢写程序,喜欢学新东西',
hmcon:'0',
selfRecomBlogCount:'0',
lofter_single:''
{list a as x}
{if x.moveFrom=='wap'}
{elseif x.moveFrom=='iphone'}
{elseif x.moveFrom=='android'}
{elseif x.moveFrom=='mobile'}
${a.selfIntro|escape}{if great260}${suplement}{/if}
{list a as x}
推荐过这篇日志的人:
{list a as x}
{if !!b&&b.length>0}
他们还推荐了:
{list b as y}
转载记录:
{list d as x}
{list a as x}
{list a as x}
{list a as x}
{list a as x}
{if x_index>4}{break}{/if}
${fn2(x.publishTime,'yyyy-MM-dd HH:mm:ss')}
{list a as x}
{if !!(blogDetail.preBlogPermalink)}
{if !!(blogDetail.nextBlogPermalink)}
{list a as x}
{if defined('newslist')&&newslist.length>0}
{list newslist as x}
{if x_index>7}{break}{/if}
{list a as x}
{var first_option =}
{list x.voteDetailList as voteToOption}
{if voteToOption==1}
{if first_option==false},{/if}&&“${b[voteToOption_index]}”&&
{if (x.role!="-1") },“我是${c[x.role]}”&&{/if}
&&&&&&&&${fn1(x.voteTime)}
{if x.userName==''}{/if}
网易公司版权所有&&
{list x.l as y}
{if defined('wl')}
{list wl as x}{/list}查看: 33061|回复: 34
arduino间通过蓝牙模块建立通讯
本帖最后由 弘毅 于
22:35 编辑
& && &网上有很多单片机接蓝牙模块连接手机和电脑的教程。这里我做个非主流一点点的= =,就是两块arduino之间的蓝牙通信。因为发现网上貌似没有太具体的教程(反正我做的时候没找到)。我就来发一贴交流下自己的经验。
& & arduino用的是2块mango板子。蓝牙模块用到是open jumper的。。= =我知道很贵,是白富美学姐给我的{:soso_e144:} 。。
未命名.jpg (16.56 KB, 下载次数: 55)
OJ的蓝牙模块
21:11 上传
PS:这里提醒下新手= =虽然这个模块的插针插在arduino上的TX RD上刚刚好合适,不过千万不能用IO口一个一个给高一个给低模拟VCC和GND哦!!不然模块工作会很不正常。。。好吧只是提醒,我知道只有我这个傻 X&&会烦这样的错误。
首先,我们先把一个蓝牙模块设置成主机,一个设置成从机。
首先是主机的设置。
/*用于蓝牙模块的主机的设置,配置方法很多,这里只使用从arduino对模块设置AT指令的方法(= =嗯我知道我非主流)。
即把程序导入arduino后将USB和电脑!断开!。
连接模块,再连接USB(确保电脑中未开启arduino IDE或相关串口软件!!),就可以完成AT设置。之后断开模块的电源(不断会导致程序写入arduino发生错误。),连接USB导入相关程序(测试程序在2楼)即可。
Ps:一定要断开保证有关串口的软件保持关闭才能完成设置,否则系统会把写入信息写到电脑上而不是蓝牙模块里。*/
#define AT 2
#define LED 13
void setup()
{
&&pinMode(LED,OUTPUT);&&
&&pinMode(AT,OUTPUT);&&
&&digitalWrite(AT,HIGH); //AT的电平给高,用于输入AT指令
&&Serial.begin(9600);//这里应该和你的模块通信波特率一致
&&delay(100);
&&Serial.println(&AT&);
&&delay(100);
&&Serial.println(&AT+NAME=ICAT-BT01&);//命名模块名
&&delay(100);
&&Serial.println(&AT+ROLE=1&);//设置主从模式:0从机,1主机
&&delay(100);
&&Serial.println(&AT+PSWD=0000&);//设置配对密码,如1234
&&delay(100);
&&Serial.println(&AT+UART=&);//设置波特率9600,停止位1,校验位无
&&delay(100);
&&Serial.println(&AT+RMAAD&);//清空配对列表
&&delay(100);
&&Serial.println(&AT+BIND=146&);//设定从机的地址,保持格式一致。
&&delay(100);
&&Serial.println(&AT+CMODE=0&);//开启自动连接
&&delay(100);
}
void loop()
{
&&digitalWrite(LED, HIGH);& & /*只用于证明程序导入arduino成功,和设置蓝牙模块无关*/
&&delay(500);
&&digitalWrite(LED, LOW);
&&delay(500);
}复制代码
从机的设置代码:
/*和主机设置差不多,不过不用给定从机的地址和开启自动连接。设置方法同主机,要保持电脑的串口软件关闭*/
#define AT 2
#define LED 13
void setup()
{
&&pinMode(LED,OUTPUT);&&
&&pinMode(AT,OUTPUT);&&
&&digitalWrite(AT,HIGH); //AT的电平给高,用于输入AT指令
&&Serial.begin(9600);//这里应该和你的模块通信波特率一致
&&delay(100);
&&Serial.println(&AT&);
&&delay(100);
&&Serial.println(&AT+NAME=ICAT-BT02&);//命名模块名
&&delay(100);
&&Serial.println(&AT+ROLE=0&);//设置主从模式:0从机,1主机
&&delay(100);
&&Serial.println(&AT+PSWD=0000&);//设置配对密码,如1234
&&delay(100);
&&Serial.println(&AT+UART=&);//设置波特率9600,停止位1,校验位无
&&delay(100);
&&Serial.println(&AT+RMAAD&);//清空配对列表
}
void loop()
{
&&digitalWrite(LED, HIGH);
&&delay(500);
&&digitalWrite(LED, LOW);
&&delay(500);
}复制代码
再次声明,对蓝牙模块的AT设置可以有很多种方法,这里只说明了用arduino设置的方法。注意USB和IDE的关闭。
再次PS:不关闭IDE和串口软件会导致设置无法输入模块里哦!(好吧= =其实我也不确定,只不过关掉了安心)
二楼上测试连接模块的程序= =求不插!
本帖最后由 弘毅 于
22:44 编辑
实验过程:让主机每300ms通过通过串口向从机发送一个信号。从机接到信号后用13 口的led做出反应。程序导入同正常导入一样(导入前请断开模块的电源!!)。不过通信过程最好关闭串口软件,包括arduino IDE。
主机程序:
setup()
{
&&Serial.begin(9600);//设定波特率为9600
}
void loop()
{
&&delay(300);& &&&
&&Serial.print('0');//通过串口发送一个’0’字符
&&delay(300);
&&Serial.print('1');
}
从机程序:
void setup()
{
&&pinMode(13,OUTPUT);
&&Serial.begin(9600);
}
void loop()
{
&&char cd=Serial.read(); //从串口读取一个字符
&&if(cd=='1')
& & digitalWrite(13,HIGH);
&&if(cd=='0')
& & digitalWrite(13,LOW);
& & delay(100);
}复制代码
上效果图,不过看不出效果= =
未命x名.jpg (115.86 KB, 下载次数: 105)
21:33 上传
{:soso_e104:}不错。赞一个。沙发是我的。
好教程,地板是我的。楼主的研究精神非常值得赞赏,我也想过给蓝牙用arduino pin脚直插供电的可能,不过没有实践。请问楼主,有没有用蓝牙下载过arduino程序,除了设置波特率为115200,还有什么讲究吗,我一次都没有成功过。(不管怎么按Reset键
seuabb 发表于
好教程,地板是我的。楼主的研究精神非常值得赞赏,我也想过给蓝牙用arduino pin脚直插供电的可能,不过没有 ...
没试过,因为的我电脑蓝牙有问题,也没安装网上那些教程里的配对软件。我记得论坛里不是有个教程贴吗?你去哪里问问那个楼主??
·················
怎么得到从机arduino 从机的地址呢? 求指教~
nierixin 发表于
怎么得到从机arduino 从机的地址呢? 求指教~
好久没上这个论坛了。我当时的方法是用AT指令设置他为从机后用我的手机连接他。手机可以看到设备的mac地址
教程很详细,学习啦
下载了代码到ARDUINO里还不知道什么方法设置蓝牙,有谁知道,能详细的说下,谢谢!!
Powered by【Arduino】开发入门【十】蓝牙模块
&首先show一下新入手的蓝牙模块&
蓝牙参数特点
1.蓝牙核心模块使用HC-06从模块,引出接口包括VCC,GND,TXD,RXD,预留LED状态输出脚,单片机可通过该脚状态判断蓝牙是否已经连接
2.led指示蓝牙连接状态,闪烁表示没有蓝牙连接,常亮表示蓝牙已连接并打开了端口
3.输入电压3.6~6V,未配对时电流约30mA,配对后约10mA,输入电压禁止超过7V!
4.可以直接连接各种单片机(51,AVR,PIC,ARM,MSP430等),5V单片机也可直接连接
5.在未建立蓝牙连接时支持通过AT指令设置波特率、名称、配对密码,设置的参数掉电保存。蓝牙连接以后自动切换到透传模式
6.体积&3.57cm*1.52cm
7.该蓝牙为从机,从机能与各种带蓝牙功能的电脑、蓝牙主机、大部分带蓝牙的手机、Android、PDA、PSP等智能终端配对,从机之间不能配对。
Arduino 与蓝牙模块连接方法
VCC:接Arduino的5V。GND:接Arduino的GND。
TXD:发送端,一般表示为自己的发送端,接Arduino的RX。RXD:接收端,一般表示为自己的接收端,接Arduino的TX。正常通信时候本身的TXD永远接设备的RXD!正常通信时RXD接其他设备的TXD,
自收自发:顾名思义,就是自己接收自己发送的数据,即自身的TXD直接连接到RXD,用来测试本身的发送和接收是否正常,是最快最简单的测试方法,当出现问题时首先做该测试确定是否产品故障。也称回环测试。
线接好后,把Arduino上电后,蓝牙的指示灯是闪烁的,表明没有设备连接上。
如图所示,LED常亮,已经和Android手机连接
Arduino 调试源代码
void setup()
Serial.begin(9600);
void loop()
while(Serial.available())
char c=Serial.read();
if(c=='A')
Serial.println("Hello I am amarino");
将代码复制粘贴到IDE,烧录程序到Arduino
Arduino 蓝牙与Android 通信的实现
  首先下载Android的蓝牙管理软件&Amarino&
  下载地址&
  支持二维码下载
  安装上Amarino 后,启动Android的蓝牙,打开Amarino客户端
  在右下角Add BT Device中就能找到蓝牙的名字,
  在点击connect后,会弹出输入PIN的弹框,蓝牙默认PIN为1234,这里就没有截图说明了
&  如图为连接成功后的界面
  点击Monitoring 可以看到蓝牙的连接信息如图
  连接成功之后,就是要看数据发送时候正常。这里直接点击send就可以实现发送
  参考Arduino代码,当Arduino接收都A符号时,就会在COM输出对应内容,则表明蓝牙通信正常 如图
  以上就是Arduino蓝牙模块与Android实现通信,希望对大家有所帮助
//////////////////////////////////////////////
原创声明 转载请注明
感谢大家的推荐和收藏
你的支持! 我们的动力!
阅读(...) 评论()Arduino通过蓝牙控制直流电机_图文_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
Arduino通过蓝牙控制直流电机
阅读已结束,下载文档到电脑
想免费下载本文?
定制HR最喜欢的简历
下载文档到电脑,方便使用
还剩3页未读,继续阅读
定制HR最喜欢的简历
你可能喜欢

我要回帖

更多关于 arduino 蓝牙串口通讯 的文章

 

随机推荐