一、产品简介
?? GP2Y10粉尘传感器用于检测空气漂浮颗粒物,主要用于空气净化系统。

引脚定义
- GND:地
- VCC:5V
- LED:输入信号
- OUT:模拟信号输出
二、技术参数
工作电压:5V~7V
工作电流:20mA
最小粒子检出值:0.8微米
灵敏度:0.5V/(0.1mg/m3) 工作温度:-10°C~65°C
存储温度:-20°C~80°C
模块重量:15g
板子尺寸:46mm x 30mm x 17.6mm
三、软件接口
GP2Y10粉尘传感器HaaS Python驱动:下载地址
GP2Y10(adcObj,gpioObj) - 创建粉尘传感器驱动对象
- 函数原型
gp2y10Obj = GP2Y10(adcObj,gpioObj)
- 参数说明
参数 | 类型 | 必选参数? | 说明 |
adcObj | ADC | 是 | 传感器OUT配置引脚 确保在调用此函数之前adcObj对象已处于open状态 |
gpioObj | GPIO | 是 | 传感器LED配置引脚 确保在调用此函数之前gpioObj对象已处于open状态 |
- 返回值
GP2Y对象成功,返回GP2Y10对象;GP2Y10对象创建失败,抛出Exception
- 示例代码
import gp2y10 from driver import GPIO,ADC gpioDev = GPIO() gpioDev.open("gp2y10led") adcDev = ADC() adcDev.open("gp2y10out") gp2y10Obj=gp2y10.GP2Y10(adcDev,gpioDev) print("gp2y10Obj inited!")
- 输出
gp2y10Obj inited!
getVoltage() - 获取当前adc值
- 函数功能:
获取当前adc值
- 函数原型:
GP2Y10.getVoltage()
- 参数说明:
无
- 返回值:
返回当前adc值
- 示例:
import gp2y10 from driver import GPIO,ADC import utime gpioDev = GPIO() gpioDev.open("gp2y10led") adcDev = ADC() adcDev.open("gp2y10out") gp2y10Obj=gp2y10.GP2Y10(adcDev,gpioDev) print("gp2y10Obj inited!") while True: readvalue = gp2y10Obj.getVoltage() print("value is ", readvalue) utime.sleep(1)
- 输出
gp2y10Obj inited! value is 8 value is 11 value is 13 value is 9 value is 13
四、接口案例
这个用例子是board.json定义名称GP2Y10的ADC和GPIO两种类型的对象。在Python在脚本中获得粉尘传感器adc并在日志中打印。
- 案例代码
{ "name": "board-name", "version": "1.0.0", "io": { "gp2y10out": { "type": "ADC", "port": 0, "atten": 1, "width": 3, "sampling": 12000000 }, "gp2y10led": { "type": "GPIO", "port": 26, "dir": "output", "pull": "pullup" } } }
import gp2y10 from driver import GPIO,ADC import utime gpioDev = GPIO() gpioDev.open("gp2y10led") adcDev = ADC() adcDev.open("gp2y10out") gp2y10Obj=gp2y10.GP2Y10(adcDev,gpioDev) print("gp2y10Obj inited!") while True: readvalue = gp2y10Obj.getVoltage() print("value is ", readvalue) utime.sleep(1)
- 输出
gp2y10Obj inited! value is 8 value is 11 value is 13 value is 9 value is 13
五、工作原理
其原理是粉尘传感器中心有一个孔,可以使空气自由流动,定向发射LED光,通过检测空气中灰尘折射后的光来判断灰尘的含量。传感器装置有红外发光二极管和光电晶体管,对角布置,允许其检测空气中的灰尘发射光。传感器内部电路图如下: