關於 Sharp GP2Y1051A
基本上如果不深論處理的公式原理,那就直接套用!
但是唯一要記的就是 上傳 時候,
一定要把TX線 移除!
如果不移除會搶到USB的TX腳位
因為是用同一線路,會一直失敗!
如果不移除會搶到USB的TX腳位
因為是用同一線路,會一直失敗!
int incomeByte[7];
int data;
int z=0;
int sum,count;
unsigned long starttime;
float average_pm2d5,sum_2s;
//#include <SD.h>
//File myFile;
void setup()
{
Serial.begin(2400);
//SD.begin(4);
starttime=millis();
}
void loop()
{
while (Serial.available()>0){
data=Serial.read();
if(data == 170){
z=0;
incomeByte[z]=data;
}
else{
z++;
incomeByte[z]=data;
}
if(z==6)
{
sum=incomeByte[1]+ incomeByte[2]+ incomeByte[3] + incomeByte[4];
if(incomeByte[5]==sum && incomeByte[6]==255 )
{
float vo=(incomeByte[1]*256.0+incomeByte[2])/1024.00*5.000;
float c=vo*700;
sum_2s=sum_2s+c;
count++;
if(abs(millis()-starttime)>2000){
average_pm2d5=(sum_2s/count)*1.00;
Serial.print("PM2.5_Average = ");
Serial.println(average_pm2d5,2);
starttime=millis();
sum_2s=0;
count=0;
}
}
else{
z=0;
Serial.flush();
data='/0';
for(int m=0;m<7;m++){
incomeByte[m]=0;
}
}
z=0;
}
}
}
留言
張貼留言