51单片机通过HC06蓝牙模块向手机发送数据,下位机程序怎么写?

51单片机通过HC06蓝牙模块向手机发送数据,下位机程序怎么写?,第1张

下位机的程序就是串口接收,单片机处理后再返回,这只能满足玩玩,一个实用的发送~接收~处理~返回,还要保证传输数据的可靠,准确,是一个较大的程序,不过我有一个现成的,你可以看看

现如今,每个人的手机都配有蓝牙功能,我们可以用蓝牙传输数据,连接耳机以及控制一些自带蓝牙功能的电子设备。我们也可以使用蓝牙模块配上单片机就可以轻松实现手机控制LED灯,电机,智能小车,机器人等各种设备。让我们的创作实现无线控制。

下面我们就来介绍一种性价比极高的蓝牙模块:HC-06从机蓝牙模块。

BLE蓝牙的角色有以下几种:广播者(Advertise)、扫描者(Scanner)、从设备(Slave)、主设备(Master)、发起者(Initiator),其中主设备是由发起者、扫描者转化而来,从设备则是由广播者转化而来;蓝牙模块通信是指两个蓝牙模块或蓝牙设备之间进行通信,进行数据通信的双方一个是主机,一个是从机。

主模式与从模式的区别:主机是指能够搜索别人并主动建立连接的一方,从机则不能主动建立连接,只能等别人连接自己。

HC-05是主从一体化的蓝牙串口模块,主从可指令切换,指令丰富齐全。

HC-06是主从一体化的蓝牙串口模块,主从可指令切换,指令少于HC-05,使用简单。

这次使用的是蓝牙HC-06是从模块,也就是从机模块,我们的手机就是主模块。主机可以与从机配对,从机不能和从机配对。如果要两个单片机通信,那就至少一个是有主机功能的,要是两个都是从机是通信不了的。

引脚定义:

重要提示:

下面我们就用一台手机控制一个点阵屏的亮暗和不同图案显示。

硬件设备:

接线图:

将点阵模块的DIN、CS、CLK分别连到Arduino10/11/12数字引脚上,连接电源和接地线;蓝牙模块的TXD:连接ArduinoRXD接收端;RXD连接ArduinoTXD发送端,连接电源和接地线。

下面是实物图;图中Arduino模块增加了扩展板,方便接线。

程序:

手机蓝牙通讯app:

在进行控制之前,我们需要在手机端安装蓝牙调试工具。在手机应用商店里搜索“蓝牙调试器”。我选择的是这款工具,体积小, *** 作简单,功能强大。

效果展示:

安装APP后,蓝牙连接HC-06模块;

我们选择按钮控制模式;将其中四个按键名词改为:关闭,打开, ,笑脸;并将按下按键的发送代码分别改为:0,1,2,3。

现在大功告成,分别按下:关闭、打开、 、笑脸,点阵屏就会按照对应的方式显示:

只要我们在加上不同的执行器,就可以用手机蓝牙控制步进电机,舵机,灯等等,实现各种功能了。一起来试试吧。

在毕设中,如果需要使用蓝牙模块,通常需要开发一个相应的App来进行蓝牙通信。这个App可以用于控制蓝牙设备、传输数据等。但是,是否需要自己开发蓝牙模块App,需要根据具体的情况来决定。
首先,如果使用的是已有的蓝牙模块,那么通常会有相应的App可供使用,这时候可以直接使用现成的App,无需自己开发。但是,如果需要自己定制功能,或者使用的蓝牙模块没有相应的App可用,那么就需要自己开发蓝牙模块App了。
其次,开发蓝牙模块App需要具备一定的技术能力,如Android或iOS开发等。如果毕设的主要内容不是开发App,或者没有相关的技术能力,那么可以考虑借助第三方库或者委托其他人来开发。
最后,需要考虑的是时间和成本。开发一款稳定的蓝牙模块App需要一定的时间和技术支持,如果时间和成本有限,就需要权衡是否值得花费这些资源来开发蓝牙模块App。
总之,是否需要自己开发蓝牙模块App,需要结合具体情况来决定。如果条件允许,自己开发一个蓝牙模块App可以提高毕设的完成度和实用性。

蓝牙与单片机可以采用如下几种方法进行通讯:
1 I2C端口,只需要2根线,连接简单,但编写协议和信号程序对时序要求较为严格。
2 UART口,通用串行口的一种,至少需要4根线,连接后编写信号连接程序即可。
3 SPI口,与UART差不多,属于串行口一类。也需要4根线,但对信号的要求可以在一定范围变化,也需要编写连接程序。
4 除此之外还可以采用I/O仿UART或SPI的方式,这种方式要求编程者对串口时序比较了解,灵活性较高。

常见问题如下:
调模块总是让人很头疼,有时候遇到一些其实很简单的问题也找不到原因,着实难受。这里写一点我在配置HC05遇到的一些常见的问题和对策。
1      新手的接口容易出错。
受网络端口同名端相连的固定思维影响,新手可能认为蓝牙的串口的接口RX对主机的RX,TX对主机的TX,其实这样完全错误,其实正好相反。道理很简单,举个例子,两个人要交流,他们的嘴巴互相与对方的耳朵“相连”才能交流。即应该一个的发送接(TX)连接另一个的接收(RX)。不只是蓝牙,串口都是这样接的。
2      AT指令码问题。
串口助手调试时发送指令码有十六进制和文本模式,一般使用文本模式除非你闲的没事非用十六进制hex模式。与HC06的发送直接AT指令不同,HC05文本模式下通信调试指令是发送AT+换行(输入AT敲一下回车便可)。
3      蓝牙串口APP中搜索不到设备。
有的人在手机上下载了蓝牙串口APP但是打开连接搜索不到设备。原因可能是你的手机并没有与蓝牙配对。这里我们应该先通过手机蓝牙与搜索到蓝牙模块设备与蓝牙进行配对(下边左图),然后在串口APP搜索中就能找到蓝牙设备并进行连接
4 如何进入AT指令。
HC05进入AT指令有两种方式(手册上有,这里只是强调一些容易忽视或者手册说的不太明白的东西),一种是固定波特率38400进入AT指令(楼主认为是为了避免AT指令被修改后用户不知道通信波特率而造成不必要的麻烦)。设置方法为:先按住按键,然后蓝牙上电,略等一秒或者更长的时间,松开按键,此时可见看到2s闪烁间隔方式闪烁。说明已经进入AT指令设置。便可以在串口助手上设置波特率为38400后进行通过发送AT指令对蓝牙进行相关配置。另一种是上电后按一下按键,便进入AT指令设置(指示灯闪烁频率依旧没什么变化),该设置的波特率是可变的,所以要事先知道蓝牙已经设置的波特率才能 *** 作(模块一般默认波特率为9600)。
5.HC05与主从一体模块与HC06从模块配对通信。首先要把HC05配置为主模块,配置好最好查询一下蓝牙当前状态,确定模块当前状态是主模块状态;然后配置两个模块的配对密码为相同的密码即可。上电后主模块会自动搜寻附近的蓝牙从机并配对连接,如果配对密码相同就可已完成配对。所以上电等待配对即可,配对完成后就可以理解为两个蓝牙相接的的串口连接在了一起

其实这个主要是因为这两个设置之间没有连接过才会要求你输入配对码呢。
蓝牙设备第一次连接会要求你输入配对码。至于配对码在那里就需要看你使用那个作为被链接设备。两台电脑其中一台会现实这个配对码的。你们在连接的时候注意就可以。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/13160533.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-06-13
下一篇 2023-06-13

发表评论

登录后才能评论

评论列表(0条)

保存