单片机蓝牙模块接收不到指令

m0_54166652 2021-03-17 04:40:34
为什么arduino连接上蓝牙模块但是从手机上发出指令却无法执行
...全文
198 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复
深圳市大熊智能 LM76蓝牙模块是主从一体的蓝牙串口模块,简单的说,当蓝牙设备与蓝牙设备配对连接成功后,我们可以忽视蓝牙内部的通信协议,直接将将蓝牙当做串口用。当建立连接,两设备共同使用一通道也就是同一个串口,一个设备发送数据到通道中,另外一个设备便可以接收通道中的数据 工具和原料 LM76主从一体蓝牙模块 杜邦线及面包线:公对母、母对母或插在面包板上用面包线(公对公) arduino板,arduinoIDE编译环境 步骤 第一,我们还需要了解一下它的参数,才可以开始调试 ==规格参数==#模块工作角色:从模式#串口参数:38400bits/s 停止位1位无校验位#配对码:1234#设备名称:LM76#连接模式:任意蓝牙设备连接模式(恢复默认设置 AT指令:AT+RESET)#核心模块使用LM76从模块,引出接口包括VCC,GND,TXD,RXD,KEY引脚、蓝牙连接状态引出脚(STATE),未连接输出低,连接后输出高#led指示蓝牙连接状态,红蓝灯一起快闪表示没有蓝牙连接,慢闪表示蓝牙已连接并打开了端口#底板设置防反接二极管,带3.3V LDO,输入电压3.6~6V,未配对时电流约30mA,配对后约10mA,输入电压禁止超过7V!#接口电平3.3V,可以直接连接各种单片机(51,AVR,PIC,ARM,MSP430等),5V单片机也可直接连接,无需MAX232也不能经过MAX232!#空旷地有效距离30米(功率等级为CLASS 2),超过30米也是可能的,但不对此距离的连接质量做保证#配对以后当全双工串口使用,无需了解任何蓝牙协议,支持8位数据位、1位停止位、可设置奇偶校验的通信格式,这也是最常用的通信格式,不支持其他格式。#可以通过拉高34脚进入AT命令模式设置参数和查询信息#体积小巧,工厂贴片生产,保证贴片质量。防尘美观,且有一定的防静电能力。#可通过AT命令切换为主机或者从机模式,可通过AT命令连接指定设备#支持从2400bps~128000bps间的标准波特率 第二,接着我们就开始进入蓝牙模块的AT模式。 ==接口定义==*RXD:接收端*TXD:发送端*EN:设置工作模式(1、工作模式 2、AT指令设置模式)*VCC:模块供电正极(3V)*GND:模块供电负极==使用方法==LM76主要有两种方法进行AT设置,一种是用USB转TTL,另一种就是借助Arduino主板进行设置。按住LM76左上角的黑色按钮,再进行接线通电,指示灯间隔2秒闪烁一次,表示进入AT模式。如果指示灯连续闪烁很快,说明在工作模式,未进入AT模式。===使用方法1===#蓝牙与USB转串口模块连接方式,RXD-TX TXD-RX VCC-VCC GND-GND 第三,进入AT模式以后我们就可以对它的一些设置进行更改了。 要设置蓝牙AT指令,必须先进入AT模式,当蓝牙模块state灯变为慢闪,则表明已经进入AT模式。(将蓝牙模块与转串口模块对插,用跳线将AT对应的引脚接VCC)这时候将转串口模块接入电脑,打开超级终端或者串口调试助手便可以开始设置AT模式。打开串口调试助手,测试AT指令,找到相应串口号后,注意发AT指令时必须回车换行,AT指令只能在模块未连接状态下才能生效,一旦蓝牙模块与设备连接上,蓝牙模块即进入数据透传模式[AT指令不区分大小写,均以回车、换行字符结尾:\r\n ] 可能需要反复调试,一定需要一定耐心 其实LM76主从一体有两种,一种是有按钮,一种没有那个小按钮,其实都差不多 楼主有多的蓝牙模块可以送,需要开发产品的朋友可以联系我,江生 15989500950
深圳市大熊智能 LM77蓝牙模块是主从一体的蓝牙串口模块,简单的说,当蓝牙设备与蓝牙设备配对连接成功后,我们可以忽视蓝牙内部的通信协议,直接将将蓝牙当做串口用。当建立连接,两设备共同使用一通道也就是同一个串口,一个设备发送数据到通道中,另外一个设备便可以接收通道中的数据 工具和原料 LM77主从一体蓝牙模块 杜邦线及面包线:公对母、母对母或插在面包板上用面包线(公对公) arduino板,arduinoIDE编译环境 步骤 第一,我们还需要了解一下它的参数,才可以开始调试 ==规格参数==#模块工作角色:从模式#串口参数:38400bits/s 停止位1位无校验位#配对码:1234#设备名称:LM76#连接模式:任意蓝牙设备连接模式(恢复默认设置 AT指令:AT+RESET)#核心模块使用LM76从模块,引出接口包括VCC,GND,TXD,RXD,KEY引脚、蓝牙连接状态引出脚(STATE),未连接输出低,连接后输出高#led指示蓝牙连接状态,红蓝灯一起快闪表示没有蓝牙连接,慢闪表示蓝牙已连接并打开了端口#底板设置防反接二极管,带3.3V LDO,输入电压3.6~6V,未配对时电流约30mA,配对后约10mA,输入电压禁止超过7V!#接口电平3.3V,可以直接连接各种单片机(51,AVR,PIC,ARM,MSP430等),5V单片机也可直接连接,无需MAX232也不能经过MAX232!#空旷地有效距离30米(功率等级为CLASS 2),超过30米也是可能的,但不对此距离的连接质量做保证#配对以后当全双工串口使用,无需了解任何蓝牙协议,支持8位数据位、1位停止位、可设置奇偶校验的通信格式,这也是最常用的通信格式,不支持其他格式。#可以通过拉高34脚进入AT命令模式设置参数和查询信息#体积小巧,工厂贴片生产,保证贴片质量。防尘美观,且有一定的防静电能力。#可通过AT命令切换为主机或者从机模式,可通过AT命令连接指定设备#支持从2400bps~128000bps间的标准波特率 第二,接着我们就开始进入蓝牙模块的AT模式。 ==接口定义==*RXD:接收端*TXD:发送端*EN:设置工作模式(1、工作模式 2、AT指令设置模式)*VCC:模块供电正极(3V)*GND:模块供电负极==使用方法==LM76主要有两种方法进行AT设置,一种是用USB转TTL,另一种就是借助Arduino主板进行设置。按住LM76左上角的黑色按钮,再进行接线通电,指示灯间隔2秒闪烁一次,表示进入AT模式。如果指示灯连续闪烁很快,说明在工作模式,未进入AT模式。===使用方法1===#蓝牙与USB转串口模块连接方式,RXD-TX TXD-RX VCC-VCC GND-GND 第三,进入AT模式以后我们就可以对它的一些设置进行更改了。 要设置蓝牙AT指令,必须先进入AT模式,当蓝牙模块state灯变为慢闪,则表明已经进入AT模式。(将蓝牙模块与转串口模块对插,用跳线将AT对应的引脚接VCC)这时候将转串口模块接入电脑,打开超级终端或者串口调试助手便可以开始设置AT模式。打开串口调试助手,测试AT指令,找到相应串口号后,注意发AT指令时必须回车换行,AT指令只能在模块未连接状态下才能生效,一旦蓝牙模块与设备连接上,蓝牙模块即进入数据透传模式[AT指令不区分大小写,均以回车、换行字符结尾:\r\n ] 可能需要反复调试,一定需要一定耐心 其实LM77主从一体有两种,一种是有按钮,一种没有那个小按钮,其实都差不多 楼主有多的蓝牙模块可以送,需要开发产品的朋友可以联系我
1.首先是蓝牙APP, 易安卓编写的,说编写其实我只是修改了其中的一些内容,主要的部分都是易锦老师视频里的那个软件,不过我已经懂得了那些命令,(后面有工程文件,如果不 懂,可以去找易锦老师的视频来看,如果找不到,我这存的有),两张界面和代码截图,非常简单,功能也很简单,程序前后修改了两次主要地方,主要原因是测试 的时候发现第一种程序会出现错误,在单片机哪里会仔细说明! 操作界面,很简单,打开之后打开蓝牙,然后点击搜索设备,找到你的模块名字,点击之后就可以连接了,连接之后下面会显示蓝牙的名称和地址信息 2.单片机程序,这个程序也很简单,只要学过一些单片机程序的人应该都知道吧,串口通信,设置好通信的波特率,初始化工作做好,然后在串口中断程序里写上你要做的事情就可 以了,这里虽然说11.0592的晶振定时器初值为fd,但是如果用12m的晶振也是可以的,差距不多,没有问题。(说的不怎么专业,我也不是很专业的 人,所以请大神误喷,见笑了!)这里是修改前后的程序不一样的地方,前面的程序是单片机接收到数据之后读取前一次的IO状态,然后改变其状态,但是测试 的时候发现读取状态有错误,估计是我的电路有问题,第一个继电器可以正常工作,第二个和第三个都有问题,当第一个关闭的时候可以打开,但是当打开的了却不 能关闭,只能用关闭所有的命令来关闭,(找了一下午也没发现问题,元件换了几个都没找到,后来放弃了),后来就换了后面程序,直接发送状态命令,不用判断 当前的状态了,我觉得后面这种可能更好!而且实际测试的时候也可以,没有问题。(补充一下,我发现12M的晶振不能用11.0592M的数据,原因是定时 器计数产生的波特率与9600差距有点大,误差到达了8.5%左右,理论上误差要小于4%才能正常通信,所以通信有错误,虽然能通信,但是数据不对,后来 我把晶振换回来就可以了,看来要实践才知道真理。) 第 一、二张是修改之前的程序,有问题,最后一张是修改之后的,没有问题,后来仔细想了一下,后面一种才是正确的,前面一种的改变状态可能会出现错误,就是手 机上显示的开关是关的,然而实际电路中的电路是开着的(这也是没有数据回传的原因吧,现在只是单向的手机发,模块接的形式,以后再研究)!,但是后面一种 不会出现这个问题! 3.实物电路连接,我也是在测试,所以先用LED 等来代替继电器输出,然后才用到继电器上面。单片机直接放在我做的最小系统版上面,然后用导线来连接到蓝牙开关的小板子上,等测试无误之后再安装在上面, 不然不好写程序上去。输出接的是一个小电机,用的一个12v蓄电池代替220V电源,如果要用220V的电源,要注意安全了!提醒一下,绝缘一定要做好, 毕竟不是开玩笑的。简单说一下电路连接,首先你得需要焊接一个51单片机最小系统板,(如果这个都不会,那你需要先学习一下,不然肯定是没办法做的)然后是由三极管驱动继电器的电路,记得加二极管,不然三极管很有几率被击穿,最后是蓝牙模块单片机的连接,电源接好,一般蓝牙模块都是宽电压的,所以直接接到5V电源上,与单片机共用电源,不用什么电压转换,很方便的,把蓝牙模块的TX与单片机的RX连接,就是P3.0那个引脚,RX接单片机的TX,就是P3.1那个引脚,至于继电器哪里你需要接成常开还是常闭的模式就你自己决定了,当然还要加一点录滤波的,因为继电器启动的一瞬间电流很大,担心是单片机死机!这些就是主要的东西了!) 前一张是之前测试用的,后面一张是后来直接把单片机装上去的,看着没有那么乱了,可以看到,当手机上的开关23打开时,电路板上的灯23也是两的,表明继电器已经被打开了。 4.打完收工,作品完成好 了至此最简单的蓝牙开关就做好了,可以躺在床上遥控在远处的风扇了(好吧你们都用的是空调,当我没说!),定时关机(这个功能没做,不过原理都一样,自由 发挥了),其他神马的!感兴趣的同学可以试一下,比如说高级一点的外网控制的,把电脑作为服务器,把蓝牙模块接好,和控制器连接起来,然后让手机与电脑通 过互联网通信,用手机给电脑发送指令,再通过电脑给蓝牙模块发送指令,比如提前开个空调什么的(提前开风扇没用,还是开你们的空调吧),然后其他什么的东 西就自己发挥了!我想这个应该是属于传说中的物联网吧,虽然没有那么高大上,但是原理是一样的。

27,377

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 单片机/工控
社区管理员
  • 单片机/工控社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