Dust Sensor

来自Waveshare Wiki
跳转至: 导航搜索
Dust Sensor
{{{name2}}}
{{{name3}}}
功能简介
特性 烟雾、灰尘颗粒等浓度检测
' 无特性,不解释
' 无特性,不解释
' 无特性,不解释
' 无特性,不解释
接口 AD

说明

产品特性

参数名称 参数
测量对象 直径大于0.8μm灰尘颗粒
有效量程 500μg/m3
输出类型 电压模拟量
工作电压 2.5V~5.5V
产品尺寸 63.2mm×41.3mm
固定孔尺寸 2.0mm
通气孔尺寸 9.0mm

原理:本模块是以夏普GP2Y1014AU0F为核心的灰尘传感器。传感器内部的红外二极管,可以输出一个跟灰尘浓度成线性关系的电压值。通过该电压值即可计算出空气中的灰尘和烟尘含量。

传感器输出特性

传感器输出电压与灰尘浓度关系在0到0.5mg/m3范围内成线性关系,如下图所示:

Dust Sensor- (1).png

图 1: 传感器输出特性曲线

传感器控制原理

通过设置模块ILED引脚为高电平,从而打开传感器内部红外二极管。
等待0.28ms,外部控制器采样模块AOUT引脚的电压值。这是因为传感器内部红外二极管在开启之后0.28ms,输出波形才达到稳定。如下图所示:

Dust Sensor- (2).png

图 2: ILED与红外二极管输出波形关系

采样持续0.04ms之后,再设置ILED引脚为低电平,从而关闭内部红外二极管。
根据电压与浓度关系即可计算出当前空气中的灰尘浓度,具体实现细节请参考Demo程序。
注:输出的电压经过了分压处理(查看原理图),要将测得的电源放大11倍才是实际传感器输出的电压。

主要用途

检测空气中灰尘浓度,用于空气净化器、空气质量监测仪、PM2.5检测仪等。

接口说明

引脚 功能
VCC 电源正(2.5V-5.5V)
GND 电源地
AOUT 电压模拟量输出
ILED 传感器内部LED驱动

Pico使用教程

提供Python、C例程

Pico 快速上手

硬件连接

您可以对照以下表格连线。

Pico连接引脚对应关系
Dust Pico 功能
VCC 3.3V 电源输入
GND GND 电源地
AOUT GP26 模拟量输出
ILED GP22 传感器内部LED驱动

火焰传感器、霍尔传感器、红外接近传感器、液位传感器、土壤传感器、MQ5气体传感器、声音传感器、紫外线传感器这些模块的引出脚一致,这里以MQ5气体传感器模块为例(根据表格进行连接,图仅为参考): Dust-Sensor-Pico 1.jpg

基础介绍

MicroPython系列
【MicroPython】Pico的基础介绍与环境安装

【MicroPython】machine.Pin类函数详解
【MicroPython】machine.PWM类函数详解
【MicroPython】machine.ADC类函数详解
【MicroPython】machine.UART类函数详解
【MicroPython】machine.I2C类函数详解
【MicroPython】machine.SPI类函数详解

C/C++系列
【C/C++】 Windows教程1——环境搭建

【C/C++】 Windows教程2——创建工程

教程名3
列表3
教程名4
列表4
教程名5
列表5
教程名6
列表6
教程名7
列表7
教程名8
列表8

程序下载

打开树莓派终端,执行以下命令:

sudo apt-get install p7zip-full
cd ~
sudo wget  https://www.waveshare.net/w/upload/2/2a/Dust-Sensor-code.7z
7z x Dust-Sensor-code.7z -o./Dust-Sensor-code
cd ~/Dust-Sensor-code
cd Pico/c/build/

例程使用

C部分

  • 以下教程为在树莓派上操作,但由于cmake的多平台、可移植的特点,在PC上也是能成功编译,但操作略有不同,需用户自行判断。

进行编译,请确保在c目录:

cd ~/Dust-Sensor-code/Pico/c/

