【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

目录
打赏
0
0
0
0
1007
分享
相关文章
Numba是一个Python库,用于对Python代码进行即时(JIT)编译,以便在硬件上高效执行。
Numba是一个Python库,用于对Python代码进行即时(JIT)编译,以便在硬件上高效执行。
由于楼层自动化系统的复杂性和多样性,很难给出一个通用的Python代码示例,因为每个系统可能使用不同的硬件、通信协议和软件接口。
由于楼层自动化系统的复杂性和多样性,很难给出一个通用的Python代码示例,因为每个系统可能使用不同的硬件、通信协议和软件接口。
【Python入门系列】第二十一篇:Python物联网和传感器应用
物联网和传感器在现代科技中扮演着重要的角色。物联网是指通过互联网连接各种设备和传感器,实现设备之间的通信和数据交换。传感器则是物联网的核心组成部分,用于感知和采集环境中的各种数据。在这篇文章中,我们将探讨使用Python开发物联网和传感器应用的主题。
597 0
ESP32 + Python 还不知道怎么垃圾分类? 用HaaS DIY一个智能垃圾桶吧
ESP32 + Python 还不知道怎么垃圾分类? 用HaaS DIY一个智能垃圾桶吧
274 0
饭碗空空 猫猫流泪 用HaaS Python DIY一个宠物自动投食器 再也不用担心主子挨饿
饭碗空空 猫猫流泪 用HaaS Python DIY一个宠物自动投食器 再也不用担心主子挨饿
221 0
探索Python编程:从基础到高级
在这篇文章中,我们将一起深入探索Python编程的世界。无论你是初学者还是有经验的程序员,都可以从中获得新的知识和技能。我们将从Python的基础语法开始,然后逐步过渡到更复杂的主题,如面向对象编程、异常处理和模块使用。最后,我们将通过一些实际的代码示例,来展示如何应用这些知识解决实际问题。让我们一起开启Python编程的旅程吧!
Python编程入门:从零基础到实战应用
本文是一篇面向初学者的Python编程教程,旨在帮助读者从零开始学习Python编程语言。文章首先介绍了Python的基本概念和特点,然后通过一个简单的例子展示了如何编写Python代码。接下来,文章详细介绍了Python的数据类型、变量、运算符、控制结构、函数等基本语法知识。最后,文章通过一个实战项目——制作一个简单的计算器程序,帮助读者巩固所学知识并提高编程技能。
[oeasy]python053_学编程为什么从hello_world_开始
视频介绍了“Hello World”程序的由来及其在编程中的重要性。从贝尔实验室诞生的Unix系统和C语言说起,讲述了“Hello World”作为经典示例的起源和流传过程。文章还探讨了C语言对其他编程语言的影响,以及它在系统编程中的地位。最后总结了“Hello World”、print、小括号和双引号等编程概念的来源。
120 80
|
2天前
|
Python高性能编程:五种核心优化技术的原理与Python代码
Python在高性能应用场景中常因执行速度不及C、C++等编译型语言而受质疑,但通过合理利用标准库的优化特性,如`__slots__`机制、列表推导式、`@lru_cache`装饰器和生成器等,可以显著提升代码效率。本文详细介绍了这些实用的性能优化技术,帮助开发者在不牺牲代码质量的前提下提高程序性能。实验数据表明,这些优化方法能在内存使用和计算效率方面带来显著改进,适用于大规模数据处理、递归计算等场景。
20 6
Python高性能编程:五种核心优化技术的原理与Python代码
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等