内容介绍
项目进度
内容介绍
任务目的
- 搭建一个小型环境监测站用于监测户外环境
- 监测周边环境温度(精度:±0.1°C)
- 周边环境湿度(精度:±1%)
- 大气压强(精度:±0.1kPa, ±0.1psi)
- 日照强度(用于判断白天/夜晚)
- 周边平均噪声(精度:±1dB)
任务分解
- 通过板载传感器HTS221来获温度和湿度取值
- 通过板载传感器LPS22HB来获取气压值
- 通过板载传感器APDS9960来获取RGB读数,使用亮度公式计算亮度值
- 通过板载传感器MP34DT05来获取PDM读数,通过RMS算法计算分贝值
作业完成展示
我使用了一块SSD1306双色OLED来显示数据。屏幕比较小,没有加上数据单位。
主要代码片段及解释
为了代码高亮利于阅读,我把主要代码摘选在IDE里做了注释并截图
任务历程
采购
经过漫长的10多天等待,终于在51节尾拿到了Arduino Nano33 BLE Sense开发板,小小的个头很是精致。
任务算法说明
开发板上,温湿度和气压读数都是直接量,读取出来直接显示就可以。自带传感器示例就有RGB读取转亮度公式,可以使用。PDM传感器读取出来的是声音采样时间点的幅值,需要寻找公式转化为分贝。
维基百科的分贝页面给出了三个转换公式,经过试用选择了CPU负载最小的。
编程调试
最后的编程调试就比较简单了,读完读数,然后显示在显示屏上。
几点吐槽
- 得捷购物的时间真的是太长了,不仅发货用了10来天,货到了海关又卡了5天。
- Nano33板子的排针位置有很多助焊剂残留,可能是主控芯片上有丝印无法洗板。
- 温湿度传感器摆放位置在板子中央,PCB没有物理隔离槽,导致温度读数偏高许多。
附件下载
Funpack8_EcoMonitor_Le.zip
Arduino 源代码
团队介绍
来自杭州的个人创客,第一次参加Funpack项目。
评论
0 / 100
查看更多