把时髦的技术挂在嘴上,不如把过时的技术记在心里!
本篇创建记录:2024-12-28
本篇更新记录:2024-12-28
欢迎关注
点赞
收藏
留言
【实验图片】
【演示视频】
【项目实训】非接触式红外温度测量仪(蓝牙APP版、微信小程序版)
目录
一、设计要求
1. 通过非接触式红外温度测量传感器,获取当前温度值(四种工作模式:人体额头温度模式、人体手腕温度模式、物体温度模式、环境温度模式)。
2.液晶屏显示当前工作的模式及温度值。
3.按键可调节切换工作模式、温度单位。
4.通过手机蓝牙APP、微信小程序两种方式显示当前温度。
二、方案选择
1.设计思路
本系统采用51单片机作为主控制器,通过红外温度测量传感器获取当前温度值(人体温度、物体表面温度、环境温度),通过液晶屏LCD1602显示,同时通过蓝牙模块将当前温度发送给手机,手机端通过蓝牙APP和微信小程序两种方式进行查看。原理图如下所示;
2.主控制器
本作品选用51类单片机STC889LE52RC,注意这是和STC89C52RC单片机是功能一致,但是供电电压不同,STC89C52RC采用5V供电,STC89LE52RC是3.3V供电。选用3.3V供电单片机原因:红外温度测量传感器GD60914是2.4V~3.6V供电,为了保持兼容,所以作者更换一贯使用的STC89C52RC单片机,选用STC89LE52RC单片机,功能相同。
3.红外温度传感器
本作品选用深圳市谷德科技有限公司的红外温度传感器GD60914AE,该系列产品如下:
GD60914主要性能参数:
◆0.1℃ 高测量精度, - 30℃ ~ 550℃ 宽测温域
◆覆盖近、 中、 远距离精准测温, 20MS高速测温( 快速模式)
◆全球唯一支持I2C / UART通讯可选
◆高度集成 无需二次开发 使用极简
◆内置温度算法 不惧环境温干扰 无温漂
◆人体、 物体、 环境多种测温模式可选
此模块通信接口可选I2C或者串口Uart,因为此作品中单片机串口需要预留给蓝牙模块,最终方案选用I2C通信接口的模块GD60914AE(视场角FOV=100,温度测量范围-30℃至550℃)。
GD60914的工作模式:
(1)人体温度测量模式,又细分:①额头温度测量模式;②手腕温度测量模式
(2)物体温度测量模式
(3)环境温度测量模式
每种工作模式,采用的算法不同。
4.液晶显示
液晶显示选用3.3V供电的液晶屏LCD1602,主要是为了匹配单片机STC89LE52RC,3.3V供电的液晶屏LCD1602的硬件连接电路、软件驱动程序均和5V供电的LCD1602一致,实物如图所示:
【插入图片】
这里不做过多介绍,只说明一下其连接电路中的两个小技巧,原理图部分如下图:
技巧一:LCD1602第三个引脚为什么连接2.2K电阻到GND?
LCD1602的的第三个引脚,这里直接连接了2.2K电阻接到GND,这里大多数电路中采用的都是连接可调电阻,通过手动调节电阻值,可以调节LCD1602显示的对比度(可以通俗理解为显示的是否清晰),作者为什么连接了固定阻值的电阻,原因有三个:
①根据实际实验经验值,连接2.2K电阻时,显示效果较好,较为清晰。
②如果连接可调电阻,新手不知道调节阻值,最后作品出来以后,液晶屏显示没有效果,就无法确定是因为硬件阻值调节不合适,导致显示不清晰,还是因为软件程序有错,新手就无法继续进行后面的实验,也就失去了兴趣。
③连接一个固定的阻值,在保障显示效果较好地前提下,可以保障一批作品效果是一样的。想象一下,连接固定阻值的电阻到GND,只要程序OK,作品一定是效果较好的,但是如果连接可调电阻,一批作品(比如说出品200个此作品),还需要每一个手动去调节显示效果,保障液晶屏“显示出来文字”,不然用户拿到作品,发现液晶没有显示(因为可调电阻阻值没有调节到合适的位置),这样无形中增加了工作量。
技巧二:LCD1602连接时,如何减少单片机IO的?
LCD1602可以节省单片机IO口的方法:
①RW引脚直接连接GND,这样单片机可以节省一个IO口,不过程序也需要适当修改,因为RW引脚连接GND后,单片机无法通过“读”操作,查看LCD1602是否“在忙”,所以软件程序也要适当修改,不需要通过“读忙”操作确定LCD1602的状态,在“写命令”“写数据”函数中适当增加延时函数,给LCD1602预留一点时间,以确保单片机发给LCD1602的“命令”或“数据”可以正常被LCD1602识别、执行。
②采用4线、IIC方式通信,平时大家使用LCD1602都是8线方法进行通信,实际还可以通过4线方式(软件程序法)发送数据 或通过IIC通信(需要搭配相应的硬件)方法通信,具体方法不介绍,有兴趣的可以试试看。
5.按键输入
作品采用独立按键方式进行控制,实际效果如图所示:
6.蜂鸣器
作品中的蜂鸣器并非报警,而是当每次按键被按下并松手后,蜂鸣器响一声,表示单片机检测到了按键动作,因为51单片机执行程序,是从上至下执行,有可能当用户按下按键的时候,单片机正在执行其他部分代码,导致单片机没有及时识别到按键动作,这里为了增加体验感,设置了蜂鸣器的效果。(这里蜂鸣器也采用了3.3V供电的模块、且采用有源蜂鸣器)
7.蓝牙模块
作品采用深圳市新一信息技术有限公司的蓝牙方案XY-MBO26A模块,该模块采用3.3V供电,默认串口配置为9600bps,模块蓝牙名称为NB-XXX(可通过AT命令修改)