GP2Y1014AU0F粉尘传感器

概述

GP2Y1014AU0F粉尘传感器是由夏普公司生产的一款光学灰尘传感器

组成

工作原理

传感器中心有一个圆形的洞,空气可以自由流过。

基本参数

重要参数

  • 供电电压:5~7V
  • 消耗电流:最大20mA
  • 清洁空气中的电压值:0.9V
  • 最小粒子检出值:0.7μm
  • 灵敏度:0.5V/(mg/m³)

其他参数

  • 工作温度:-10~65℃(该温度下可正常工作)
  • 存储温度:-20~85℃(该温度下传感器参数不改变)
  • 使用寿命:5年
  • 尺寸大小:46mm×30mm×17.6mm
  • 重量大小:15g

电路连接

程序设计

gp2y1014au0f.c

#include "gp2y1014au0f.h"
#include "delay.h"/*初始化ADC*/
void  Adc_Init(void)
{   ADC_InitTypeDef ADC_InitStructure; GPIO_InitTypeDef GPIO_InitStructure;RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_GPIOB |RCC_APB2Periph_ADC1    , ENABLE );   //使能ADC1通道时钟RCC_ADCCLKConfig(RCC_PCLK2_Div6);   //设置ADC分频因子6 72M/6=12,ADC最大时间不能超过14M//PA1 作为模拟通道输入引脚                         GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0;GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AIN;        //模拟输入引脚GPIO_Init(GPIOA, &GPIO_InitStructure);  //PB1 作为脉冲输出引脚   GPIO_InitStructure.GPIO_Pin = GPIO_Pin_1;                  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;           GPIO_Init(GPIOB, &GPIO_InitStructure);GP2Y_High;ADC_DeInit(ADC1);  //复位ADC1,将外设 ADC1 的全部寄存器重设为缺省值ADC_InitStructure.ADC_Mode = ADC_Mode_Independent;   //ADC工作模式:ADC1和ADC2工作在独立模式ADC_InitStructure.ADC_ScanConvMode = DISABLE;    //模数转换工作在单通道模式ADC_InitStructure.ADC_ContinuousConvMode = DISABLE;  //模数转换工作在单次转换模式ADC_InitStructure.ADC_ExternalTrigConv = ADC_ExternalTrigConv_None; //转换由软件而不是外部触发启动ADC_InitStructure.ADC_DataAlign = ADC_DataAlign_Right; //ADC数据右对齐ADC_InitStructure.ADC_NbrOfChannel = 1;  //顺序进行规则转换的ADC通道的数目ADC_Init(ADC1, &ADC_InitStructure);  //根据ADC_InitStruct中指定的参数初始化外设ADCx的寄存器   ADC_Cmd(ADC1, ENABLE);  //使能指定的ADC1ADC_ResetCalibration(ADC1);  //使能复位校准  while(ADC_GetResetCalibrationStatus(ADC1));   //等待复位校准结束ADC_StartCalibration(ADC1);    //开启AD校准while(ADC_GetCalibrationStatus(ADC1));     //等待校准结束//  ADC_SoftwareStartConvCmd(ADC1, ENABLE); //使能指定的ADC1的软件转换启动功能
}
//获得ADC值
//ch:通道值 0~3
u16 Get_Adc(u8 ch)
{//设置指定ADC的规则组通道,一个序列,采样时间ADC_RegularChannelConfig(ADC1, ch, 0, ADC_SampleTime_239Cycles5 );  //ADC1,ADC通道,采样时间为239.5周期                   ADC_SoftwareStartConvCmd(ADC1, ENABLE);     //使能指定的ADC1的软件转换启动功能    while(!ADC_GetFlagStatus(ADC1, ADC_FLAG_EOC ));//等待转换结束return ADC_GetConversionValue(ADC1);     //返回最近一次ADC1规则组的转换结果
}float GetGP2Y(void)
{u32 AD_PM;  double pm; GP2Y_Low;delay_us(280);AD_PM = Get_Adc(ADC_Channel_0); //PA0delay_us(40);GP2Y_High;delay_us(9680);pm = 0.17*AD_PM-0.1; //转换公式//printf("%f\n",pm);return pm;
} u16 Get_GP2Y_Average(u8 times)
{u32 pm_val=0;u8 t;for(t=0;t<times;t++){pm_val+=GetGP2Y();delay_ms(5);}return pm_val/times;
} 

gp2y1014au0f.h

#ifndef __GP2Y1014AU0F_H
#define __GP2Y1014AU0F_H
#include "sys.h"#define GP2Y_High GPIO_SetBits(GPIOB,GPIO_Pin_1);
#define GP2Y_Low  GPIO_ResetBits(GPIOB,GPIO_Pin_1);float GetGP2Y(void);
void Adc_Init(void);
u16  Get_Adc(u8 ch);
u16 Get_GP2Y_Average(u8 times);#endif 

