步驟1:土壤濕度傳感器的工作
濕度傳感器有兩個長探頭插入土壤中以測量土壤中的水量。這兩個電流將電流流到土壤中,并確定土壤的電阻并將其轉換為水分值。
在這里,如果水更多,土壤傳導的電流就更大,因此電阻將變為較低,水分含量較高。另一方面,由于水的含量很低,干燥的靈魂所消耗的電量很少,因此電阻更高,水分會更低。
有一個映射水分的水平。傳感器主要映射在0到1023的值內。因此,對于不同的濕度水平,濕度傳感器的映射如下所示:-
如果傳感器的值大于或等于1000,則傳感器不在土壤中或傳感器已斷開連接。
如果傳感器值大于600但小于1000,則說明土壤是干的。
如果傳感器值是370至600,則說明土壤是潮濕的。
如果傳感器值小于370,則傳感器在水中。
步驟2:硬件規范
土壤濕度傳感器有兩個部分。一個是帶探頭的感應部件,另一個是MH Sensor Series數據處理部件。
i。傳感部分
ii。 MH傳感器系列
在探頭部分,傳感器中有兩個引腳,分別類似于電源電壓的正負點。這兩點連接到MH傳感器,它將數據處理為數值并發送到微控制器。微控制器將這些數據處理為人類可讀的值。
MH傳感器系列的工作原理類似于傳感器值的模數轉換器(ADC)。其中有一個可調可變電阻器,有助于固定傳感器的參考點。它還有助于從傳感器獲得較低的電壓輸出值或較高的電壓輸出值。 MH傳感器還具有一個電位器,用于設置閾值以便與比較器進行比較。
MH傳感器具有連接到微控制器的四個引腳。
A0:模擬輸出
D0:數字輸出
GND:接地
VCC:電源
土壤濕度傳感器的輸出既可以用作模擬輸出,也可以用作數字輸出。
步驟3:模擬模式
在模擬接口模式下,傳感器將給出濕度的百分比值。傳感器給出的值從0到1023,微控制器將值映射到0到100的百分比。
可以根據該地點的氣候來更改范圍。開發人員可以更改代碼的范圍,并對更改的值采取措施。
代碼:
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:數字模式
要以數字模式連接土壤濕度傳感器FC-28,我們將傳感器的數字輸出連接到Arduino的數字引腳。傳感器模塊包含一個電位計,用于設置閾值。然后使用放置在傳感器模塊上的LM393比較器將該閾值與傳感器輸出值進行比較。
LM393比較器將比較傳感器輸出值和閾值,然后通過數字引腳。當傳感器值大于閾值時,數字引腳將為我們提供5V,傳感器上的LED會亮起;當傳感器值小于此閾值時,數字引腳將為我們提供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瀏覽量
58578 -
Arduino
+關注
關注
188文章
6472瀏覽量
187322
發布評論請先 登錄
相關推薦
評論