摘要:
本系统以单片机STC89C51为核心,使用红外传感器作为感应器,检测是否有人要进行温度测量,将检测的结果转化为电信号传输至单片机中。单片机再进行判断是否启用红外测温传感器进行温度数据采集。将采集的数据送至单片机进行计算、处理后传输到OLED显示屏进行显示,并且由MP3播放器进行播报温度是否正常。
二、系统硬件的具体设计与实现
2.1系统原理和框图
非接触式智能测温系统的硬件组成如下图2-1所示。本系统主要由STC89C51单片机及其外围电路、红外检测传感器、红外测温传感器、显示装置、MP3播放器等五部分组成。单片机循环检测由红外传感器检测传输来的电信号,据此产生的电信号来判断是否有人,同时红外测温传感器进行相应的工作方式。当检测到有人靠近时,红外测温传感器开始运行,此时OLED显示屏上将会显示当前检测者的温度,并且进行语音播报温度是否正常(体温在36.2°—37.2°之间播放:体温正常且绿灯亮起;否则,播报体温异常且红灯亮起)。如果没有人靠近,OLED显示屏将会在2秒之后进行熄屏。此时红外传感器继续检测是否有人。
图2-1系统设计框图
2.2主控芯片
该作品采用了STC89C51作为控制核心,对每个模块传送过来的数据进行处理并发送。该单片机是一种低功耗、高性能CMOS8位微控制器,具有8K字节系统可编程Flash存储器,拥有灵巧的8 位CPU 和在系统可编程Flash,使得STC89C51为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。内部看门狗定时器、低电压复位和低电压检测等内部保护特性。
2.3红外测温传感器
2.3.1红外测温原理
红外测温系统是采用红外测温模块接收不同光谱,经过STC89C51单片机处理后在OLED显示模块上显示不同数字来实现的。物体或人的不同温度反应出不同的光谱,红外测温系统发射一束光到物体或人的表面,然后反射到红外测温模块中接收,其物体或人的温度的光谱经过红外测温模块处理后,将以数字信号传给单片机,再由OLED显示模块显示出来。
2.3.2 GY-906的特点
(1)应用范围广泛,适用于恒温控制、工业系统、消费类产品、温度计或任何热敏系统。
(2)体积小巧,可安装于狭小的空间范围内,进行温度测量。
(3)易集成。
(4)3V和5V电源电压。
(5)节能工作模式。
(6)车用级别标准。
2.4红外感应传感器
该传感器对环境光线适应能力强,其具有一对红外线发射与接收管,发射管发射出一定频率的红外线,当检测方向遇到障碍物(反射面)时,红外线反射回来被接收管接收。经过比较器电路处理之后绿色指示灯会亮起,同时信号输出接口输出数字信号(一个低电平)。该传感器的探测距离可以通过电位器调节、具有干扰小、便于装配、使用方便等特点。
2.5显示装置
OLED(Organic Light-Emitting Diode)有机发光二极管又称为有机激光显示、OLED显示技术具有自发光的特性、采用非常薄的有机材料涂层和玻璃基板、当有电流通过时、这些有机材料就会发光、而且OLED显示屏幕可视角大、功耗低、OLED由于同时具备自发光、不需背光源、对比度高、厚度薄视角广、反应速度快、可用于挠曲面板、使用温度范围广、结构及制程等优异之特性、先接触的1286屏都是LCD的、需要背光、功耗较高,而OLED的功耗低、更加适合小系统、由于两者发光材料的不同、在不同的环境中、OLED的显示效果好、模块供电可以是3.3v也可以是5v、不需要修改模块电路、OLED屏具有多个控制指令、可以控制OLED的亮度、对比度、开关升压电路等指令、操作方便、功能丰富、可显示汉字、ASCII、图案等、同时为了方便应用在产品上、预留4个M3固定孔、方便用户固在机壳上。
2.6 MP3播放器
YS-M3语音播放器的特点有:
(1)触发一次播放一次。
(2)9个触发端口,直接触发播放。
(3)结合单片机IO口编码触发播放31首MP3。
(4)内部带3W功放,满足大部分应用要求。
三、系统软件设计
3.1 程序描述
程序中主要用到的知识点有:单片机定时器、红外测温传感器的I2C通信方式和温度计算、OLED的显示、延时函数的调用以及LED灯的亮灭等。其中,单片机中的定时器尤为重要,主要用于产生固定时间,也可以作为UART等外设的频率发生器。
3.2 程序设计思路
红外感应传感器一旦检测到有人靠近,红外测温模块开始采集温度数据并送至单片机进行计算,再将单片机计算出来的数据进行比较,若在正常范围值,则单片机发送一个低电平信号到MP3播放器进行播报“体温正常”且绿灯亮起。否则,播报“体温异常”且红灯亮起。同时,OLED显示屏也将从单片机得到处理完的温度数据进行显示当前检测温度,若在两秒后没人检测温度,OLED显示屏将会熄灭。此时红外感应传感器持续检测是否有人。
3.3 程序流程图
作品的程序流程图如下图3-1所示,红外感应传感器一旦检测到有人,将会发送一个低电平信号到单片机中,单片机即发出开始信号START,紧接着在总线上发出寻址信号(AddressByte),其地址信息的读/写控制位为1时,表示对GY-906进行读操作。单片机接收到GY-906的应答信号,通信建立起来,接着GY-906发送温度数据的高8位。单片机则开始一位一位的接收GY-906发出的温度数据,然后保存,完成8位数据接收后,单片机便发送一个应答信号。GY-906收到应答信号后,再发送温度数据的低8位。单片机收到并保存低8位数据后,单片机在紧随的下一个周期拉高SDA,发送不应答信号。由此单片机将得到十六位二进制数并加以处理,变成十进制的BCD码,最后通过显示屏显示出来。
图3-1系统程序流程图
四、系统创新
1、相对于额温枪而言,该作品采用了智能感应,实现了非接触式红外测温,可以有效地解决检测者被感染的问题。
2、在OLED显示温度的基础上,增加了智能语音播报系统,免去了人眼去获取数据的步骤。
3、在GY-906红外测温的探头上添加了菲涅尔光学透镜,增加了红外探头的测试距离,也使整个测试系统更加稳定。
五、相关调试
5.1 电前检查
任何电子电路在组装好之后,都必须要进行线路检查,以免出现短路。检查的方法就是按照一定顺序对照着电路图进行逐级检查,其中要特别注意电源是否连接正确,电源与地是否有短接,集成电路和晶体管的引脚是否连接正确,用手轻轻触动一下元器件看焊点是否焊牢等等。
5.2 通电检查
将所需电源电压数值先调试好之后,就可以接通电路电源。电源接通之后,先观察电路是否出现异常现象,例如出现冒烟、异常气味以及器件发烫等等。如果出现上述异常现象就应该立即断开电源,在确保 排除故障后才能再次接通电源。然后,测量每个集成块的电源引脚电压是否正常,确保集成电路已进行正常的通电工作。
5.3 软件调试
硬件调试完之后还要进行软件调试,就是将程序写入到单片机的存储器中来实现整个实物的设计功能。
六、结论
体温数据需高度准确,以利于医护人员及时采取防控措施。在体温筛查中,应用非接触式智能测温系统进行体温初步筛查安全、有效,测量时间短,节约时间,降低感染风险,节省工作人员劳动量等。
在此次非接触式智能测温控制系统的设计中,让我感觉到了单片机应用的广泛性,它很贴切我们的日常生活,应用无处不有,它并不是想象中的那么复杂。在设计中,要充分了解所用芯片的使用条件及输入输出的特性,这样才能避免因使用错误而多走弯路。电路设计部分应该有的精神就是广集资料。只凭借自己头脑中的知识是远远不够的。哪里出现了问题,就要翻书本,或上网查资料。当然也要开动自己的脑筋怎样使系统电路更完美。例如我的设计是非接触式智能测温系统。有非接触式测温,自然会用到红外测温传感器,每种红外测温传感器都有不同的特性和功能,你就要进行选择了。例如对红外测温传感器的选择,你就要选择你所熟悉的、所了解的。在电路设计时,应充分发挥单片机的记忆运算、判断控制能力,避免采用复杂的、稳定性较差的模拟电路。为了使微机控制系统各种硬件设备能够正常运行,有效地实现作品的相关功能,除了要设计合理的硬件电路,还必须要有高质量的软件支持,两者相辅相成,共同维持系统的正常运作。
#include "reg52.h"
#include "stdio.h"
#include "LQ12864.h"
#include "GY906.h"
#include "eepom.h"
sbit hongwai=P1^5; //红外感应传感器
sbit MP3_1 = P2^4; //语音播放异常
sbit MP3_2 = P2^5; //语音播放正常
sbit LED1 = P1^2; //红色LED灯
sbit LED2 = P1^3; //绿色LED灯
float wendu_change;
unsigned int temp_int;
unsigned int temp ;
unsigned int ceshi ;
uint temp_[3]={0};
uint biaohao_num_[3]={0};
uchar diaplay_5s = 0; //读取显示
uchar flage_5s; //5s计时
uint zhancun;
uchar first_flage = 1;
/*
红外感应传感器 P1^5;
语音播放 P2^4/P2^5
LED P1^2/P1^3
oled 端口定义
sbit SCL_OLED=P1^0; //串行时钟
sbit SDA_OLED=P1^1; //串行数据
//GY-906 端口定义
sbit SCL=P2^6;// 时钟线
sbit SDA=P2^7;// 数据线
*/
void oled_gd_diaplay()
{
OLED_P16x16Ch(70,0,0); //温
OLED_P16x16Ch(90,0,1); //度
OLED_P16x16Ch(110,0,2); //:
// dxzm('.',70,0); //.
}
void oled_wendu()
{
char i;
if(temp > 0)
{
if (0 == diaplay_5s)
{
OLED_P16x16Ch(0,0,3); // 闽
OLED_P16x16Ch(20,0,4); // 南
OLED_P16x16Ch(40,0,5); // 科
OLED_P16x16Ch(60,0,6); // 技
OLED_P16x16Ch(80,0,7); // 学
OLED_P16x16Ch(100,0,8); // 院
OLED_P16x16Ch(0,4,0); // 温
OLED_P16x16Ch(20,4,1); // 度
OLED_P16x16Ch(40,4,2); // :
//我们要达到的体温精度是0.1,因此要有三位数
// dxzm(((int)(temp)/100)+48,50,0);
dxzm(((temp)/100)+48,60,4); //进行显示百位
dxzm(((temp)/10%10)+48,70,4); //进行显示十位
dxzm('.',80,4); //进行显示.
dxzm(((temp)%10+48),90,4); //进行显示个位
}
else //读取温度标志位等于 1
{
oled_gd_diaplay();
上一篇:51单片机+12864液晶屏贪吃蛇
下一篇:自制BMS监控仪通过485通讯读BMS信息并显示在LCD2004上
推荐阅读
史海拾趣
爱普特半导体的产品因其卓越的性能和稳定的质量,赢得了众多大型企业的青睐。公司与小米、美的、阿里、LG等多家知名企业建立了战略合作关系。这些合作不仅为爱普特带来了稳定的订单和市场份额,还提升了公司的品牌影响力和行业地位。通过与这些企业的深度合作,爱普特不断吸收行业最新技术和管理经验,推动了自身技术水平和市场竞争力的提升。
随着公司业务的不断拓展,EPIGAP公司意识到单靠自身力量难以应对日益复杂的市场环境。于是,公司开始积极寻求与产业链上下游企业的战略合作。通过与原材料供应商、代工厂商以及终端客户的紧密合作,EPIGAP公司实现了产业链的整合优化,提高了整体运营效率。这一战略不仅降低了公司的运营成本,还增强了公司的市场竞争力。
EPIGAP公司的创始人李先生在半导体领域拥有深厚的技术背景。在公司初创时期,他带领研发团队成功研发出一种新型的高性能芯片,该芯片在功耗和性能上均达到了行业领先水平。这一技术突破使得EPIGAP公司在激烈的市场竞争中脱颖而出,迅速获得了众多客户的青睐。凭借这一产品,EPIGAP成功打开了市场,为后续的发展奠定了坚实的基础。
Black Box意识到,在电子行业中,不同的行业细分市场有着不同的需求和特点。因此,公司决定采取深耕行业细分市场的策略,针对金融、教育、制造等不同行业提供定制化的解决方案。这一策略使Black Box能够更好地满足客户的实际需求,提高了客户满意度和忠诚度。
Babcock Inc公司的创立源于创始人对电子技术的深厚热爱和前瞻视野。在创业初期,公司便致力于电子技术的研发与创新,不断积累核心技术和专利。通过持续的技术投入和人才培养,Babcock逐渐在电子行业崭露头角,为后续的快速发展奠定了坚实的基础。
面对数字化浪潮的冲击,ECLIPTEK公司积极拥抱数字化转型和智能制造。公司引入大数据、云计算和人工智能等先进技术,推动生产过程的智能化和自动化。通过数字化转型和智能制造,ECLIPTEK不仅提高了生产效率和质量,还降低了生产成本和能源消耗。这一转型为公司未来的发展奠定了坚实的基础。
Andrew Jaquith日前表示,企业很难阻止iPhone手机接入公司网络。因此,与其抵制iPhone,还不如做好支持准 备。 苹果iPhone手机于6月29日在美国上市,尽管销量不错,但其安全性也遭到了批评家的指责。事实上,企业担心iPhone影响企业网络安全 ...… 查看全部问答∨ |
|
本帖最后由 jameswangsynnex 于 2015-3-3 19:58 编辑 在中国,京东方科技集团(BOE Technology Group)及华星光电技术(Shenzhen China Star Optoelectronics Technology)等本土企业将从2011年下半年开始利用第7.5代(底板尺寸为1950mm×2250mm) ...… 查看全部问答∨ |
|
VirtualAlloc,分配的空间大小可以超过32MB吗? 我的开发板有128M的内存。 OS分配32MB RAM分配32MB 显存分配64MB 这样可以吗? 显存的空间需要用VirtualAlloc来做,我的bsp里是这么做的,但是它限制大小为小于32M。… 查看全部问答∨ |
F2810 的引脚CAP1_QEP1、CAP2_QEP2、CAP3_QEPI1作为GPIO信号输入端,我设置了: GpioMuxRegs.GPAMUX.all = 0x00; GpioMuxRegs.GPADIR.all = 0xFF00; GpioMuxRegs.GPAQUAL.al ...… 查看全部问答∨ |
用IAR调试一段程序,出现如下状况,请问是什么意思? PS:我没设置断点 [ 本帖最后由 zzbaizhi 于 2012-2-24 14:57 编辑 ]… 查看全部问答∨ |
各位硬件大神,出来帮我看哈呢。 -7V这路9.1V的稳压管一接上就发烫,且越来越烫。是什么原因呢,当不接稳压管和其相连的电容的时候,输出大约-20V的样子。另一路16V和10.4V输出正常。TPS61040的电感用的是工字型的100uh带屏蔽的功率电感。求分析一 ...… 查看全部问答∨ |