使用夏普GP2Y1010AU0F灰尘传感器检测空气质量.docx

上传人:b****7 文档编号:16051864 上传时间:2023-07-10 格式:DOCX 页数:13 大小:805.71KB
下载 相关 举报
使用夏普GP2Y1010AU0F灰尘传感器检测空气质量.docx_第1页
第1页 / 共13页
使用夏普GP2Y1010AU0F灰尘传感器检测空气质量.docx_第2页
第2页 / 共13页
使用夏普GP2Y1010AU0F灰尘传感器检测空气质量.docx_第3页
第3页 / 共13页
使用夏普GP2Y1010AU0F灰尘传感器检测空气质量.docx_第4页
第4页 / 共13页
使用夏普GP2Y1010AU0F灰尘传感器检测空气质量.docx_第5页
第5页 / 共13页
使用夏普GP2Y1010AU0F灰尘传感器检测空气质量.docx_第6页
第6页 / 共13页
使用夏普GP2Y1010AU0F灰尘传感器检测空气质量.docx_第7页
第7页 / 共13页
使用夏普GP2Y1010AU0F灰尘传感器检测空气质量.docx_第8页
第8页 / 共13页
使用夏普GP2Y1010AU0F灰尘传感器检测空气质量.docx_第9页
第9页 / 共13页
使用夏普GP2Y1010AU0F灰尘传感器检测空气质量.docx_第10页
第10页 / 共13页
使用夏普GP2Y1010AU0F灰尘传感器检测空气质量.docx_第11页
第11页 / 共13页
使用夏普GP2Y1010AU0F灰尘传感器检测空气质量.docx_第12页
第12页 / 共13页
使用夏普GP2Y1010AU0F灰尘传感器检测空气质量.docx_第13页
第13页 / 共13页
亲,该文档总共13页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

使用夏普GP2Y1010AU0F灰尘传感器检测空气质量.docx

《使用夏普GP2Y1010AU0F灰尘传感器检测空气质量.docx》由会员分享,可在线阅读,更多相关《使用夏普GP2Y1010AU0F灰尘传感器检测空气质量.docx(13页珍藏版)》请在冰点文库上搜索。

使用夏普GP2Y1010AU0F灰尘传感器检测空气质量.docx

使用夏普GP2Y1010AU0F灰尘传感器检测空气质量

使用夏普GP2Y1010AU0F灰尘传感器检测空气质量

夏普灰尘传感器价格较便宜,能检测出室内空气中的灰尘和烟尘含量. 

检测原理

其原理如下图,传感器中心有个洞可以让空气自由流过,定向发射LED光,通过检测经过空气中灰尘折射过后的光线来判断灰尘的含量。

 

电路图

 

因为数据是通过pin5的电压模拟信号输出的,而树莓派的引脚不支持模拟信号直接读取(需要增加数模转换芯片),所以先用Arduino来实验。

Arduino代码

 

根据电路图,把Arduino和传感器连接起来:

1.Sharppin1(V-LED)=>5V串联1个150欧姆的电阻(最好在电阻一侧和GND之间再串联一个220uf的电容)

2.Sharppin2(LED-GND)=>GND

3.Sharppin3(LED)=>ArduinoPIN2(开关LED)

4.Sharppin4(S-GND)=>GND

5.Sharppin5(Vo)=>ArduinoA0pin(空气质量数据通过电压模拟信号输出)

6.Sharppin6(Vcc)=>5V

1./*

2.InterfacetoSharpGP2Y1010AU0FParticleSensor

3.ProgrambyChristopherNafis

4.WrittenApril2012

5.

6.

7.

8.

9.Sharppin1(V-LED)  =>5V(connectedto150ohmresister)

10.Sharppin2(LED-GND)=>ArduinoGNDpin

11.Sharppin3(LED)    =>Arduinopin2

12.Sharppin4(S-GND)  =>ArduinoGNDpin

13.Sharppin5(Vo)     =>ArduinoA0pin

14.Sharppin6(Vcc)    =>5V

15.*/

16.#include

17.#include

18.

19.intdustPin=0;

20.intledPower=2;

21.intdelayTime=280;

22.intdelayTime2=40;

23.floatoffTime=9680;

24.

25.intdustVal=0;

26.inti=0;

27.floatppm=0;

28.char s[32];

29.floatvoltage=0;

30.floatdustdensity=0;

31.floatppmpercf=0;

32.

33.voidsetup(){

34. Serial.begin(9600);

35. pinMode(ledPower,OUTPUT);

36.

37. //givetheethernetmoduletimetobootup:

38. delay(1000);

39.

40. i=0;

41. ppm=0;

42.}

43.

44.voidloop(){

45. i=i+1;

46. digitalWrite(ledPower,LOW);//powerontheLED

47. delayMicroseconds(delayTime);

48. dustVal=analogRead(dustPin);//readthedustvalue

49. ppm=ppm+dustVal;

50. delayMicroseconds(delayTime2);

51. digitalWrite(ledPower,HIGH);//turntheLEDoff

52. 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(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.println(dataString);

72. delay(1000);

73.}

把传感器和Ardiuno连接好后,可以连续打印出传感器的输出电压值。

输出电压大小和灰尘含量的曲线入下图:

 

通过电压的波形还可以判断是烟还是尘呢…

 

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2