物联网AI MicroPython传感器学习 之 GP2Y10粉尘传感器

news2024/11/14 22:28:10

学物联网,来万物简单IoT物联网!!在这里插入图片描述

一、产品简介

GP2Y10粉尘传感器用于检测非常细的空气漂浮颗粒物,主要用于空气净化系统中,传感器外观引脚如下图所示。
image.png
引脚定义

  • 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(adcObj,gpioObj) - 创建粉尘传感器驱动对象

  • 函数原型

gp2y10Obj = GP2Y10(adcObj,gpioObj)

  • 参数说明
参数类型必选参数?说明
adcObjADC传感器OUT配置引脚
传入ADC对象
gpioObjGPIO传感器LED配置引脚
传入Pin对象
  • 返回值

GP2Y10对象成功,返回GP2Y10对象;GP2Y10对象创建失败,抛出Exception

  • 示例代码
import gp2y10
from machine import GPIO,ADC

adcObj = ADC(Pin(32))
gpioObj = Pin(2,Pin.OUT)

gp2y10Obj=gp2y10.GP2Y10(adcObj,gpioObj)
print("gp2y10Obj inited!")
  • 输出
gp2y10Obj inited!

getVoltage() - 获取当前adc值

  • 函数功能:

获取当前adc值

  • 函数原型:

GP2Y10.getVoltage()

  • 参数说明:

  • 返回值:

返回当前adc值

  • 示例:
import gp2y10
from machine import GPIO,ADC
import utime

adcObj = ADC(Pin(32))
gpioObj = Pin(2,Pin.OUT)

gp2y10Obj=gp2y10.GP2Y10(adcObj,gpioObj)
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

四、接口案例

  • 案例代码
import gp2y10
from machine import GPIO,ADC
import utime

adcObj = ADC(Pin(32))
gpioObj = Pin(2,Pin.OUT)

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

参考文献及购买链接

[1] 粉尘传感器
[2] 粉尘传感器购买链接

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1133921.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Dos和DDos攻击

Dos Denialof Service拒绝服务,利用程序漏洞或一对一资源耗尽的,攻击有计算机网络宽带攻击和连通性攻击 分类: D网络:耗尽目标网络带宽资源 如:ICMP Flood, UDP Flood D协议:攻击协议漏洞发起的拒绝服务攻击 如…

Leetcode—17.电话号码的字母组合【中等】

2023每日刷题&#xff08;九&#xff09; Leetcode—17.电话号码的字母组合 回溯法解题 实现代码 class Solution { public:vector<string> table {"","","abc","def","ghi","jkl","mno",&quo…

leetCode 283 移动零

//right指向待处理序列的首部 //left指向处理后序列的尾部class Solution {public void swap(int[] nums, int left, int right){int tmp nums[left];nums[left] nums[right];nums[right] tmp;}public void moveZeroes(int[] nums) {int n nums.length;int left 0;int rig…

Oracle(6) Control File

一、oracle控制文件介绍 1、ORACLE控制文件概念 Oracle控制文件是Oracle数据库的一个重要元素&#xff0c;用于记录数据库的结构信息和元数据。控制文件包含了数据库的物理结构信息、数据字典信息、表空间和数据文件的信息等。在Oracle数据库启动时&#xff0c;控制文件会被读…

【c#】2022创建WEB API接口教程demo

c#创建WEB API接口 创建WEB API接口结果图涉及到的技术设计流程创建WEB API接口 结果图 涉及到的技术 设计流程 1、创建WEB api项目,使用控制器和penapi勾选上,第一次创建项目时没有勾选,因为感觉没啥用。后面跑项目的时候,要把接口用swagger去直接生成的时候,还是需要…

新的抓包神器,完全免费,支持多平台!

目前IOS端的抓包软件&#xff1a; HTTP Catcher&#xff08;网球&#xff09;&#xff0c;免费下载&#xff0c;完整版需要内购。 Storm Sniffer&#xff08;螃蟹&#xff09;&#xff0c;免费下载&#xff0c;完整版需要内购。 Thor&#xff08;锤子&#xff09;&#xff0…

安全设备

一.防火墙 5层应用层 防火墙 4层 udp tcp 协议 华为 厂商 华为 h3 1.区域划分 Dmz 停火区 Untrust 不安全区域 Trust 安全区域 防火墙 默认禁止所有 二.Waf Web 应用防火墙 放到web前面 产品 雷池 绿盟 软件 安…

proxy解决跨域问题

在使用vite工具创建的项目中解决跨域问题&#xff1a; 在vue.config.js中配置如下代码&#xff1a; const { defineConfig } require(‘vue/cli-service’) module.exports defineConfig({ transpileDependencies: true, server:{ proxy:{ ‘/path’:{ target:‘https://i.…

21 行为型模式-职责链模式

