隨著每個人都開始看到農作物健康帶來的好處,智慧農場變得越來越受歡迎,我知道很多人會對智慧農場自動化感興趣。因此,今天我們將探討如何使用Arduino開發板和土壤濕度傳感器來確定土壤中的水分含量。
土壤水分通常是指土壤顆粒之間空間中的水分含量。這是決定農作物生長及其健康狀況的一個非常重要的因素。土壤濕度傳感器通過使用與土壤相關的其他屬性間接地測量體積水含量,而不是用舊的重量法測量土壤水含量。本篇文章中使用的土壤濕度傳感器使用土壤的電阻來確定土壤濕度。土壤的電阻隨著土壤中水量的增加而降低。反之,土壤中的電阻隨著土壤中水量的減少而增加。傳感器由一個探頭和一個帶有可調電位器的比較器組成,可用于設置傳感器的靈敏度。
由于不同制造商的需求和設計技巧,傳感器采用不同的形式,便宜些的傳感器帶有單獨的比較器板,該比較器板通過跨接線連接到探頭,如上圖所示,該版本的傳感器包括一個模數轉換器,允許將該傳感器用作數字傳感器。像Sparkfun這樣的制造商提供的其他版本的傳感器可能會將所有電子器件都連接到了探頭上。無論傳感器的外形尺寸如何,其連接方式和用途都是相同的。
該傳感器的一些功能包括:
√ 工作電壓:3.3V?5V。
√ 可調靈敏度(使用藍色數字電位器調整)
√ 雙輸出模式,模擬輸出更加精確。
√ 固定的螺栓孔,易于安裝。
√ 帶電源指示燈(紅色)和數字開關輸出指示燈(綠色)。
√ LM393比較器芯片。
√ 面板PCB尺寸:3mmx 1.5mm。
√ 土壤探針尺寸:6cm x 2cm。
√ 電纜長度:21厘米。
下圖所示的傳感器探頭由兩個大的焊盤組成,用于測試土壤的電導率。本篇文章的目的是通過測量土壤濕度來演示如何使用如此有趣的傳感器,并在Arduino串口顯示器或諾基亞5110 LCD上其中該值。
所需的組件
● 土壤濕度傳感器
● Arduino Uno開發板
● 諾基亞5110 LCD顯示屏
● 面包板
● 跳線
原理圖
如下圖所示連接組件。
下面描述了Arduino與土壤濕度傳感器之間的引腳連接,以使原理圖更易于理解。
請再次確認連接,以確保一切均已正確連接。
代碼
本文提供了兩個Arduino草圖。第一個適用于那些愿意在串口監視器上顯示數據的人,而第二個草圖包含在諾基亞5110 LCD顯示屏上顯示土壤濕度百分比所需的代碼。由于我們已經在本網站的多個教程中介紹了諾基亞5110 LCD顯示屏的使用,因此,我僅解釋第一個草圖,其中包含獲取土壤水分水平并顯示在串行監視器上的代碼。
本文代碼很簡單,因為我們知道Arduino ADC的范圍是0到1023,所以我們確定傳感器提供的任何讀數都將在該范圍內,因此,當我們讀取土壤濕度傳感器提供的模擬值時,我們使用Arduino map函數可將讀取的任何值轉換為0到100之間的值,表示百分比。然后,該百分比顯示在串口監視器或LCD顯示屏上。
為了簡要說明代碼,我們要做的第一件事是聲明與濕度傳感器連接的Arduino的模擬引腳,然后聲明其他變量。
//////////////////////////////////////////////
// ARDUINO SOIL MOISTURE DEMO //
// //
// http://www.educ8s.tv //
/////////////////////////////////////////////
int sensorValue = 0;
int percent = 0;
接下來,我們介紹void setup()函數,在該函數中初始化串行通信,以便可以在串口監視器上顯示數據。
void setup() {
Serial.begin(9600);
}
接下來是void loop()函數。首先在代碼中,我們讀取傳感器的值,然后調用轉換為百分比的函數轉,然后在串口監視器上顯示轉換后的值。
void loop() {
sensorValue = analogRead(sensorPin);
percent = convertToPercent(sensorValue);
printValuesToSerial();
delay(1000);
}
轉換為百分比函數的代碼如下所示。如前所述,它接受模擬值,并使用Arduino map函數將其轉換為百分比值。
int convertToPercent(int value)
{
int percentValue = 0;
percentValue = map(value, 1023, 465, 0, 100);
return percentValue;
}
上述步驟與第二個草圖相同,我們只需要包括諾基亞5110 LCD顯示器所需的依賴項。
演示效果
將代碼上傳到Arduino并在土壤傳感器浸在相當干燥的土壤中的情況下設置系統,您應該會看到LCD /串口監視器顯示土壤中的水量,如下圖所示。
向土壤中添加少量水,土壤中的電阻會降低,您可以在LCD/串口監視器上立即看到變化,如下圖所示。
該項目是向智能灌溉系統邁出的重要一步,因為可以將土壤水位的變化設置為激活繼電器,以在水位低時啟動給水廠的泵。
編輯:hfy
-
LCD顯示器
+關注
關注
0文章
87瀏覽量
20162 -
濕度傳感器
+關注
關注
7文章
305瀏覽量
58489
發布評論請先 登錄
相關推薦
評論