Arduino土壤湿度检测
一、模块简介
- 常见型号:YL-69、YL-38、FC-28等
- 输出:A0(模拟信号,反映湿度),D0(数字信号,阈值可调)
- 供电:3.3V或5V
二、接线方法
| 土壤湿度模块 | Arduino UNO引脚 |
|--------------|-----------------|
| VCC | 5V |
| GND | GND |
| A0 | A0 |
| D0 | 可选(如需数字输出)|
三、完整代码(模拟口A0读取)
#define SOIL_PIN A0 // 土壤湿度传感器A0接Arduino A0void setup() {Serial.begin(9600); // 初始化串口
}void loop() {int soilValue = analogRead(SOIL_PIN); // 读取土壤湿度模拟值Serial.print("Soil Value: ");Serial.println(soilValue);// 判断土壤干湿if (soilValue < 400) {Serial.println("Soil is very wet");} else if (soilValue < 800) {Serial.println("Soil is moist");} else {Serial.println("Soil is dry");}delay(1000); // 每秒检测一次
}
四、说明
- soilValue数值越小,土壤越湿,数值越大,土壤越干。
- 你可以根据实际情况调整阈值(如400、800)。
- 如果用数字口D0,直接用digitalRead(D0)即可,1为干,0为湿(阈值可调)。
五、结合OLED显示(示例)
如果你想把湿度值显示在OLED上,可以在loop()里加:
display.clearDisplay();
display.setTextSize(2);
display.setCursor(0,0);
display.print("Soil: ");
display.print(soilValue);
display.display();