1 职责链模式介绍 2 职责链模式原理 3 职责链模式实现 责任链模式的实现非常简单&#xff0c;每一个具体的处理类都会保存在它之后的下一个处理类。当处理完成后&#xff0c;就会调用设置好的下一个处理类&#xff0c;直到最后一个处理类不再设置下一个处理类&#xff0c;这时…

美团悄悄上线社群团购“团买买”

我是卢松松&#xff0c;点点上面的头像&#xff0c;欢迎关注我哦&#xff01; 之前有社交电商&#xff1a;群买买、快团团、群团团、京喜团&#xff0c;而最近美团也上线了一款社群团购工具“团买买”的小程序。看来今年社群团购赛道非常热门啊&#xff0c;美团的“团买买”对…

【JAVA学习笔记】44 - 注解,元注解

项目代码 一、注解的引入 1)注解(Annotation)也被称为元数据(Metadata),用于修饰解释包、类、方法、属性、构造器、局部变量等数据信息。 2)和注释一样&#xff0c;注解不影响程序逻辑&#xff0c;但注解可以被编译或运行&#xff0c;相当于嵌入在代码中的补充信息。 3)在Ja…

回归预测 | MATLAB实现BO-BiLSTM贝叶斯优化双向长短期神经网络多输入单输出回归预测

回归预测 | MATLAB实现BO-BiLSTM贝叶斯优化双向长短期神经网络多输入单输出回归预测 目录 回归预测 | MATLAB实现BO-BiLSTM贝叶斯优化双向长短期神经网络多输入单输出回归预测效果一览基本介绍模型搭建程序设计参考资料 效果一览 基本介绍 MATLAB实现BO-BiLSTM贝叶斯优化双向长…

让MyEclispe中英文切换详解(附源码)

找到根目录 打开图中红框圈起来的myeclipse.ini文件&#xff08;或者选择使用记事本打开&#xff09; 在末尾添加 -Duser.languageen 这是设置成英文版 设置成中文则将 en 更改为 zh_cn就行了 -Duser.languageen-US -Duser.languagezh_cn

VMware 20.4 桥接网络配置

1、新建一个虚拟网卡&#xff0c;选择桥接模式 2、配置具体系统的网络适配器&#xff0c;选择自定义&#xff0c;选择刚才新建的网卡 3、开启虚拟机&#xff0c;进入命令行&#xff0c;修改以下文件&#xff0c;文件名可能不一样 vi /etc/netplan/01-network-manager-all.yaml…

深入浅出排序算法之希尔排序

目录 1. 原理 2. 代码实现 3. 性能分析 1. 原理 希尔排序法又称缩小增量法。希尔排序法的基本思想是&#xff1a;先选定一个整数&#xff0c;把待排序文件中所有记录分成个组&#xff0c;所有距离为的记录分在同一组内&#xff0c;并对每一组内的记录进行排序。然后&#xf…

Linux环境基础开发工具的使用

目录 一、Linux软件包管理器yum 1.1 Linux下载软件的方式 1.2 认识yum 1.3 查看软件包 1.4 安装软件 1.5 本地机器与云服务器文件互传 1.6 卸载软件 二、编辑器vim 2.1 vim下各模式的切换 2.2 命令模式下各命令汇总 2.3 底行模式各命令汇总 2.4 vim的简单配置 三…

二十一、设计模式之解释器模式

目录 二十一、设计模式之解释器模式能帮我们干什么&#xff1f;主要解决什么问题&#xff1f;优缺点优点缺点&#xff1a; 使用的场景角色和职责实现解释器 总结 二十一、设计模式之解释器模式 所属类型定义行为型允许你定义一个语言并解释该语言中的表达式 能帮我们干什么&am…

C++之lambda匿名函数总结(二百四十五)

简介&#xff1a; CSDN博客专家&#xff0c;专注Android/Linux系统&#xff0c;分享多mic语音方案、音视频、编解码等技术&#xff0c;与大家一起成长&#xff01; 优质专栏&#xff1a;Audio工程师进阶系列【原创干货持续更新中……】&#x1f680; 人生格言&#xff1a; 人生…

基于springboot实现人事管理系统项目【项目源码+论文说明】

基于springboot实现人事管理系统演示 摘要 首先,论文一开始便是清楚的论述了系统的研究内容。其次,剖析系统需求分析,弄明白“做什么”,分析包括业务分析和业务流程的分析以及用例分析,更进一步明确系统的需求。然后在明白了系统的需求基础上需要进一步地设计系统,主要包罗软件…

WordPress简约响应式个人博客Kratos主题

Kratos主题基于Bootstrap和Font Awesome的WordPress一个干净&#xff0c;简单且响应迅速的博客主题 下载地址 qnziyw点cn/cmsmb/wordpress/6559点html 注意&#xff1a;点换成小数点就可以了