GP2Y1014AU0F粉尘传感器相关推荐

  1. 树莓派空气质量检测之——GP2Y1010AU0F粉尘传感器模块的使用记录

    项目场景: 笔者前段时间接触到了一个环境监测类的项目,需要对空气质量进行读取.也因此买了部分气体类的传感器进行调试.调试过程中就遇到了这么一个粉尘传感器--GP2Y1010AU0F.在树莓派上很多资料 ...

  2. 【雕爷学编程】Arduino动手做(121)---夏普粉尘传感器模块

    37款传感器与执行器的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止这37种的.鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为 ...

  3. 全球及中国激光粉尘传感器行业投资前景与运营潜力研究报告2022版

    全球及中国激光粉尘传感器行业投资前景与运营潜力研究报告2022版 --------------------------------------- [修订日期]:2021年12月 [搜索鸿晟信合研究院查 ...

  4. 【雕爷学编程】Arduino动手做(42)---PM2.5粉尘传感器

    37款传感器与模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止37种的.鉴于本人手头积累了一些传感器和模块,依照实践(动手试试)出真知的理念,以学习和交流为目的,这里准备 ...

  5. GP2Y10粉尘传感器

    1.粉尘传感器 GP2Y10是一款光学空气质量传感器,设计用来感应空气中的尘埃粒子,其内部对角安放着红外线发光二极管和光电晶体管,使得其能够探测到空气中尘埃反射光,即使非常细小的如烟草烟雾颗粒也能够被 ...

  6. ZPH01 粉尘传感器

    产品描述 本传感器是采用先进PM2.5检测机理,实现对PM2.5的 检测.该传感器中PM2.5检测单元采用粒子计数原理,可 灵敏检测直径1μm以上灰尘颗粒物. 传感器出厂前经过老化.调试.标定.校准, ...

  7. 红外粉尘传感器和激光粉尘传感器有什么区别?

    红外粉尘传感器和激光粉尘传感器有什么区别? 红外光电传感器在我们的生活中是一个很常见的物品,相信朋友们对它应该也是不陌生的,那关于粉尘对 红外光电传感器有影响吗这个问题大家了解过吗?下面就关于红外光电 ...

  8. GP2Y1010AU0F 粉尘传感器

    作者 郑楠 简介 今天拿了实验室的粉尘传感器准备开始入手粉尘的检测工作,拿了 GP2Y1010AU0F 粉尘传感器.又向客服要了规格说明书,开始研究.嗯,输入电压 5V , TTL 串口通信. spe ...

  9. GP2Y1014AU粉尘传感器模块 PM2.5灰尘传感器代替GP2Y1010AU0F

    目录 资料: 清单: 概观 规范 检测原理 测试代码: 测试得到的数据和空气质量对照: 排线位置: 不接电容电阻接线示意图: 添加一个150ohm的电阻和一个220uF的电容,接线如下图: 资料: 产 ...

最新文章

  1. VDI序曲二十三 制作OFFICE 2003应用程序虚拟化序列
  2. 清华首超新加坡国立大学,成亚洲第一;苏州大学成211学科黑马丨留言送书
  3. linux efi启动,可启动USB Linux的EFI/ UEFI
  4. 2003系统服务器,雨林木风 windows server 2003企业版服务器系统
  5. Array的sort() 方法
  6. 哥廷根,世界数学家的摇篮和圣地
  7. linux redis-trib.rb,linux 关于redis-trib.rb构建redis集群
  8. Windows Server上安装部署Zabbix agent
  9. 2)Oracle 公司的产品线介绍
  10. dd命令打包多个文件_linux下如何tar打包多个并列文件夹,如:将a文件夹 b文件夹 c文件夹,打包成d.tar文件...
  11. Unsupervised Learning | 对比学习——13篇论文综述
  12. CSS3参考手册(所有属性)
  13. 手机不能访问html文件,手机如何解决禁止访问网页
  14. 线上教学是计算机在什么方面的应用,浅谈线上线下混合式教学模式在计算机基础教学中应用...
  15. http和https的区别
  16. 【论文解读 | AAAI2020】NeuralCD:Neural Cognitive Diagnosis for Intelligent Education Systems
  17. Excel RTD函数入门
  18. nefu 1116 字符串加密
  19. Leetcode:125.验证回文串,917仅仅反转字母,387字符串的第一个唯一字符
  20. 想转行做程序员?转行不难,难的是以后不后悔。

热门文章

  1. IBM部门介绍:研发部(RD)【CDL、CRL、CSTL】
  2. 好薪酬制度的两个特征
  3. 用友ERP U8软件安装
  4. LAH 笔记 cron
  5. Windows10系统中怎么使用32位IE浏览器?
  6. SW2016提示cosworks.dll无法装入。
  7. Win11添加维吾尔语的方法
  8. 计算机网络常用的英文缩写,计算机和网络常用英文词汇和缩写
  9. PLC串行通信程序怎么编写?
  10. java之九 基本输入输出流