GP2Y1014AU0F粉尘传感器
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粉尘传感器相关推荐
- 树莓派空气质量检测之——GP2Y1010AU0F粉尘传感器模块的使用记录
项目场景: 笔者前段时间接触到了一个环境监测类的项目,需要对空气质量进行读取.也因此买了部分气体类的传感器进行调试.调试过程中就遇到了这么一个粉尘传感器--GP2Y1010AU0F.在树莓派上很多资料 ...
- 【雕爷学编程】Arduino动手做(121)---夏普粉尘传感器模块
37款传感器与执行器的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止这37种的.鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为 ...
- 全球及中国激光粉尘传感器行业投资前景与运营潜力研究报告2022版
全球及中国激光粉尘传感器行业投资前景与运营潜力研究报告2022版 --------------------------------------- [修订日期]:2021年12月 [搜索鸿晟信合研究院查 ...
- 【雕爷学编程】Arduino动手做(42)---PM2.5粉尘传感器
37款传感器与模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止37种的.鉴于本人手头积累了一些传感器和模块,依照实践(动手试试)出真知的理念,以学习和交流为目的,这里准备 ...
- GP2Y10粉尘传感器
1.粉尘传感器 GP2Y10是一款光学空气质量传感器,设计用来感应空气中的尘埃粒子,其内部对角安放着红外线发光二极管和光电晶体管,使得其能够探测到空气中尘埃反射光,即使非常细小的如烟草烟雾颗粒也能够被 ...
- ZPH01 粉尘传感器
产品描述 本传感器是采用先进PM2.5检测机理,实现对PM2.5的 检测.该传感器中PM2.5检测单元采用粒子计数原理,可 灵敏检测直径1μm以上灰尘颗粒物. 传感器出厂前经过老化.调试.标定.校准, ...
- 红外粉尘传感器和激光粉尘传感器有什么区别?
红外粉尘传感器和激光粉尘传感器有什么区别? 红外光电传感器在我们的生活中是一个很常见的物品,相信朋友们对它应该也是不陌生的,那关于粉尘对 红外光电传感器有影响吗这个问题大家了解过吗?下面就关于红外光电 ...
- GP2Y1010AU0F 粉尘传感器
作者 郑楠 简介 今天拿了实验室的粉尘传感器准备开始入手粉尘的检测工作,拿了 GP2Y1010AU0F 粉尘传感器.又向客服要了规格说明书,开始研究.嗯,输入电压 5V , TTL 串口通信. spe ...
- GP2Y1014AU粉尘传感器模块 PM2.5灰尘传感器代替GP2Y1010AU0F
目录 资料: 清单: 概观 规范 检测原理 测试代码: 测试得到的数据和空气质量对照: 排线位置: 不接电容电阻接线示意图: 添加一个150ohm的电阻和一个220uF的电容,接线如下图: 资料: 产 ...
最新文章
- VDI序曲二十三 制作OFFICE 2003应用程序虚拟化序列
- 清华首超新加坡国立大学,成亚洲第一;苏州大学成211学科黑马丨留言送书
- linux efi启动,可启动USB Linux的EFI/ UEFI
- 2003系统服务器,雨林木风 windows server 2003企业版服务器系统
- Array的sort() 方法
- 哥廷根,世界数学家的摇篮和圣地
- linux redis-trib.rb,linux 关于redis-trib.rb构建redis集群
- Windows Server上安装部署Zabbix agent
- 2)Oracle 公司的产品线介绍
- dd命令打包多个文件_linux下如何tar打包多个并列文件夹,如:将a文件夹 b文件夹 c文件夹,打包成d.tar文件...
- Unsupervised Learning | 对比学习——13篇论文综述
- CSS3参考手册(所有属性)
- 手机不能访问html文件,手机如何解决禁止访问网页
- 线上教学是计算机在什么方面的应用,浅谈线上线下混合式教学模式在计算机基础教学中应用...
- http和https的区别
- 【论文解读 | AAAI2020】NeuralCD:Neural Cognitive Diagnosis for Intelligent Education Systems
- Excel RTD函数入门
- nefu 1116 字符串加密
- Leetcode:125.验证回文串,917仅仅反转字母,387字符串的第一个唯一字符
- 想转行做程序员?转行不难,难的是以后不后悔。