magicpotato 发表于 2016-4-18 11:38:27

求助帖:PM25 检测求平均值

本帖最后由 magicpotato 于 2016-4-23 22:56 编辑

各位好:
新接触Arduino,纯新手,有个小白问题。
不会求平均值,试过很多次也不行。
想从灰尘传感器里读6次数据,然后取个平均值。





// for average

for(i=0;i<6;i++)
{
digitalWrite(ledPower,LOW);
delayMicroseconds(delayTime);
dustVal=analogRead(dustPin);
delayMicroseconds(delayTime2);
digitalWrite(ledPower,HIGH);
delayMicroseconds(offTime);   
delay(1000);

// for average
sum=PM25;
}
for(o=0;o<6;o++)
{
b=b+sum;
}
avg=b/6;

Serial.println(PM25);//实际的颗粒数
Serial.println(avg);//实际的颗粒数

}


zlucas 发表于 2016-4-18 19:37:11

给你一种思路,希望有帮助:):
定义数组temp或6个变量
当接收到新数据data_new后
temp=temp;
temp=temp;
...
temp=data_new;
avg=(temp+temp+...+temp)/6

magicpotato 发表于 2016-4-23 22:49:48

zlucas 发表于 2016-4-18 19:37 static/image/common/back.gif
给你一种思路,希望有帮助:
定义数组temp或6个变量
当接收到新数据data_new后


谢谢啊
我用这个了,可以了,每10s出一个平均值。
在尝试用for作这个
页: [1]
查看完整版本: 求助帖:PM25 检测求平均值