// 这里定义土壤湿度传感器
int HUMIDITY = 3;
// 传感器模拟输入
int HUMIDITYA0 = A0;
// 小水泵的继电器
int WATER = 2;
void setup(){
Serial.begin(9600);
pinMode(HUMIDITY,INPUT);
pinMode(HUMIDITYA0,INPUT);
pinMode(WATER,OUTPUT);
}
void loop(){
getHumidity();
delay(20);
}
void getHumidity() {
int humidityStatus = digitalRead(HUMIDITY);
Serial.print("土壤状态:");
if(humidityStatus){
Serial.println("干燥");
}else{
Serial.println("湿润");
}
int humidityAnalog = analogRead(HUMIDITYA0);
// 范围值1024 - 0 , 1024干燥, 0潮湿
Serial.print("土壤湿度:");
Serial.println(humidityAnalog);
// 如果土壤干燥
if(humidityStatus && humidityAnalog > 800) {
// 开启继电器, 使小水泵开始抽水, 对土壤进行浇水
digitalWrite(WATER, HIGH);
}else{
int waterStatus = digitalRead(WATER);
// 如果当前是继电器是开启状态, 则关闭继电器的供电
if(waterStatus) {
digitalWrite(WATER, LOW);
}
}
}
Arduino控制土壤湿度传感器
于 2022-01-09 00:22:00 首次发布