赞
踩
GP2Y10粉尘传感器用于检测非常细的空气漂浮颗粒物,主要用于空气净化系统中,传感器外观引脚如下图所示。
引脚定义
工作电压: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驱动:下载地址
gp2y10Obj = GP2Y10(adcObj,gpioObj)
参数 | 类型 | 必选参数? | 说明 |
adcObj | ADC | 是 | 传感器OUT配置引脚 调用此函数前需确保adcObj对象已经处于open状态 |
gpioObj | GPIO | 是 | 传感器LED配置引脚 调用此函数前需确保gpioObj对象已经处于open状态 |
GP2Y10对象成功,返回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!
获取当前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光,通过检测经过空气中灰尘折射过后的光线来判断灰尘的含量。传感器装置中有一个红外发光二极管和光电晶体管,对角布置成允许其检测到在空气中的灰尘发射光。传感器内部电路图如下所示:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。