在文件夹中创建并进入build目录,并添加SDK: 其中 ../../pico-sdk 是你的SDK的目录。 我们示例程序中是有build的,直接进入即可

cd build
export PICO_SDK_PATH=../../pico-sdk
(注意:务必写对你自己的SDK所在路径)

执行cmake自动生成Makefile文件

cmake ..

执行make生成可执行文件,第一次编译时间比较久

make -j9

编译完成,会生成uf2文件。 按住Pico板上的按键,将pico通过Micro USB线接到树莓派的USB接口,然后松开按键。接入之后,树莓派会自动识别到一个可移动盘(RPI-RP2),将build文件夹下的main.uf2 文件复制到识别的可移动盘(RPI-RP2)中即可。

cp main.uf2 /media/pi/RPI-RP2/

Python部分

windows环境下的使用

  • 1.按住Pico板上的BOOTSET按键,将pico通过Micro USB线接到电脑的USB接口,待电脑识别出一个可移动硬盘(RPI-RP2)后,松开按键。
  • 2.将python目录中rp2-pico-20210418-v1.15.uf2 文件复制到识别的可移动盘(RPI-RP2)中
  • 3.打开Thonny IDE(注意:要使用最新版本的Thonny,否则是没有Pico的支持包的,当前Windows下的最新版本为v3.3.3)
  • 4.点击工具->设置->解释器,如图所示选择Pico及对应的端口

Pico-lcd-0.96-img-config.png
本例程提供了一个程序:

  • 5.文件->打开->Dust Sensor.py,点击运行即可,如下图所示:

Pico-lcd-0.96-img-run.png

树莓派环境下的使用

  • 1.刷固件的过程与Windows上一样,你可以选择在PC或者树莓派上将rp2-pico-20210418-v1.15.uf2 文件拷入pico中。
  • 2.在树莓派山打开Thonny IDE (点击树莓logo -> Programming -> Thonny Python IDE ),你可以在Help->About Thonny查看版本信息

