Pico-Environment-Sensor
| ||||||||||||||||||||
| ||||||||||||||||||||
产品概述
这是一款环境传感器,搭配 Raspberry Pi Pico 主板,可以采集周围环境的温湿度、大气压强、环境光、VOC、紫外线等传感器数据,也可以轻轻松松地 DIY 一个可以检测运动姿态和方位的机器人。
特点
- 板载 TSL25911FN 数字环境光传感器,可测量红外光及人眼可见光
- 板载 BME280 温湿度气压传感器,可测量温度、湿度、气压
- 板载 ICM20948 运动姿态传感器,可测量加速度、陀螺仪、磁力计
- 板载 LTR390-UV-1 紫外传感器,可测量紫外光强
- 板载 SGP40 气体传感器,可检测环境 VOC
- 板载 1.3寸 OLED,可实时显示环境测量数据
- I2C 接口通信,两线即可实现读取并显示
- 提供完善的配套资料手册 (python 示例程序和用户手册等)
产品参数
产品连接方式
资源介绍
使用方式
Python部分
windows环境下的使用
- 下载示例程序
- 按住Pico板上的BOOTSET按键,将pico通过Micro USB线接到电脑的USB接口,待电脑识别出一个可移动硬盘(RPI-RP2)后,松开按键。
- 将python目录中pico_micropython_20210121.uf2 文件复制到识别的可移动盘(RPI-RP2)中
- 打开Thonny IDE(注意:要使用最新版本的Thonny,否则是没有Pico的支持包的,当前Windows下的最新版本为v3.3.3)
- 点击工具->设置->解释器,如图所示选择Pico及对应的端口
- 文件->打开->Pico-Environment-Sensor-code目录下的test.py,点击运行即可,Thonny将打印传感器数据;
树莓派环境下的使用
- 程序下载
sudo apt-get install p7zip-full cd ~ sudo wget https://www.waveshare.net/w/upload/f/f9/Pico-Environment-Sensor-code.7z 7z x Pico-Environment-Sensor-code.7z -o./Pico-Environment-Sensor-code cd ~/Pico-Environment-Sensor-code
- 刷固件的过程与Windows上一样,你可以选择在PC或者树莓派上将pico_micropython_20210121.uf2 文件拷入pico中。
- 在树莓派山打开Thonny IDE (点击树莓logo -> Programming -> Thonny Python IDE ),你可以在Help->About Thonny查看版本信息
以确保你的版本是有Pico支持包的,同样你可以点击Tools -> Options... -> Interpreter选择MicroPython(Raspberry Pi Pico 和ttyACM0端口
如图所示:
如果你当前的Thonny版本没有pico支持包,输入以下指令来更新Thonny IDE
sudo apt upgrade thonny
3.点击File->Open...->test.py,运行脚本即可
传感器
这里将介绍各个传感器的使用
环境光传感器
TSL2591是一款基于IIC总线通信的光强数字转换器。传感器将一个宽带光电二极管(可见光和红外光)和一个红外响应光电二极管组合在能够在有效的16 位动态范围(16 位分辨率)上提供近光适应响应的单个 CMOS 集成电路上。两个积分 ADC将光电二极管电流转换为表示在每个通道上测量的辐照度的数字输出。该数字输出可以被输到微处理器,其中使用经验公式导出以勒克斯为单位的照度(环境光水平)以近似人眼反应。
传感器地址为:0X29
使用此传感器需要注意如下几点:
1.默认是打开了中断的,如您不需要可注释掉对应的代码;
2.默认例程的量程较小,如果光突然变化很大,请加大量程;
3.与市面的光强读取器是有区别的,那些是加了透镜的;
温湿度气压传感器
BME280可感知环境温度、湿度和大气压强,低功耗,高精度和稳定性,适用于环境监测、天气预测、海拔高度监测和物联网应用场景。
传感器地址为:0X76
它的测量范围如下:
温度范围:40~85°C (分辨率0.01°C,误差±1°C)
湿度范围:0~100%RH (分辨率0.008%RH,±3% RH)
压力范围:300~1100 hPa (分辨率0.18Pa,误差±1 hPa)
使用此传感器需要注意如下几点:
1.测量的范围不要超过量程,不然可能测不准;
2.测量的气压为大气压强,正常情况下会在标准大气压强(1.013x 10^5 = 1013hPa)上下浮动;
3.测量的温度可能会偏向于jetson nano上方的温度,使用时如有条件可以加风扇来避免此情况发生;
4.气温越高,气压越低,因为气温越高,近地面空气受热膨胀上升,导致空气密度下降,气压下降.反之气压上升;
5.大气压随着高度的增加而降低,但是没有比例关系,海拔越高,降低得越慢;
6.大气压与海拔高度的关系是:高度增加,大气压减小,理论情况下在3000M范围内,每升高12M,大气压减小1mmHg,大约133Pa;
9轴传感器
ICM20948是一个多芯片模块,拥有9轴运动跟踪功能,3轴加速度、3轴陀螺仪和3轴磁力计,,内置数字运动处理引擎,可减少复杂的融合演算数据,减轻处理器的负荷 。
传感器地址为:0X68
它的参数如下:
加速度计特性:
- 分辨率:16位
- 量程(可选):±2、±4、±8、±16g
- 工作电流:68.9uA
陀螺仪特性:
- 分辨率:16位
- 量程(可选):±250、±500、 ±1000、±2000°/sec
- 工作电流:1.23mA
磁力计特性:
- 分辨率:16位
- 量程:±4900µT
- 工作电流:90uA
使用此传感器需要注意如下几点:
1.Roll, Pitch, Yaw这三个是欧拉角,形式上它是一个三维向量,其值分别代表物体绕坐标系三个轴(x,y,z轴)的旋转角度;
2.Roll, Pitch, Yaw分别是俯仰角、偏航角、旋转角;
3.Acceleration为加速度(LSB,可换算为 g);
4.Gyroscope陀螺仪角速度(LSB,可换算为°/秒);
5.Magnetic电子罗盘倾角(°);
红紫外传感器
SI1145是一个以测量紫外线为主的多功能光学测量模块。该芯片测量紫外线可以直接输出紫外线指数的100倍整数,用户几乎不需要数据转换和校准,就可以得到较为精确的紫外线指数的值。该芯片还支持测量的环境光强度包括红外线强度和可见光强度。
传感器地址为:0X60
使用此传感器需要注意如下几点:
1.工作原理实际上是一个对二极管,一个对正常光敏感,一个对红外线敏感,由两者进行运算得到的结果;
2.读出的紫外线值是经过了标定的,此传感器测量的红外线强度和可见光强度是非标定的;
3.可见光强度是非标定的,实际光强以TSL25911为准;
4.检测范围在50cm以为内效果最佳(手册中描述);
空气质量传感器
SGP40 Sensirion 新推出的数字 VOC(挥发性有机化合物)传感器,可轻松集成到空气处理设备和空气质量监测器中,由温度控制的微型加热板以及经湿度补偿处理的室内空气质量信号,能够在单个芯片上提供完整的传感器系统。
传感器地址为:0X59
使用此传感器需要注意如下几点:
1.默认python例程输出的为未经过VOC处理的算法值,实际上Sensirion有一套自己的C算法,转换后更加精准;
2.传感器工作需要在1分钟内才能稳定下来,因为内部在慢慢加热;
3.可以通过测量当前的温湿度反馈给SGP40,这样的出的精度会更加高;
4.传感器测量范围为0 至 1,000 ppm 乙醇当量;