Arduino控制土壤湿度传感器

// 这里定义土壤湿度传感器
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);
    }
  }
}

  • 8
    点赞
  • 60
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值