|
本帖最后由 kenan13 于 2015-10-21 20:47 编辑
各位大神,我的DSM501颗粒传感器测试到的数据是这样的,数据波动挺大的,而我只把它放在我办公桌上,没有移动,周围环境也没有剧烈变化,代码用的是http://www.geek-workshop.com/for ... mp;highlight=dsm501 里面Simon提到的代码【感谢Simon】。
- // DSM501A的针脚按如下接入Arduino
- // DSM501A -3针脚接Arduino的5V
- // DSM501A -5针脚接Arduino的GND
- // DSM501A -2针脚接Arduino的D8
- int pin = 8;
- unsigned long duration;
- unsigned long starttime;
- unsigned long sampletime_ms = 30000;
- unsigned long lowpulseoccupancy = 0;
- float ratio = 0;
- float concentration = 0;
- void setup() {
- Serial.begin(9600);
- pinMode(8,INPUT);
- starttime = millis();
- }
- void loop() {
- duration = pulseIn(pin, LOW);
- lowpulseoccupancy = lowpulseoccupancy+duration;
- if ((millis()-starttime) > sampletime_ms)
- {
- ratio = lowpulseoccupancy/(sampletime_ms*10.0); // Integer percentage 0=>100
- concentration = 1.1*pow(ratio,3)-3.8*pow(ratio,2)+520*ratio+0.62; // using spec sheet curve
- //Serial.print(lowpulseoccupancy);
- // Serial.print(",");
- Serial.print(ratio);
- Serial.print(",");
- Serial.println(concentration);
- lowpulseoccupancy = 0;
- starttime = millis();
- }
- }
复制代码
请问这样的数据正常吗?
线路连接图如下:
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
|