资料介绍
描述
在大流行期间,人们被要求在任何当地市场或杂货店进行体温检查,这通常由另一个人完成。这对于人与人之间的互动来说可能是一种冒险的做法。为了降低这种风险,我们开发了一个温度接入点,它可以自动检测人员并邀请他们检查体温,远程测量,然后将其显示在高对比度(有机发光二极管)OLED 显示屏上,无需任何人为干预。
发展
选择AVR128DA48进行开发是因为板载外设种类繁多且 I/O 引脚充足。AVR® DA 利用其板载 12 位 ADC 测量来自无源红外 (PIR)传感器的输出以唤醒。
为了加快开发速度,我们使用了 AVR128DA 的Curiosity Nano 评估板。Curiosity Nano 是一种低成本的开发工具,可拆分设备上的 I/O,并包括一个专用的板载 USB 编程器。除了 Nano,还使用了Curiosity Nano 基板。该板可方便地访问 3 个 MikroBUS™ 串行接口,以便于连接开发板。在此应用中,使用了OLED C 显示器、红外温度计 (IrThermo)和被动红外 (PIR) click 。
为了检测一个人何时进入建筑物,需要一种非接触式的感应方式。此外,该系统将充当大楼的看门人,拒绝发烧的人进入。由于存在通过身体接触传播疾病的风险,机械开关或磁簧开关不适合此应用。
相比之下, PIR 传感器会生成一个低电平模拟信号,该信号与其视野中的物体温度相关,如下所示。
其视野内温度总和的突然变化(例如有人进入)会干扰传感器,并导致输出电平发生变化。PIR 传感器板带有一个模拟前端,可将输出信号的比例增加到可以使用板载 12 位 ADC 可靠测量的水平。
为了减少与 PIR 传感器变化相关的处理开销,ADC 的窗口比较器用于检查 ADC 的值是否在设定值范围之内(或之外)。当值超出正常范围时,会触发中断,将设备从睡眠中唤醒以开始处理。
虽然 PIR 传感器确实会产生与其视野中的 IR 量相关的输出,但它对于测量人的温度来说太不精确了。为了准确测量人的温度,使用了红外温度计点击板。该板有一个数字高精度红外温度计,可通过 I2C 或通过 PWM 输出进行通信。在这个应用程序中,使用了 I2C 通信。
一旦测量了人的体温,屏幕上就会打印一条消息,指示该人的体温以及是否允许进入建筑物。可以将蜂鸣器连接到该板上以指示各种事件,例如门解锁或访问被拒绝。蜂鸣器的音调因事件而异。如果门“解锁”,Curiosity Nano 上的 LED 会亮起。
程序说明
通常 AVR128DA 处于睡眠模式。PIR 传感器在睡眠时由 ADC 连续采样。当采样值超过设置的窗口阈值时,设备会从睡眠中唤醒。入睡后,红外温度计立即测量房间的环境温度,然后测量传感器前面的人(或物体)的温度,并比较是否:
- 温差太小——重复测量最多 TIMEOUT_MEAS 次。
- 温差大于阈值,人不发烧。
- 温差大于阈值,人发热。
在温差过小的情况下,系统最终会超时并返回睡眠,因为这是一个误报。在另外两种情况下,存在足够的温差来确定一个人正在寻求访问。IR温度计用于测量他们的温度REPEATED_MEAS次,记录最大值。最大值用于确定是否应允许某人进入建筑物。对于不发烧的人,蜂鸣器响起,门“解锁”。OLED 屏幕显示他们的温度和指示门已打开的消息。对于发烧的人,蜂鸣器会发出不同的声音,OLED 屏幕会显示他们的体温和“拒绝访问”的消息。
快速设置
作为安装开发工具的替代方法,存储库中的 .hex 文件可以像 USB 驱动器一样拖放到 Curiosity Nano 上。nano 将自动对 AVR DA 进行编程和配置。如果使用此选项,只需执行步骤 1 和 4。
第 1 步 - 硬件和固件设置
关闭电源后,将 3 个卡扣插入 Curiosity Nano 适配器,如下所示。将 AVR128DA48 Curiosity Nano 插入插座。如果您没有下载固件,请下载固件并将其解压缩 到您选择的文件夹中。
第 2 步 - 软件设置
通过 MicroUSB 电缆将 Curiosity Nano 连接到您的开发计算机,例如这个,然后启动 MPLAB® X。转到 File > Open Project 并导航到解压缩的文件夹。双击文件夹将其打开。如果左侧栏中的项目名称不是粗体,请在项目右侧并选择“设置为主项目”。建议关闭其他当前打开的与项目无关的文件,以免混淆。
步骤 2A(可选)- 探索外设配置
单击工具栏中的MPLAB 代码配置器 (MCC)按钮以启动 MCC。MCC 将向您显示设备上外围设备的配置。
注意:如果此按钮在 MPLAB 中不可见,则可能未安装 MCC。要安装,请转至工具 > 插件 > 可用插件 > MPLAB 代码配置器。安装完成后,重新启动 MPLAB。
第 3 步 - 对设备进行编程
首先,构建项目。您可以单击构建(按钮 A)或构建并清理(按钮 B)。构建和清理将删除缓存的编译器和链接器文件,这有时会导致构建错误。要对设备进行编程,请单击指向微控制器的箭头(按钮 C)。
按下编程按钮后,MPLAB 可能会要求选择工具。为 AVR128DA 选择 Curiosity Nano。在大多数情况下,首次使用 nano 进行编程需要对 nano 进行固件更新,该固件将自动安装。编程后,程序自动运行。
注意:如果 Nano 固件更新过程中发生错误,请从 PC 上拔下 nano 并重新启动 MPLAB。重新连接 nano 并重复步骤 3。
注意:如果 nano 的选项显示为灰色,则可能需要更新 DFP 文件。转到工具 > 包并检查 AVR-Dx_DFP 以查看它是否已安装并且是最新的。此程序已使用 DFP 1.2.52 和 1.3.65 进行了测试。
第 4 步 - 使用演示
编程后,演示应立即生效。PIR click 产生与环境温度相关的模拟电压。如果该值超过阈值,则设备会收到中断并从睡眠中唤醒。OLED 显示屏打开并提示用户站在红外温度计前面点击。如果温度接近或等于环境温度,系统会将其标记为误报并返回睡眠状态。当检测到一个人时,IR 温度计测量温度 REPEATED_MEAS 次以找到最大值。如果最高温度在正常温度范围内,屏幕将打印“Door Opened”并发出蜂鸣声。如果温度升高,屏幕上会打印“拒绝访问”并发出不同的声音。
修改和调整
项目中的“constants.h”文件包含程序中使用的常量。可以调整其中一些值,以便在温度可能不同的不同环境中获得更好的性能。下面的列表具有关键的可调常数:
· TEMP_GOOD(默认 37.3)——设置允许进入的最高温度。
· TEMP_DIFF(默认 3.4)——设置 IR Thermo 传感器的阈值以确定是否有人在场。
· TEMP_HIGH (默认42.0) – 设置红外温度计认为有效的最高温度。
· TEMP_LOW(默认为 32.0)——设置红外温度计认为有效的最低温度。
· TIMEOUT_MEAS(默认为 300)——设置在将事件视为错误检测之前要进行的测量次数。
· REPEATED_MEAS(默认为 100)——设置检测到人时要进行的测量次数。记录最高值以进行比较。
· ADC_LOW_THRSHOLD(默认为 0x9)——设置 ADC 运动检测窗口的低阈值。
· ADC_HIGH_THRESHOLD(默认为 0xF3C)——设置 ADC 运动检测窗口的高阈值。
- 基于ARM7的蓝牙接入点电路设计
- 基于AVR微控制器的简单PI(脉冲感应)金属探测器
- AVR HV2基于Arduino的AVR微控制器的高压并行编程器
- esp32 Pricetag接入点PCB
- 基于微控制器的数字温度计
- 基于微控制器的永磁同步电机磁场定向控制 15次下载
- 系统可编程闪存中的RISC微控制器LGT8XM 0次下载
- LTC5800-IPA:SmartMesh IP接入点MOTE数据表
- Atmel微控制器8位AVR的库文件免费下载 0次下载
- 微控制器系统的详细资料概述
- W90N740CD和W90N740CDG微控制器的数据手册和应用的详细资料说明 23次下载
- C51+AVR+Arduino微控制器的详细中文数据手册免费下载 17次下载
- 基于东芝微控制器在汽车应用中的功能 7次下载
- AVR微控制器与C编译器的协同设计 40次下载
- 嵌入式Linux无线接入点的设计与实现
- 温度继电器与温度控制器的区别 494次阅读
- 微控制器与运动控制器的区别 377次阅读
- 温度控制器的原理与特点 746次阅读
- 微控制器的定义和工作原理 1084次阅读
- 空调温度控制器怎么使用 空调温度控制器坏了会怎样 1515次阅读
- Microchip AVR DD系列微控制器产品特性 491次阅读
- 使用uIP堆栈将MAXQ微控制器联网 1051次阅读
- 基于89C51单片机为微控制器的热电偶集成温度传感器设计 2805次阅读
- 基于AVR单片机与温度传感器相结合的实时温度控制 2554次阅读
- TIMSP430微控制器软件编程经验和应用技巧 4104次阅读
- 微控制器原理及应用 1.4w次阅读
- 散热温度控制器电路 2655次阅读
- 简单的温度控制器电路 5444次阅读
- 温度控制器电路图5 6089次阅读
- 造价低廉的温度控制器 2256次阅读
下载排行
本周
- 1山景DSP芯片AP8248A2数据手册
- 1.06 MB | 532次下载 | 免费
- 2RK3399完整板原理图(支持平板,盒子VR)
- 3.28 MB | 339次下载 | 免费
- 3TC358743XBG评估板参考手册
- 1.36 MB | 330次下载 | 免费
- 4DFM软件使用教程
- 0.84 MB | 295次下载 | 免费
- 5元宇宙深度解析—未来的未来-风口还是泡沫
- 6.40 MB | 227次下载 | 免费
- 6迪文DGUS开发指南
- 31.67 MB | 194次下载 | 免费
- 7元宇宙底层硬件系列报告
- 13.42 MB | 182次下载 | 免费
- 8FP5207XR-G1中文应用手册
- 1.09 MB | 178次下载 | 免费
本月
- 1OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 2555集成电路应用800例(新编版)
- 0.00 MB | 33566次下载 | 免费
- 3接口电路图大全
- 未知 | 30323次下载 | 免费
- 4开关电源设计实例指南
- 未知 | 21549次下载 | 免费
- 5电气工程师手册免费下载(新编第二版pdf电子书)
- 0.00 MB | 15349次下载 | 免费
- 6数字电路基础pdf(下载)
- 未知 | 13750次下载 | 免费
- 7电子制作实例集锦 下载
- 未知 | 8113次下载 | 免费
- 8《LED驱动电路设计》 温德尔著
- 0.00 MB | 6656次下载 | 免费
总榜
- 1matlab软件下载入口
- 未知 | 935054次下载 | 免费
- 2protel99se软件下载(可英文版转中文版)
- 78.1 MB | 537798次下载 | 免费
- 3MATLAB 7.1 下载 (含软件介绍)
- 未知 | 420027次下载 | 免费
- 4OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 5Altium DXP2002下载入口
- 未知 | 233046次下载 | 免费
- 6电路仿真软件multisim 10.0免费下载
- 340992 | 191187次下载 | 免费
- 7十天学会AVR单片机与C语言视频教程 下载
- 158M | 183279次下载 | 免费
- 8proe5.0野火版下载(中文版免费下载)
- 未知 | 138040次下载 | 免费
评论
查看更多