5935| 11
|
[入门] 气体传感器阈值报警 |
本帖最后由 派大星ym 于 2022-3-4 09:59 编辑 一氧化碳气体无色、无臭、无味,无法感觉它的存在,但它却有着致命的威胁,一氧化碳中毒的事件时常发生,我们又该如何避免悲剧的发生。 于是有了基于Arduino开源平台,使用DFRobot推出的Gravity气体传感器,搭建的气体检测报警系统。 材料清单: PS:所需硬件均可在DF创客商城找到 一氧化碳传感器 PS: 这是一款能够检测气体浓度的气体传感器,具有CO、O2、H2S、SO2等十余种型号,可以快速、准确的测量环境中对应气体的浓度,支持模拟量、I2C和UART三种输出方式,探头采用电化学原理,具有抗干扰能力强、稳定性高、灵敏度高等特点。广泛适用于工厂、矿井、废气处理系统等需要进行有害气体浓度检测的场景。 电路连接: UNO R3 一氧化碳传感器 SDA ———— D/T SCL ———— C/R GND ———— GND 5V ———— VCC 4 ———— ALA UNO R3 LCD 1602显示屏 A4 ———— SDA A5 ———— SCL GND ———— GND 5V ———— VCC UNO R3 蜂鸣器 3 ———— 输入 GND ———— GND 5V ———— VCC 电路连接 关键函数:模式选择函数changeAcquireMode() “INITIATIVE”主动上传模式,传感器1秒1次上传参数。 “PASSIVITY”被动应答模式,只有在调用数据读取函数时,传感器才会反馈一次参数。
读取气体浓度函数readGasConcentrationPPM() 通过该函数,读取气体传感器的反馈气体浓度数值。
读取探头类型函数queryGasType() 可以获取当前气体探头的类型,返回
阈值报警函数setThresholdAlarm() 可以配置阈值报警,当气体浓度超过设定阈值时ALA引脚跳转为设定电平。
传感器与uno通信: 使用I2C通信,将传感器上的拨码开关SEL拨到0。I2C地址默认为0x74。如果需要修改I2C地址,可通过模块上的拨码开关配置硬件I2C地址。 拨码开关与I2C地址参数对应关系如下:
检测报警效果: 串口监视器显示对应的气体类型/浓度/报警。当一氧化碳浓度超过阈值,屏幕显示“warning!!!”提示,同时蜂鸣器报警。 总结: 搭配传感器扩展板可以避免复杂的接线,更方便、更快速的完成项目搭建。 为保证数据精准,初次通电需要预热5分钟以上,切换通信方式和改变I2C地址后系统需要全部断电重新通电。 确保所需库文件已安装,否则程序无法通过编译。 所需要的库以及程序: DFRobot_GasSensor库 |
© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed