传感技术
直播中

jf_96170046

3年用户 44经验值
擅长:可编程逻辑
私信 关注

【罗姆传感器评估板试用体验连载】二、传感器示例整合和项目应用

整体运行

本帖最后由 jf_96170046 于 2022-2-28 10:52 编辑

官方提供的传感器示例中已包含了各个传感器的I2C通信地址,计划写个例子依次获取三个传感器的数据并显示出来。
引用传感器头文件后,首先声明三个传感器实例


然后设置硬件串口和I2C通信速率


依次初始化三个传感器并启动


在loop循环中依次获取三个传感器的数据,并写入串口



运行效果见顶部视频。
在视频中可以看出气压传感器BM1390GLV的温度值和温度传感器BH1900差距很大。对照当前小米温湿度计,可以看出BH1900的温度更加准确一点。而且气压传感器的温度波动很大,不如温度传感器的稳定,所以气压传感器的温度数值不可信,后续开发不做参考。



现在加入项目的逻辑——希望能监控电箱内部的环境安全报警,当出现火灾或者风扇故障时进行上报。
要实现这样的目标,首先得通过Arduino获取到传感器的数据并经过逻辑条件判断,得到当前的状态,然后生成JSON格式字符串,最后使用MQTT上报服务器。
经过分析,加入的逻辑条件判断如下:

当监控到温度超过阈值时,如果当前光亮大于阈值且红色占比较高(火的颜色偏红)则推断有火灾,否则如果机箱内部气压超过阈值,则推断冷却风扇有故障。
翻看前一章的手册可知颜色传感器的数值依次代表红、绿、蓝和光照强度。
程序如下所示:

在Arduino上生成JSON格式字符串可以使用官方的库ArduinoJson v6,占用内存较小;
该部分的demo文件如下:
demo1.zip (1.64 KB)
(下载次数: 0, 2022-2-27 23:19 上传)



demo文件运行示例底部视频所示

项目上运行示例

更多回帖

发帖
×
20
完善资料,
赚取积分