- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
使用夏普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
#incl udestdlib.h
intdustPin=0;
intledPower=2;
intdelayTime=280;
intdelayTime2=40;
floatoffTime=9680;
intdustVal=0;
inti=0;
floatppm=0;
char爏[32];
floatvoltage=0;
floatdustdensity=0;
floatppmpercf=0;
voidsetup(){
燬erial.begin(9600);
?pinMode(ledPower,OUT PUT);
?/ 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+dus tVal;
?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;
爄f(ppmpercf0)
牋?ppmpercf=0;
爄f(dustdens ity0)
牋?dustdensity=0;
爄f(dustdensity0.5)
牋?dustdensity=0.5;
燬tringdataString=;
?dataString+=dtostrf(voltage,9,4,s);
?dataString+=,;
?dataString+=dtostrf(dustdensity,5,2,s);
?dataString+=,;
?dataString+=dtostrf(ppmpercf,8,0,s);
?i=0;
? ppm=0;
燬erial.println(dataString);
?delay(1000);
您可能关注的文档
最近下载
- 知不足而奋进,望远山而力行——期中考前动员班会 课件.pptx VIP
- 05 专题五:二次函数与面积关系式、面积最值问题(铅锤法);中考复习二次函数压轴题题型分类突破练习.docx VIP
- xfer records serum血清合成器中文说明书.pdf VIP
- 审美鉴赏与创造知到智慧树期末考试答案题库2025年南昌大学.docx VIP
- JB∕T 7947-2017 气焊设备 焊接、切割及相关工艺用炬.docx VIP
- 响应曲面法(RSM).pptx VIP
- 上海普通公路设施养护维修预算定额上海普通公路设施养护维修.PDF
- 高频精选:保险行业面试题库及答案.doc VIP
- 试验设计与分析教学课件-响应曲面法.pptx VIP
- 村委换届选举实施方案4篇.doc VIP
原创力文档


文档评论(0)