使用夏普GP2Y1010AU0F灰尘传感器检测空气质量_第1页
使用夏普GP2Y1010AU0F灰尘传感器检测空气质量_第2页
使用夏普GP2Y1010AU0F灰尘传感器检测空气质量_第3页
使用夏普GP2Y1010AU0F灰尘传感器检测空气质量_第4页
使用夏普GP2Y1010AU0F灰尘传感器检测空气质量_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、使用夏普GP2Y1010AU0F灰尘传感器检测空气质量夏普灰尘传感器价格较便宜,能检测出室内空气中的灰尘和烟尘含量. 检测原理其原理如下图,传感器中心有个洞可以让空气自由流过,定向发射LED光,通过检测经过空气中灰尘折射过后的光线来判断灰尘的含量。电路图因为数据是通过pin 5的电压模拟信号输出的,而树莓派的引脚不支持模拟信号直接读取(需要增加数模转换芯片),所以先用Arduino来实验。Arduino 代码 根据电路图, 把Arduino和传感器连接起来:1. Sharp pin 1 (V-LED) => 5V 串联1个150欧姆的电阻(最好在电阻一侧和GND之间再

2、串联一个220uf的电容)2. Sharp pin 2 (LED-GND) => GND3. Sharp pin 3 (LED) => Arduino PIN 2 (开关LED)4. Sharp pin 4 (S-GND) => GND5. Sharp pin 5 (Vo) => Arduino A0 pin (空气质量数据通过电压模拟信号输出)6. Sharp pin 6 (Vcc) => 5V1. /*2. Interface to Sharp GP2Y1010AU0F Particle Sensor3. Program by Christopher Nafi

3、s4. Written April 20125.6. 7. 8.9. Sharp pin 1 (V-LED)   => 5V (connected to 150ohm resister)10. Sharp pin 2 (LED-GND) => Arduino GND pin11. Sharp pin 3 (LED)     => Arduino pin 212. Sharp pin 4 (S-GND)   => Arduino GND pin13. Sharp pin 5 (Vo) 

4、;     => Arduino A0 pin14. Sharp pin 6 (Vcc)     => 5V15. */16. #include<SPI.h>17. #include<stdlib.h>18.19. intdustPin=0;20. intledPower=2;21. intdelayTime=280;22. intdelayTime2=40;23. floatoffTime=9680;24.25. intdustVal=0;26. inti=0;27. floa

5、tppm=0;28. char s32;29. floatvoltage=0;30. floatdustdensity=0;31. floatppmpercf=0;32.33. voidsetup()34.  Serial.begin(9600);35.   pinMode(ledPower,OUTPUT);36.37.  / give the ethernet module time to boot up:38.   delay(1000);39.40.   i=0;41.   ppm=0;42. 43.44. voidl

6、oop()45.   i=i+1;46.   digitalWrite(ledPower,LOW);/ power on the LED47.   delayMicroseconds(delayTime);48.   dustVal=analogRead(dustPin);/ read the dust value49.   ppm=ppm+dustVal;50.   delayMicroseconds(delayTime2);51.   digitalWrite(ledPower,HIGH);/ turn the LED

7、off52.   delayMicroseconds(offTime);53.54.   voltage=ppm/i*0.0049;55.   dustdensity=0.17*voltage-0.1;56.   ppmpercf=(voltage-0.0256)*120000;57.  if(ppmpercf<0)58.     ppmpercf=0;59.  if(dustdensity<0)60.     dustdensity=0;61.  if

8、(dustdensity>0.5)62.     dustdensity=0.5;63.  StringdataString=""64.   dataString+=dtostrf(voltage,9,4,s);65.   dataString+=","66.   dataString+=dtostrf(dustdensity,5,2,s);67.   dataString+=","68.   dataString+=dtostrf(ppmpercf,8,0,s);69.   i=0;70.   ppm=0;71.  Serial.

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论