【2024 DigiKey 创意大赛】+基于Teensy4.1环境温湿度和气压监测
本帖最后由 流水源 于 2024-10-29 23:48 编辑<p><b>一 作品简介</b></p>
<p>本次作品主要主要实现环境的温湿度以及大气压的监测显示。主控MCU使用的是Teensy4.1开发板,环境参数检测使用的是BME680传感器。BME680传感器集成了测量气体,温湿度,大气压等参数。外加电子罗盘传感器ICM20948,ICM20948可以检测3轴加速度,3轴角速度和3轴磁感应,用于设备姿态检测。设备上外加了3.5寸显示屏用于显示数据。做这个设备可以很方便观察当前环境状态,可以用于户外探险环境温湿度及大气压,海拔高度监测及电子罗盘功能,也可以用于家庭室内环境监测。</p>
<p>特意为本次项目做了一个Teensy4.1的扩展底板,底板上安装了BME680和ICM20948传感器,以及LCD显示屏。整体如下:</p>
<p> </p>
<p> </p>
<p><b>二 系统框图</b><br />
整个系统框图如下所示。整体设计比较简单,主要实现数据读取和显示。BME680和ICM20948这两个传感器都是用I2C接口驱动,但是设备地址不一样,所以两个传感器接在同一个I2C接口,而LCD屏使用SPI接口驱动。</p>
<p> </p>
<p> </p>
<p><b>三、软件功能说明</b></p>
<p>本次软件开发使用的是ArduinoIDE开发环境开发的,之前用过几次Arduino开发,觉得这个很方便,基本上驱动都写好了,只用写应用。而且Teensy4.1推荐的开发环境也是用Arduino。</p>
<p>用arduino开发我们首先要安装Teensy4.1开发板。</p>
<p>开发板安装网址: <a href="https://www.pjrc.com/teensy/package_teensy_index.json" target="_blank">https://www.pjrc.com/teensy/package_teensy_index.json</a></p>
<p> </p>
<p> </p>
<p>安装之后就可以开发选择Teensy4.1开发板的例子了。</p>
<p> </p>
<p>接着我们还要下载BME680和ICM20948的驱动库了。</p>
<p>BME680传感器我选择的是Adafruit BME680的库。</p>
<p> </p>
<p>ICM20948可以用下面2个库。我使用的是第2个库。</p>
<p> </p>
<p>LCD驱动库选择如下DFRobot GDL。这个LCD是DFRobot的一个显示屏模块。</p>
<p> </p>
<p> </p>
<p>开发过程中参考了例子代码,然后将例子代码整合。</p>
<p> </p>
<p> </p>
<p>下面是设备初始化过程:</p>
<p> </p>
<p> </p>
<p>然后是传感器数据监测显示界面:</p>
<p> </p>
<p> </p>
<p>显示界面可以根据陀螺仪的姿态自动切换横竖屏显示。</p>
<p> </p>
<p> </p>
<p>通过串口打印数据如下:</p>
<p> </p>
<p> </p>
<p><b>四、作品源码</b></p>
<div></div>
<div></div>
<p><b>五、</b><b>作品功能演示视频</b></p>
<p>d6b20522b222f9493ce8015108d0a829<br />
</p>
<p><b>六、项目总结</b></p>
<p>通过本次大赛有一些收获,也发现了自己的一些不足。利用本次大赛我更加熟悉使用ArduinoIDE的开发环境使用,也学习了对BME680和ICM20948传感器的驱动使用.,特别是关于ICM20948这个9轴陀螺仪的姿态的计算方式。本次大赛时间有限,项目做的有点简陋,后面有机会继续完善一下,继续加点新功能。</p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
页:
[1]