当前位置:首页Arduino > 正文

Arduino智慧农业之通过Arduino读取土壤湿度传感器的值,然后通过继电器控制水泵的开关

作者:野牛程序员:2023-12-25 11:35:11Arduino阅读 2696

在通过Arduino读取土壤湿度传感器的值,并通过继电器控制水泵的开关的智慧农业项目中,需要以下硬件模块:

  1. 土壤湿度传感器:

    • Capacitive Soil Moisture Sensor V1.2: 这是一种常见的土壤湿度传感器,适用于Arduino项目。

  2. 水泵:

    • 12V 直流水泵: 选择适合项目需求的水泵。

  3. 继电器模块:

    • Relay Module (例如,型号:KY-019 5V Relay Module): 用于控制水泵的开关。

  4. 微控制器:

    • Arduino Uno 或 Arduino Nano: 选择一个适当的Arduino微控制器,以连接和控制土壤湿度传感器和继电器模块。

  5. 电源:

    • 5V 直流电源适配器: 用于供电Arduino、继电器模块和其他组件。

下面是一个简化的Arduino代码框架,用于监测土壤湿度并控制水泵的开关:

const int soilMoisturePin = A0;   // 土壤湿度传感器连接到A0
const int pumpControlPin = 7;     // 继电器模块连接到D7

void setup() {
  Serial.begin(9600);
  pinMode(soilMoisturePin, INPUT);
  pinMode(pumpControlPin, OUTPUT);
}

void loop() {
  int soilMoisture = analogRead(soilMoisturePin);

  Serial.print("Soil Moisture: ");
  Serial.println(soilMoisture);

  // 在这里根据实际需求添加水泵控制逻辑
  if (soilMoisture < 500) {
    turnOnPump();
  } else {
    turnOffPump();
  }

  delay(5000);  // 每隔5秒读取一次传感器数据,根据实际情况调整
}

void turnOnPump() {
  digitalWrite(pumpControlPin, HIGH);
  Serial.println("Pump turned ON");
}

void turnOffPump() {
  digitalWrite(pumpControlPin, LOW);
  Serial.println("Pump turned OFF");
}

这个例子中,通过土壤湿度传感器读取土壤湿度值,当土壤湿度低于预设阈值时,调用 turnOnPump 函数,使继电器打开,水泵开始工作;当土壤湿度高于预设阈值时,调用 turnOffPump 函数,使继电器关闭,水泵停止工作。


野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892
野牛程序员教少儿编程与信息学竞赛-微信|电话:15892516892
相关推荐

最新推荐

热门点击