這篇文章來源于DevicePlus英語網站的翻譯稿。
持續給植物澆水以及保持其健康狀態是很重要的。但是,如果您很難記住自己是否已經澆過水,或者您想要能夠有一個提醒,您可以通過使用土壤傳感器制作一個設備來幫助您追蹤植物土壤中的水分含量。本指南將向您展示如何進行操作。
工作原理
土壤傳感器具有兩個長探針,您需要將其插入植物土壤中。這些探針可以用作電阻器。干燥的土壤導電性不是很好,所以這時候電阻值會更高。隨著水分含量的升高,電導率增加,從而使流向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歐姆的電阻。
● 將電阻的另一端接地。
完成后,將濕度傳感器放入盆栽土壤中,并使用串行監視器監測它返回的值。您可以根據自己的需要對代碼進行調整。您還可以嘗試通過添加其他部件來擴展此項目。例如,您可以將項目設置為在植物變干時進行自動噴灑操作。
DevicePlus 編輯團隊
設備升級版適用于所有熱愛電子和機電一體化的人。
審核編輯黃宇
評論