Sensors Specification - Pm25Cleaner

最後編輯:2015-12-28 建立:2015-12-25 歷史紀錄

 

WUULONG S有人想在 PM25 值高的時候來開關空氣清淨機

 

使用零件包 (linkit one) + lass標準零件包

 

Hardware Info

Feature:

Where to buy: icchip

Datasheet:

Experience sharing: TBA

 

顏小華設備 linktit one,標準零件包,

已有relay, 硬體接線已完成,亦測試ok

 

 

WUULONG S找 SENSOR CUSTOMIZATION ,這部分是客製化的部分

由於情境和 PM25 很類似,所以將 APP_ID == (APPTYPE_SYSTEM_BASE+1) 的 code 複製出來

 

sensorType[SENSOR_ID_DUST] : PM2.5 值的位置

sensorType[SENSOR_ID_DUST10] : PM10 值的位置

 

  • control_cleaner(){
  • if(sensorValue[SENSOR_CNT]> xxx){
  • high_cnt ++;
  • if( high_cnt > yyy )
  • relay_on()
  • high_cnt = yyy
  • }
  • else{
  • if(high_cnt>0)
  • high_cnt--;
  • else
  • relay_off()
  • }
  • }

loop(){

...

get_sensor_data();

加 code 在這裡,建議寫成一個 function

control_cleaner();

...

}

 

基本上這樣會動,但是由於 senosr 值有時會飄動與異常,這樣會讓 relay 勿動作

    cclljj@gmail.com建議可以取前 n 次的平均做判斷(做 moving average),避免sensor值的震盪造成開開關關的現象

 

所以要加一個簡單的判斷,目的是躲掉異常情況。

目前簡單的邏輯是要 PM2.5 > xxx 比 < xxx 多 yyy 次, 才會起動 relay, 當反過來時,就會關掉 relay

 

 

備註:此邏輯僅提供參考,不確定正確,請自行 debug