如何使用土壤感測器確定您的植物澆水時間

持續給植物澆水以及保持其健康狀態是很重要的。但是,如果您很難記住自己是否已經澆過水,或者您想要能夠有一個提醒,您可以透過使用土壤感測器製作一個設備來説明您追蹤植物土壤中的水分含量。本指南將向您展示如何進行操作。

工作原理

土壤感測器 具有兩個長探針,您需要將其插入植物土壤中。這些探針可以用作電阻器。乾燥的土壤導電性不是很好,所以這時候電阻值會更高。隨著水分含量的升高,電導率增加,從而使流向Arduino的電壓值增大。透過測量此電壓值,您的專案可以根據土壤的乾燥或潮濕程度進行回應。

該電壓值會被傳遞到您的專案中用作變數,並以對您來說最合適的方式對乾燥植物進行回應。例如,您可以將回應方式設置為用水噴灑植物。但在本項目中,為了簡單起見,我們將設置為當檢測到水分含量過低時打開LED。如果您看到燈亮了,那就說明該給植物澆水了。

使用此類感測器時要注意的很重要的一點是,金屬探針會隨著時間的推移發生氧化,從而失去其有效性。如果您經常使用它們,那麼可能需要每年更換一次感測器。不過這些感測器非常便宜,所以這應該不是什麼大問題。

所需部件

對於在本項目中我們要製作的版本,您不需要除了標準電子套件材料外的其他太多零件。但是需要注意的是,如果您想要將其部署在自己的花園中,那麼可能需要做一些額外的工作以確保您的項目不受戶外因素的影響。

Arduino Uno
濕度感測器
LED
麵包板&電線
Arduino IDE
USB數據線

 

如果您打算將此項目放在戶外或者其他Arduino可能會濺到水的地方,您可能還需要購買一個保護殼。

代碼

這個項目的代碼非常簡單。請將以下腳本複製到您的IDE並將其上傳到開發板。

int sensorPin = A0;
int moistureLevel ;
int LED = 6;
int sensorValue = 0;

void setup() {
Serial.begin(9600);
}
void loop() {
sensorValue = analogRead(sensorPin);
moistureLevel = map(sensorValue,0,550,0,100);
Serial.println(sensorValue);
delay(30);

if (moistureLevel < 50) {
analogWrite(LED, HIGH);
} else {
analogWrite(LED, LOW);
}
}

現在,在開始接線前,我們先來瞭解一下草圖中的每一部分。

int sensorPin = A0;
int moistureLevel ;
int LED = 6;
int sensorValue = 0;

首先,我們將會定義一些變數。sensorPin變數用於從濕度感測器讀取輸入值。moistureLevel變數會在把濕度值映射到可用範圍後將其進行存儲,而LED將會存儲引腳6的值。最後,我們將添加一個變數來存儲來自濕度感測器的值。

void setup() {
Serial.begin(9600);
}

設置部分相當簡單。根本上來說,我們只用啟動串列監視器來查看感測器輸出值即可。

sensorValue = analogRead(sensorPin);
moistureLevel = map(sensorValue,0,550,0,100);
Serial.println(sensorValue);
delay(30);

這裡的第一行將用於讀取濕度感測器的輸出。該輸出值的範圍是0到1023,所以下一行將用於把該值重新映射到0至100範圍內,這會使其更易於管理。然後該值會被輸出到串列監視器,以便您進行即時監控。最後,我們添加了一個簡短的延遲。您可以根據自己的需要對其進行調整。調整該設置不會有多大影響,但是濕度感測器無法過於頻繁地進行更新。

if (moistureLevel < 50) {
analogWrite(LED, HIGH);
} else {
analogWrite(LED, LOW);
}

在最後一部分中,我們將獲取來自濕度感測器並重新映射後的最終輸出值,然後透過使用該值來實現在植物太幹時打開LED。一旦輸出值低於50時,LED就會亮起,表示土壤已乾燥。當輸出值超過50,LED將會關閉。您可以根據在串列監視器看到的內容對此數位進行調整,以確保它可以準確反映植物的水分含量。

 

接線

這個項目的接線並不太複雜,但是您可以根據濕度感測器的輸出值設計回應動作,從而進一步擴展該工作電路。但在本項目中,我們只用一個LED作為響應。現在連接所有部件:

●將濕度感測器的GND引腳連接到Arduino的GND。
●將濕度感測器的VCC引腳連接到5V。
●將濕度感測器的信號引腳連接到引腳A0。
●將LED的短腳連接到引腳6。
●在LED的長腳一端連接一個220歐姆的電阻。
●將電阻的另一端接地。

完成後,將濕度感測器放入盆栽土壤中,並使用串列監視器監測它返回的值。您可以根據自己的需要對代碼進行調整。您還可以嘗試透過添加其他部件來擴展此項目。例如,您可以將項目設置為在植物變幹時進行自動噴灑操作。