以确保你的版本是有Pico支持包的,同样你可以点击Tools -> Options... -> Interpreter选择MicroPython(Raspberry Pi Pico 和ttyACM0端口
如图所示:
Pico-lcd-0.96-img-config2.png
如果你当前的Thonny版本没有pico支持包,输入以下指令来更新Thonny IDE

sudo apt upgrade thonny

3.点击File->Open...->python/Dust Sensor.py,运行脚本即可

实验现象

串口打印灰尘浓度数据:

Dust Sensor- (3).jpg

空气污染指数分级标准如下表所示:

空气污染指数分级标准表
PM2.5
浓度均值(μg/m3)
空气质量
AQI
空气质量级别 空气质量指数类别
0-35 0-50 一级
35-75 51-100 二级
75-115 101-150 三级 轻度污染
115-150 151-200 四级 中度污染
150-250 201-300 五级 重度污染
250-500 ≥300 六级 严重污染

STM32使用教程

下面章节以三款不同类型的开发板中的一款为例,描述具体操作步骤及实验现象。

硬件连接

连接开发板使用

下面章节以四款不同类型的开发板为例,描述具体操作步骤及实验现象。

Open103R(主控芯片STM32F103R)

1、编译下载Demo程序。 2、通过串口模块,把开发板USART2接口连接至电脑,串口调试助手设置如下:

波特率 115200
数据位 8
停止位 1
校验位 None
流控制 None

3、传感器模块连接如下:

传感器和Open103R引脚对应关系表
模块 开发板
VCC 3.3V或5V
GND GND
AOUT GPIOA.6
ILED GPIOA.7

Open407Z-C(主控芯片STM32F407Z)

1、编译下载Demo程序。 2、通过串口模块,把开发板USART2接口连接至电脑,串口调试助手设置如下:

波特率 115200
数据位 8
停止位 1
校验位 None
流控制 None

3、传感器模块连接如下:

传感器和Open407Z-C引脚对应关系表
模块 开发板
VCC 3.3V或5V
GND GND
AOUT GPIOA.6
ILED GPIOA.7

NUCLEO-F103RB(主控芯片STM32F103R)

本开发板Demo程序分为Mbed及ST Library两个版本。操作步骤及实验现象相同。
1、编译下载Demo程序。 2、将开发板通过USB接口连接至电脑,串口调试助手设置如下:

波特率 115200
数据位 8
停止位 1
校验位 None
流控制 None

3、传感器模块连接如下:

传感器和XNUCLEO-F103RB引脚对应关系表
模块 开发板
VCC 3.3V或5V
GND GND
AOUT A6
ILED A4


提供的连接方式是对应的STM32F103RBT6的引脚为例,如果有需要使用其他STM32,请按实际引脚连接!
火焰传感器、霍尔传感器、红外接近传感器、液位传感器、土壤传感器、MQ5气体传感器、声音传感器、紫外线传感器这些模块的引出脚一致,这里以MQ5气体传感器模块跟STM32F103RBT6为例(根据表格进行连接,图仅为参考):
Dust-Sensor-STM32 1.jpg

软件说明

例程是基于HAL库进行开发的。 请在资料里面下载程序,找到STM32程序文件目录,打开Dust-Sensor-code\STM32\STM32F103RB\MDK-ARM
目录下的Dust Sensor.uvprojx,即可看到程序。
MQ5 STM32 1.jpg

打开main.c,重新编译下载即可。
MQ5 STM32 2.jpg

实验现象

串口打印灰尘浓度数据:

Dust Sensor- (3).jpg

空气污染指数分级标准如下表所示:

空气污染指数分级标准表
PM2.5
浓度均值(μg/m3)
空气质量
AQI
空气质量级别 空气质量指数类别
0-35 0-50 一级
35-75 51-100 二级
75-115 101-150 三级 轻度污染
115-150 151-200 四级 中度污染
150-250 201-300 五级 重度污染
250-500 ≥300 六级 严重污染

Arduino使用教程

本例程已经在Arduino uno上测试通过,直接按下表连接Arduino uno即可

硬件连接

您可以对照以下表格连线。

Arduino连接引脚对应关系
Dust Arduino 功能
VCC 5V 电源输入
GND GND 电源地
AOUT A0 模拟量输出
ILED D7 传感器内部LED驱动

火焰传感器、霍尔传感器、红外接近传感器、液位传感器、土壤传感器、MQ5气体传感器、声音传感器、紫外线传感器这些模块的引出脚一致(根据表格进行连接,图仅为参考):
Dust-Sensor-Arduino 1.jpg

安装编译软件(Windows教程)

arduino IDE 安装教程

运行程序

在我们提供的资料里面下载程序,并解压,再进入Dust-Sensor-code/Arduino/DustSensor目录下
双击打开DustSensor.ino文件。
选择你的开发板,跟对应的端口。

MQ5 Arduino 1.jpg

进行编译下载,如下图:
MQ5 Arduino 2.jpg

实验现象

串口打印灰尘浓度数据:

Dust Sensor- (3).jpg

空气污染指数分级标准如下表所示:

空气污染指数分级标准表
PM2.5
浓度均值(μg/m3)
空气质量
AQI
空气质量级别 空气质量指数类别
0-35 0-50 一级
35-75 51-100 二级
75-115 101-150 三级 轻度污染
115-150 151-200 四级 中度污染
150-250 201-300 五级 重度污染
250-500 ≥300 六级 严重污染

资料


文档

视频

程序

软件

数据手册

  • GP2Y1010AU0F ---(旧版灰尘传感器)
  • GP2Y1014AU0F ---(2016年8月份后购买的都是新版本的传感器,兼容旧版的灰尘传感器)

相关链接


FAQ


技术支持


联系人:黄工
QQ:2850151199
EMAIL:2850151199@qq.com
电话:0755-83040712
微信:扫下方二维码添加
Service20-Weichat.png

说明:进行售后服务前,请准备好客户信息(定货单位、定货人等),以供验证