步驟1:土壤濕度傳感器的工作
濕度傳感器有兩個長探頭插入土壤中以測量土壤中的水量。這兩個電流將電流流到土壤中,并確定土壤的電阻并將其轉(zhuǎn)換為水分值。
在這里,如果水更多,土壤傳導的電流就更大,因此電阻將變?yōu)檩^低,水分含量較高。另一方面,由于水的含量很低,干燥的靈魂所消耗的電量很少,因此電阻更高,水分會更低。
有一個映射水分的水平。傳感器主要映射在0到1023的值內(nèi)。因此,對于不同的濕度水平,濕度傳感器的映射如下所示:-
如果傳感器的值大于或等于1000,則傳感器不在土壤中或傳感器已斷開連接。
如果傳感器值大于600但小于1000,則說明土壤是干的。
如果傳感器值是370至600,則說明土壤是潮濕的。
如果傳感器值小于370,則傳感器在水中。
步驟2:硬件規(guī)范
土壤濕度傳感器有兩個部分。一個是帶探頭的感應部件,另一個是MH Sensor Series數(shù)據(jù)處理部件。
i。傳感部分
ii。 MH傳感器系列
在探頭部分,傳感器中有兩個引腳,分別類似于電源電壓的正負點。這兩點連接到MH傳感器,它將數(shù)據(jù)處理為數(shù)值并發(fā)送到微控制器。微控制器將這些數(shù)據(jù)處理為人類可讀的值。
MH傳感器系列的工作原理類似于傳感器值的模數(shù)轉(zhuǎn)換器(ADC)。其中有一個可調(diào)可變電阻器,有助于固定傳感器的參考點。它還有助于從傳感器獲得較低的電壓輸出值或較高的電壓輸出值。 MH傳感器還具有一個電位器,用于設置閾值以便與比較器進行比較。
MH傳感器具有連接到微控制器的四個引腳。
A0:模擬輸出
D0:數(shù)字輸出
GND:接地
VCC:電源
土壤濕度傳感器的輸出既可以用作模擬輸出,也可以用作數(shù)字輸出。
步驟3:模擬模式
在模擬接口模式下,傳感器將給出濕度的百分比值。傳感器給出的值從0到1023,微控制器將值映射到0到100的百分比。
可以根據(jù)該地點的氣候來更改范圍。開發(fā)人員可以更改代碼的范圍,并對更改的值采取措施。
代碼:
void setup()
{
Serial.begin(9600);
pinMode(A0, INPUT);
}
void loop()
{
int mois =
Serial.print(mois);
Serial.print(“ -
”);
if(mois 》= 1000) {
Serial.println(“Sensor is not in the Soil or DISCONNECTED”);
}
if(mois 《 1000
&& mois 》= 600) {
Serial.println(“Soil is DRY”);
}
if(mois 《 600
&& mois 》= 370) {
Serial.println(“Soil is HUMID”);
}
if(mois 《 370) {
Serial.println(“Sensor in WATER”);
}
delay(2000);
}
步驟4:數(shù)字模式
要以數(shù)字模式連接土壤濕度傳感器FC-28,我們將傳感器的數(shù)字輸出連接到Arduino的數(shù)字引腳。傳感器模塊包含一個電位計,用于設置閾值。然后使用放置在傳感器模塊上的LM393比較器將該閾值與傳感器輸出值進行比較。
LM393比較器將比較傳感器輸出值和閾值,然后通過數(shù)字引腳。當傳感器值大于閾值時,數(shù)字引腳將為我們提供5V,傳感器上的LED會亮起;當傳感器值小于此閾值時,數(shù)字引腳將為我們提供0V。
代碼
int led_pin =13;
int sensor_pin =8;
void setup() {
pinMode(led_pin, OUTPUT);
pinMode(sensor_pin, INPUT);
}
void loop() {
if(digitalRead(sensor_pin) == HIGH){
digitalWrite(led_pin,
HIGH);
}
else {
digitalWrite(led_pin, LOW);
delay(1000);
}
}
-
濕度傳感器
+關注
關注
7文章
308瀏覽量
58587 -
Arduino
+關注
關注
188文章
6474瀏覽量
187435
發(fā)布評論請先 登錄
相關推薦
評論