赞
踩
37款传感器与执行器的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止这37种的。鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的,这里准备逐一动手尝试系列实验,不管成功(程序走通)与否,都会记录下来—小小的进步或是搞不掂的问题,希望能够抛砖引玉。
【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
实验一百二十一:夏普SHARP PM2.5 灰尘/粉尘传感器 GP2Y1014AU0F 带线
Arduino实验接线示意图
【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
实验一百二十一:夏普SHARP PM2.5 灰尘/粉尘传感器 GP2Y1014AU0F 带线
项目:模块测试
GP2Y1014AU0F Arduino Pin
1 Vled –> 5V (150ohm resistor)
2 LED-GND –> GND
3 LED –> Digital pin 2
4 S-GND –> GND
5 Vo –> Analog pin 0
6 Vcc –> 5V
LED引脚必须调节成1ms的周期
Arduino实验开源代码
/* 【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程) 实验一百二十一:夏普SHARP PM2.5 灰尘/粉尘传感器 GP2Y1014AU0F 带线 项目:模块测试 GP2Y1014AU0F Arduino Pin 1 Vled –> 5V (150ohm resistor) 2 LED-GND –> GND 3 LED –> Digital pin 2 4 S-GND –> GND 5 Vo –> Analog pin 0 6 Vcc –> 5V LED引脚必须调节成1ms的周期。 */ int dustPin=0; float dustVal=0; int ledPower=2; int delayTime=280; int delayTime2=40; float offTime=9680; void setup(){ Serial.begin(9600); pinMode(ledPower,OUTPUT); pinMode(dustPin, INPUT); } void loop(){ // ledPower is any digital pin on the arduino connected to Pin 3 on the sensor digitalWrite(ledPower,LOW); delayMicroseconds(delayTime); dustVal=analogRead(dustPin); delayMicroseconds(delayTime2); digitalWrite(ledPower,HIGH); delayMicroseconds(offTime); delay(1000); if (dustVal>36.455) Serial.println((float(dustVal/1024)-0.0356)*120000*0.035); }
测试得到的数据和空气质量对照:
3000 + = 很差
1050-3000 = 差
300-1050 = 一般
150-300 = 好
75-150 = 很好
0-75 = 非常好
呵呵,实验场所的空气质量一般般…
当检测到烟雾时,实验串口绘图器返回情况
Arduino实验场景图
实验开源图形编程(Mind+、编玩边学)
实验开源仿真编程(Linkboy V4.62)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。