文章目录[隐藏]
第 1 步:土壤湿度传感器的工作
湿度传感器有两个长探针,它们被推入土壤中以测量土壤中的水量。这两个将电流流向土壤并识别土壤的电阻并将该值转换为水分值。
在这里,水多的地方,土壤传导更多的电流,因此电阻会更低,水分含量会更高。另一方面,干燥的灵魂由于水量非常少,所以传导的电量非常少,因此电阻更高,水分会更低。
有一个湿度水平的映射。传感器主要映射在 0 到 1023 个值之间。因此,对于不同的湿度水平,湿度传感器的映射如下 -
- 如果传感器值大于或等于 1000,则传感器不在土壤中或传感器断开连接。
- 如果传感器值大于 600 但小于 1000,则土壤干燥。
- 如果传感器值是 370 到 600,那么土壤是潮湿的。
- 如果传感器值小于 370 则传感器在水中。
第 2 步:硬件规格
土壤湿度传感器有两个部分。一种是带探头的传感部分,另一种是数据处理 MH Sensor Series 部分。
一世。传感部分
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);
}
}
本文遵循CC BY-SA版权协议,转载请附上原文出处链接及本声明。
链接:https://chandianzi.cn/shi-yong-arduino-ce-liang-tu-rang-shui-fen.html
作者:Sunyecz22
版权协议:CC BY-NC-SA
分类名称:arduino-10
资源标识:Soil-Moisture-Measurement-With-Arduino
暂无评论