- 1、本文档共13页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
使用夏普GP2Y1010AU0F灰尘传感器检测空气质量
使用夏普GP2Y1010AU0F灰尘传感器检测空气质量
夏普灰尘传感器价格较便宜,能检测出室内空气中的灰尘和烟尘含量.?
检测原理
其原理如下图,传感器中心有个洞可以让空气自由流过,定向发射LED光,通过检测经过空气中灰尘折射过后的光线来判断灰尘的含量。
电路图
因为数据是通过pin 5的电压模拟信号输出的,而树莓派的引脚不支持模拟信号直接读取(需要增加数模转换芯片),所以先用Arduino来实验。
Arduino 代码
?
根据电路图, 把Arduino和传感器连接起来:
Sharp pin 1 (V-LED) = 5V 串联1个150欧姆的电阻(最好在电阻一侧和GND之间再串联一个220uf的电容)
Sharp pin 2 (LED-GND) = GND
Sharp pin 3 (LED) = Arduino PIN 2 (开关LED)
Sharp pin 4 (S-GND) = GND
Sharp pin 5 (Vo) = Arduino A0 pin (空气质量数据通过电压模拟信号输出)
Sharp pin 6 (Vcc) = 5V
/*
Interface to Sharp GP2Y1010AU0F Particle Sensor
Program by Christopher Nafis
Written April 2012
/pic//datasheets/Sensors/gp2y1010au_e.pdf
/pic//?p=479
Sharp pin 1 (V-LED)?? = 5V (connected to 150ohm resister)
Sharp pin 2 (LED-GND) = Arduino GND pin
Sharp pin 3 (LED)???? = Arduino pin 2
Sharp pin 4 (S-GND)?? = Arduino GND pin
Sharp pin 5 (Vo)????? = Arduino A0 pin
Sharp pin 6 (Vcc)???? = 5V
*/
#includeSPI.h
#includestdlib.h
intdustPin=0;
intledPower=2;
intdelayTime=280;
intdelayTime2=40;
floatoffTime=9680;
intdustVal=0;
inti=0;
floatppm=0;
char?s[32];
floatvoltage=0;
floatdustdensity=0;
floatppmpercf=0;
voidsetup(){
?Serial.begin(9600);
? pinMode(ledPower,OUTPUT);
?// give the ethernet module time to boot up:
? delay(1000);
? i=0;
? ppm=0;
}
voidloop(){
? i=i+1;
? digitalWrite(ledPower,LOW);// power on the LED
? delayMicroseconds(delayTime);
? dustVal=analogRead(dustPin);// read the dust value
? ppm=ppm+dustVal;
? delayMicroseconds(delayTime2);
? digitalWrite(ledPower,HIGH);// turn the LED off
? delayMicroseconds(offTime);
? voltage=ppm/i*0.0049;
? dustdensity=0.17*voltage-0.1;
? ppmpercf=(voltage-0.0256)*120000;
?if(ppmpercf0)
??? ppmpercf=0;
?if(dustdensity0)
??? dustdensity=0;
?if(dustdensity0.5)
??? dustdensity=0.5;
?StringdataString=;
? dataString+=dtostrf(voltage,9,4,s);
? dataString+=,;
? dataString+=dtostrf(dustdensity,5,2,s);
? dataString+=,;
? dataString+=dtostrf(ppmpercf,8,0,s);
? i=0;
? ppm=0;
?Serial.println(dataString);
? delay(1000);
}
把传感器和Ardiuno连接好后,可以连续打印出传感器的输出电压值。输出电压大小和灰尘含量
您可能关注的文档
- 传感器技术知识复习要点(2015自动化).pptx
- 传感器的一般特性 -第一章.ppt
- 传感器用薄膜材料与技术.ppt
- 传感器论文—张佳—5011213301.docx
- 传感器设计报告.doc
- 传染病法培训试题.docx
- 传染病防治与消毒管理办法试题 (137题).doc
- 传播的模式.ppt
- 传热、蒸发.doc
- 传热学 资料(考研、期末复习)题库.doc
- 半导体材料性能提升技术突破与应用案例分析报告.docx
- 半导体设备国产化政策支持下的关键技术突破与应用前景报告.docx
- 剧本杀市场2025年区域扩张策略研究报告.docx
- 剧本杀行业2025人才培训体系构建中的市场需求与供给分析.docx
- 剧本杀行业2025年人才培训行业人才培养模式创新与探索.docx
- 剧本杀行业2025年内容创作人才需求报告.docx
- 剧本杀行业2025年区域市场区域剧本市场消费者满意度与市场竞争力研究报告.docx
- 剧本杀市场2025年区域竞争态势下的区域合作策略分析报告.docx
- 剧本杀行业2025人才培训与行业人才培养模式创新.docx
- 剧本杀行业剧本创作人才心理素质培养报告.docx
文档评论(0)