使用Arduino进行土壤湿度测量

电子说

1.2w人已加入

描述

步骤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 =

analogRead(A0);

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);

}

}

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分