当前位置:   article > 正文

【HaaS Python 硬件积木】粉尘传感器_gp2y1010 python程序

gp2y1010 python程序

一、产品简介

   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)

  • 参数说明
参数类型必选参数?说明
adcObjADC传感器OUT配置引脚
调用此函数前需确保adcObj对象已经处于open状态
gpioObjGPIO传感器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!

getVoltage() - 获取当前adc值

  • 函数功能:

获取当前adc值

  • 函数原型:

GP2Y10.getVoltage()

  • 参数说明:

  • 返回值:

返回当前adc值

  • 示例:
  1. import gp2y10
  2. from driver import GPIO,ADC
  3. import utime
  4. gpioDev = GPIO()
  5. gpioDev.open("gp2y10led")
  6. adcDev = ADC()
  7. adcDev.open("gp2y10out")
  8. gp2y10Obj=gp2y10.GP2Y10(adcDev,gpioDev)
  9. print("gp2y10Obj inited!")
  10. while True:
  11. readvalue = gp2y10Obj.getVoltage()
  12. print("value is ", readvalue)
  13. utime.sleep(1)
  • 输出
  1. gp2y10Obj inited!
  2. value is 8
  3. value is 11
  4. value is 13
  5. value is 9
  6. value is 13

四、接口案例

此使用实例在board.json中定义了名为GP2Y10的ADC和GPIO两种类型的对象。在Python脚本中获取粉尘传感器的adc值并打印在日志中。

  • 案例代码
  1. {
  2. "name": "board-name",
  3. "version": "1.0.0",
  4. "io": {
  5. "gp2y10out": {
  6. "type": "ADC",
  7. "port": 0,
  8. "atten": 1,
  9. "width": 3,
  10. "sampling": 12000000
  11. },
  12. "gp2y10led": {
  13. "type": "GPIO",
  14. "port": 26,
  15. "dir": "output",
  16. "pull": "pullup"
  17. }
  18. }
  19. }
  1. import gp2y10
  2. from driver import GPIO,ADC
  3. import utime
  4. gpioDev = GPIO()
  5. gpioDev.open("gp2y10led")
  6. adcDev = ADC()
  7. adcDev.open("gp2y10out")
  8. gp2y10Obj=gp2y10.GP2Y10(adcDev,gpioDev)
  9. print("gp2y10Obj inited!")
  10. while True:
  11. readvalue = gp2y10Obj.getVoltage()
  12. print("value is ", readvalue)
  13. utime.sleep(1)
  • 输出
  1. gp2y10Obj inited!
  2. value is 8
  3. value is 11
  4. value is 13
  5. value is 9
  6. value is 13

五、工作原理

其原理是粉尘传感器中心有个孔,可以让空气自由流过,定向发射LED光,通过检测经过空气中灰尘折射过后的光线来判断灰尘的含量。传感器装置中有一个红外发光二极管和光电晶体管,对角布置成允许其检测到在空气中的灰尘发射光。传感器内部电路图如下所示:

来这里发现更多拿来即用的传感器

HaaS开发框架HaaS积木方案,赋能生态开发者,让您快速找到自己需要的解决方案,硬件主板与外设,以及各种应用组件。https://haas.iot.aliyun.com/solution/hardware

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/菜鸟追梦旅行/article/detail/711980
推荐阅读
相关标签
  

闽ICP备14008679号