兒子考完試後,從學校帶一盆仙人掌科的盆栽回來,放了幾天,也不知道什麼時候該澆水,又怕澆太多水或太少,植物會長不好。想用 Arduino 的土壤濕度傳感器來實做一個感測器。原本只用串列埠視窗讀取數值,可是平常哪會開電腦,於是設計一個 LED燈,濕度太低時,就亮燈,表示該澆水了。
感測器採用LM393晶片,這是一個簡易的濕度感測器,可用於檢測土壤的水份偵測,當土壤缺水時,感測器輸出的值變大,反之將降低。如果需要調整靈敏度,可調整圖中藍色電位器調節進行調整。
土壤濕度感測器模組,可以製作成一個自動澆花的裝置,當長時間不在家或需要自動澆水時,這個模組可以偵測到植物是否已經渴了。配合 Arduino 控制器可以讓植物更舒適,花園更智慧。
• 土壤濕度檢測模組
• 麵包板 x 1
• 連接線 x 若干條
測試的影片,在盆內時濕度是比較乾燥的,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燈亮;使用濕毛巾接觸感測器時燈熄滅。
[參考資料]
- 廠商提供之範例程式
非常清楚有趣
回覆刪除作者已經移除這則留言。
回覆刪除怎麼變成澆花系統呢?
回覆刪除Arduino還需要連接並控制抽水馬達,當濕度太低時,啟動抽水馬達,實作可能會遇到澆水太多來不及回傳感應值的問題,可能會用到時間控制。改天也來實作一下您的提議,謝謝!!
刪除很棒的實作
回覆刪除請問遺下可以借用程式碼給學弟妹教學用嗎?
回覆刪除可能會放在給學弟妹的網站
您好, 可以的。如果喜歡我的部落格, 也請多多推廣給您的朋友。
刪除張貼留言