2016/04/17

LinkIt ONE:簡單試用Grove灰塵感測器

簡單試用,真的非常簡單,就只是試一試而已,能動就收工。

首先感謝MakerPRO歐先生拿給我一套Grove感測器組合。

拿出Grove灰塵感測器,測量空氣中細懸浮微粒。
正面照。左下有兩個調整旋鈕,但根據官方資料,我們不可隨意更動。
背面照。
必須接在D8。
程式碼,完全抄自官方範例。
#define DUST_SENSOR_PIN  8
unsigned long duration;
unsigned long starttime;
unsigned long sampletime_ms = 2000;//sampe 30s
unsigned long lowpulseoccupancy = 0;
float ratio = 0;
float concentration = 0;


void setup(){
  Serial.begin(9600);
  pinMode(DUST_SENSOR_PIN, INPUT);
  starttime = millis(); //get the current time;
}

void loop(){
  duration = pulseIn(DUST_SENSOR_PIN, LOW);
  lowpulseoccupancy = lowpulseoccupancy + duration;

  if((millis() - starttime) >= sampletime_ms){ //if the sampel time = = 30s
    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("concentration = ");
    Serial.print(concentration);
    Serial.println(" pcs/0.01cf");
    Serial.println("\n");
   
    lowpulseoccupancy = 0;
    starttime = millis();
  }
}

然後打開序列埠監控視窗。
有興趣的人,請自行查閱官方文件,據說可測1微米與2.5微米,咦,真的嗎?

收工。

No comments:

Post a Comment