【HaaS Python 硬件积木】粉尘传感器

简介: 【HaaS 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)


参数说明

参数 类型 必选参数? 说明

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!

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光,通过检测经过空气中灰尘折射过后的光线来判断灰尘的含量。传感器装置中有一个红外发光二极管和光电晶体管,对角布置成允许其检测到在空气中的灰尘发射光。传感器内部电路图如下所示:


————————————————

版权声明:本文为CSDN博主「HaaS技术社区」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/HaaSTech/article/details/124212223

相关文章
|
7月前
|
监控 网络协议 安全
由于楼层自动化系统的复杂性和多样性,很难给出一个通用的Python代码示例,因为每个系统可能使用不同的硬件、通信协议和软件接口。
由于楼层自动化系统的复杂性和多样性,很难给出一个通用的Python代码示例,因为每个系统可能使用不同的硬件、通信协议和软件接口。
|
7月前
|
机器学习/深度学习 人工智能 数据挖掘
Numba是一个Python库,用于对Python代码进行即时(JIT)编译,以便在硬件上高效执行。
Numba是一个Python库,用于对Python代码进行即时(JIT)编译,以便在硬件上高效执行。
|
传感器 物联网 数据处理
【Python入门系列】第二十一篇:Python物联网和传感器应用
物联网和传感器在现代科技中扮演着重要的角色。物联网是指通过互联网连接各种设备和传感器,实现设备之间的通信和数据交换。传感器则是物联网的核心组成部分,用于感知和采集环境中的各种数据。在这篇文章中,我们将探讨使用Python开发物联网和传感器应用的主题。
607 0
|
传感器 人工智能 开发框架
ESP32 + Python 还不知道怎么垃圾分类? 用HaaS DIY一个智能垃圾桶吧
ESP32 + Python 还不知道怎么垃圾分类? 用HaaS DIY一个智能垃圾桶吧
288 0
|
传感器 监控 物联网
饭碗空空 猫猫流泪 用HaaS Python DIY一个宠物自动投食器 再也不用担心主子挨饿
饭碗空空 猫猫流泪 用HaaS Python DIY一个宠物自动投食器 再也不用担心主子挨饿
231 0
|
传感器 编解码 Python
【HaaS Python硬件积木】空气质量检测模块 - CCS811
【HaaS Python硬件积木】空气质量检测模块 - CCS811
238 0
|
23天前
|
存储 缓存 Java
Python高性能编程:五种核心优化技术的原理与Python代码
Python在高性能应用场景中常因执行速度不及C、C++等编译型语言而受质疑,但通过合理利用标准库的优化特性,如`__slots__`机制、列表推导式、`@lru_cache`装饰器和生成器等,可以显著提升代码效率。本文详细介绍了这些实用的性能优化技术,帮助开发者在不牺牲代码质量的前提下提高程序性能。实验数据表明,这些优化方法能在内存使用和计算效率方面带来显著改进,适用于大规模数据处理、递归计算等场景。
58 5
Python高性能编程:五种核心优化技术的原理与Python代码
|
2月前
|
Python
[oeasy]python055_python编程_容易出现的问题_函数名的重新赋值_print_int
本文介绍了Python编程中容易出现的问题,特别是函数名、类名和模块名的重新赋值。通过具体示例展示了将内建函数(如`print`、`int`、`max`)或模块名(如`os`)重新赋值为其他类型后,会导致原有功能失效。例如,将`print`赋值为整数后,无法再用其输出内容;将`int`赋值为整数后,无法再进行类型转换。重新赋值后,这些名称失去了原有的功能,可能导致程序错误。总结指出,已有的函数名、类名和模块名不适合覆盖赋新值,否则会失去原有功能。如果需要使用类似的变量名,建议采用其他命名方式以避免冲突。
52 14
|
2月前
|
分布式计算 大数据 数据处理
技术评测:MaxCompute MaxFrame——阿里云自研分布式计算框架的Python编程接口
随着大数据和人工智能技术的发展,数据处理的需求日益增长。阿里云推出的MaxCompute MaxFrame(简称“MaxFrame”)是一个专为Python开发者设计的分布式计算框架,它不仅支持Python编程接口,还能直接利用MaxCompute的云原生大数据计算资源和服务。本文将通过一系列最佳实践测评,探讨MaxFrame在分布式Pandas处理以及大语言模型数据处理场景中的表现,并分析其在实际工作中的应用潜力。
115 2
|
2月前
|
Unix Linux 程序员
[oeasy]python053_学编程为什么从hello_world_开始
视频介绍了“Hello World”程序的由来及其在编程中的重要性。从贝尔实验室诞生的Unix系统和C语言说起,讲述了“Hello World”作为经典示例的起源和流传过程。文章还探讨了C语言对其他编程语言的影响,以及它在系统编程中的地位。最后总结了“Hello World”、print、小括号和双引号等编程概念的来源。
126 80

推荐镜像

更多