Arduino筆記(27):土壤濕度檢測YL-38 + YL-69

兒子考完試後,從學校帶一盆仙人掌科的盆栽回來,放了幾天,也不知道什麼時候該澆水,又怕澆太多水或太少,植物會長不好。想用 Arduino 的土壤濕度傳感器來實做一個感測器。原本只用串列埠視窗讀取數值,可是平常哪會開電腦,於是設計一個 LED燈,濕度太低時,就亮燈,表示該澆水了。

感測器採用LM393晶片,這是一個簡易的濕度感測器,可用於檢測土壤的水份偵測,當土壤缺水時,感測器輸出的值變大,反之將降低。如果需要調整靈敏度,可調整圖中藍色電位器調節進行調整。

土壤濕度感測器模組,可以製作成一個自動澆花的裝置,當長時間不在家或需要自動澆水時,這個模組可以偵測到植物是否已經渴了。配合 Arduino 控制器可以讓植物更舒適,花園更智慧。


[材料]

• Arduino Nano x 1
• 土壤濕度檢測模組
• 麵包板 x 1
• 連接線 x 若干條


[接線]

將土壤濕度檢測模組(因找不到 Fritzing相同的兩件式土壤濕度檢測模組圖,只好用單一個的偵測器替代)的 VCC及GND,分別接到 Arduino的 5V及GND,感測器的AO接到 Arduino A2。LED 兩隻腳接地跟 Pin 3。



[程式]

const int sensorPin=2;
int LEDRed = 3;
void setup()
{
  pinMode(LEDRed, OUTPUT);    
  pinMode(sensorPin,INPUT);
  Serial.begin(9600);
}
 
void loop()
{
  int moist;
  moist = analogRead(sensorPin);
  Serial.println(moist);
  
  // 乾燥程度大於 800 時,亮燈
  if (moist > 800) {
       digitalWrite(LEDRed, HIGH); }
  else {
      digitalWrite(LEDRed, LOW);  }
  delay(1000);
}

[執行結果]

從串列介面顯示偵測到的濕度值:


測試的影片,在盆內時濕度是比較乾燥的,LED燈亮;使用濕毛巾接觸感測器時燈熄滅。

[參考資料]

  • 廠商提供之範例程式

7 留言

  1. 作者已經移除這則留言。

    回覆刪除
  2. 怎麼變成澆花系統呢?

    回覆刪除
    回覆
    1. Arduino還需要連接並控制抽水馬達,當濕度太低時,啟動抽水馬達,實作可能會遇到澆水太多來不及回傳感應值的問題,可能會用到時間控制。改天也來實作一下您的提議,謝謝!!

      刪除
  3. 請問遺下可以借用程式碼給學弟妹教學用嗎?
    可能會放在給學弟妹的網站

    回覆刪除
    回覆
    1. 您好, 可以的。如果喜歡我的部落格, 也請多多推廣給您的朋友。

      刪除

張貼留言

較新的 較舊