基于手机蓝牙遥控的万年历设计
2019-11-26林志谋
林志谋
(厦门海洋职业技术学院 机电工程系,福建 厦门 361012)
蓝牙技术联盟在2016年发布了第5代蓝牙技术,速度比上个版本的提升了2倍,有效距离达到了300米。蓝牙功能已经成为安卓手机和苹果手机的标准配置,使得利用手机遥控家居设备也成为一种趋势。
万年历是人们生活中经常使用到的一种计时工具,可以方便查询具体的时间和日期。本文设计了一种新型的万年历,主控模块用STC 单片机,生成时间信号用DS1302时钟芯片,温度传感模块采用DS18B20芯片,显示时间、日期和温度则采用LCD1602。蓝牙串口通信模块,通过与安卓手机端的蓝牙进行连接配对,从而接收从手机端APP 接收发送过来的时间和日期的调节指令,再把调节指令传递给单片机,然后单片机去调整液晶模块时间和日期的显示。对比红外遥控的控制方式,它不需要额外的控制终端,具有成本低廉,控制方便的优势,可以广泛应用于各种家电设备遥控的场合。
1 新型万年历软硬件系统设计
新型的万年历采用手机蓝牙进行遥控,该系统的设计总体框图如图1所示。
单片机主控模块采用STC公司的芯片作为主控,具有较高的速度,较低的功耗和超强抗干扰能力,具有很好的性价比[1]。温度模块采用DS18B20温度传感器。它连接简单方便,一条线就可以跟单片机模块双向通信;温度测量的范围宽,测量精度高,体积小巧、价格经济实惠,可以用来构建的经济可靠的温度测量系统。时间生成模块采用DS1302时钟芯片,DS1302具有较高的性能、较低的功耗,并且带RAM 的一种实时时钟电路[2]。蓝牙通信模块用HC-05蓝牙模块,这款主从一体蓝牙串口模块[3]具有较高的性能,使用蓝牙V2.0协议标准,在各种便携设备上广泛应用,比如电脑、手机、平板等智能终端,与单片机串口连接时,两者之间相互可以读写。液晶显示模块采用的LCD1602,它总共可以显示2行32个字符,价格便宜,性价比高,可满足简单的时间显示的要求[4]。
2 新型万年历软件设计
1)万年历主流程图。
新型万年历系统主流程如图2所示。整个模块上电初始化,通过定时器中断从DS1302、18B20读取数据,送到液晶显示时间和温度。蓝牙串口通信接收模块HC-05通过与安卓手机端的蓝牙进行连接配对,从而接收从手机端APP 接收发送过来的时间和日期的调节指令,再把调节指令传递给单片机,然后单片机去调整液晶模块时间和日期的显示。
图2 万年历软件设计主要流程图
2)温度采集模块软件设计。
温度采集模块软件设计流程如图3所示,通过写指令的方式来启动温度转换,等待并读取温度数值,循环读取直到所有数据读取完毕。
3)时钟模块软件设计。
先写时钟模块DS1302地址,再读取所需要的时钟数据,如此循环直到所有数据读取完毕。时钟模块读写的主要流程如图4所示。
4)液晶模块软件设计。
液晶模块先进行初始化,然后检测是否为忙,否的话再通过写地址和写数据指令完成字符的显示操作[3]。LCD1602软件设计流程如图5所示。
图3 温度模块软件设计主要流程图
图4 时间模块软件设计主要流程图
图5 液晶显示模块流程图
5)单片机和蓝牙串口通信的设计。
通过读写单片机的SBUF 数据缓冲器来完成数据的双向传输。单片机端采用Keil 作为开发环境,软件设计流程如图6。
图6 单片机端与蓝牙串口软件流程图
6)安卓手机控制软件的设计。
本文采用Android Studio 开发安卓手机的APP,利用它汇聚的 Android 开发工具可以方便用于开发和调试[5]。安卓平台可以支持手机蓝牙通信功能,可以跟其他蓝牙设备进行无线数据的传输。应用程序层通过安卓API 来使用手机蓝牙的相关功能[3],这些API 使程序无线连接到蓝牙设备,并拥有P2P 或者多端无线连接的特性。Android 提供BluetoothAdapter 类进行蓝牙通信,主要流程图如7所示。
图7 安卓手机与蓝牙串口模块的软件主要流程图
3 结语
本系统设计了新型的万年历,以单片机STC90C516RD+为处理主要控制核心,日期和时间调整的远程控制可以用安卓手机蓝牙遥控的方法。单片机成本低,可靠性高,而安卓手机蓝牙遥控便于远程控制,降低生产成本,易于使用,使得利用手机遥控家电设备成为一种新的趋势。