亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Manufacturing Technology >> 工业技术

智能灌溉系统 - 电路图和代码

基于 Arduino 的智能灌溉系统

印度是一个 70% 的人口以农业为生的国家。如今,每项工作都可以通过使用机器以最简单的方式完成。毫无疑问,自动化提高了生产力并节省了大量时间和精力。灌溉是农业中最重要的部分,可以从您在该领域的投资中获得最大利润。但是,有几种机器可以供农民在农业领域使用,以减轻他们的工作量。不幸的是,由于成本高,农民买不起这种机器。他们所需要的只是一台简单、低成本、可轻松用于农业用途的机器。

在这篇文章中,我们将讨论使用低成本材料设计的智能且简单的灌溉系统。该灌溉系统的目的是检测土壤中的水分含量并自动运行电动泵。

除了农业领域,我们家还需要一个自动化的植物灌溉系统,以便在我们不在的时候照顾我们的植物。通过本文,我们将讨论智能灌溉系统项目的设计过程,该项目可用于在您舒适地坐在家中时自动给植物浇水。您可以使用这款智能灌溉系统设备定制浇水时间表和运行时间。

大约 50% 的水损失是由于传统灌溉系统效率低下导致的过度浇水。为了克服这个问题,我们将设计一个智能灌溉系统,它可以检查土壤中的水分含量并自动为植物供水。当电路在土壤中发现足够的水分时,电动泵就会启动。

另外,我们使用 GSM 模块定期更新您的土壤和水泵中的水分状况。该项目可靠性高,有助于消除田间灌溉过程中对人力的需求。

如上所述,我们使用土壤湿度传感器来感应土壤中的水分。在开始项目之前,让我们看一下电路中使用的主要组件,以帮助您清楚地了解电路的工作原理。

土壤湿度传感器

土壤湿度传感器中有两个探头,用于测量土壤中水分的体积含量。这两个探头允许电流通过土壤,然后得到土壤中的水分值。

当土壤中有水存在时,电阻会变小,因此土壤会导电。因此,传感器感测到的湿度水平会更高。干燥的土壤是电的不良导体。当土壤中的水越少时,它会导电越少,因此电阻会越大。这就是水分含量会降低的原因。

技术规范:

土壤湿度传感器引脚:

相关项目:雨警报电路 - 雪、水和雨探测器项目

如前所述,土壤湿度传感器由两个用作探头的导电板组成。由于土壤湿度传感器只是充当两个导电板。第一个板连接到+5v电源。第二块板直接接地。输出直接取自土壤湿度传感器引脚的第一端。

土壤湿度传感器的工作原理是开路和闭路。当土壤干燥时,没有电流流过它,它就像一个开路一样工作。当土壤潮湿时,电流将开始从一个端子流向另一个端子,形成闭合电路。我们已将湿度传感器与 Arduino UNO 板连接起来。我们将在本文后面部分讨论电路的接口和仿真代码。

土壤湿度传感器的应用:

该设备可用于家庭花园和草坪,以消除手动植物浇水过程的需要。可用于室内植物定期供水灌溉。

这个项目的第二个最重要的部分是GSM模块,它与Arduino微控制器一起用于通信。

TTL SIM800 GSM 模块:

我们在灌溉系统项目中使用了 SIM800 GSM 模块,并与 Arduino 接口发送和接收消息。 GSM 模块基本上是一个 GSM 调制解调器。该设备与 PCB 连接以从板上获取不同类型的输出。在我们的项目中,我们将 GSM 模块与 Arduino 接口,并采用 TTL 输出。该四频 GSM 模块的工作频率范围为 GSM 850MHz、EGSM 900MHz、DCS 1800MHz 和 PCS 1900MHz。 GSM 模块与 Arduino 和微控制器高度兼容。 TTL SIM800 GSM 模块组装成 24*24*3mm 尺寸,几乎适合所有设备,如智能手机 PDA 等。

在亚洲,大多数手机运营商都在 900 MHZ 频段运营。 GSM 模块是通过将单个 GSM 调制解调器连接到 PCB 来制造的。然后提供 RS232 输出。在为您的设备选择合适的 GSM 模块之前,请务必仔细检查项目中的 GSM 电源要求。此外,始终选择启用 TTL 的输出引脚直接与 Arduino 接口,没有任何不便。

技术规范:

GSM 800模块特点:

现在您对土壤湿度传感器和 GSM 模块这两种设备的工作有了很好的了解。接下来,您必须将这两个组件与 Arduino 微控制器接口。

Arduino UNO 板

在揭开 Arduino UNO 板的细节之前,让我们让您知道市场上有各种版本的 Arduino 板,即 Arduino mega、Arduino Due 等。我们使用过Arduino UNO 在我们的项目中,因为它是最便宜和最容易连接微控制器的。该微控制器由 14 个数字 I/O 引脚和 6 个模拟引脚组成。 Arduino UNO 微控制器还支持使用 TX 和 Rx 引脚的串行通信。使用Arduino最大的好处就是可以根据自己的需求对软件和Arduino板进行优化和修改。

将土壤湿度传感器和 GSM 模块与 Arduino 连接

这个电路的接口很简单。您只需要按照电路图进行操作即可。

首先,将土壤湿度传感器的模拟引脚连接到Arduino的模拟引脚1。现在,将传感器的 VCC 和 GND 连接到 Arduino 的 5V 和 GND。

接下来,在模块中插入一张sim卡。现在,您需要将 GSM 模块与电源连接。我们使用的是 12V 的模块,如果你有一个 5V 的模块,那么你可以直接用 Arduino 的 5V 给它供电。连接 12V 电源,如电路图所示。现在,将模块的 GND 引脚与 Arduino 的 GND 连接起来。将模块的 ST 引脚与 Arduino 的数字引脚 9 连接,将模块的 SR 引脚与 Arduino 的数字引脚 10 连接。我们还连接了 LCD 以显示检测到的湿度水平。按照电路图连接LCD,同时连接一个电位器来控制LCD的对比度。

使用继电器驱动图连接继电器和晶体管。

现在收集列表中提到的以下组件并按照电路图连接电路:

编程代码说明

这个项目的编程部分非常简单。首先,我们需要为 LCD 和湿度传感器定义库。在下一行中,我们定义了传感器的发送器和接收器引脚,它们分别连接到数字引脚 9 和 10:

#include 
#include
SoftwareSerial mySerial(9,10);

现在,我们已经定义了一些变量来使用它们而不是使用引脚号:

int M_Sensor = A0;
int W_led = 7;
int P_led = 13;

在下一行,我们定义了连接到 Arduino 的 LCD 引脚:

LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

在设置函数中,首先我们使用 lcd.begin() 函数初始化 LCD,使用 mySerial.begin() 函数初始化湿度传感器。我们已经通过了 16,2,因为 LCD 有 16 列和 2 行,这表明我们将使用整个 LCD。接下来,我们将数字管脚13的管脚模式初始化并定义为输出,连接到泵状态LED和继电器,管脚7为输入管脚,连接到水位LED。

void setup()
 {
    lcd.begin(16, 2);
    mySerial.begin(9600);
    pinMode(7,INPUT);
    pinMode(13,OUTPUT);
}

现在,进入循环函数。在第一行中,我们已经清除了 LCD,以便如果有任何先前的输出被清除。在下一行中,我们获取湿度传感器值并将其存储在名为“Moist”的变量中:

lcd.clear();
int Moist = analogRead(M_Sensor); 

在接下来的几行中,我们介绍了干燥、潮湿和潮湿土壤的条件:

if (Moist> 700)   // for dry soil
  { 
        lcd.setCursor(11,0);
        lcd.print("DRY");
        lcd.setCursor(11,1);
        lcd.print("SOIL");
       if (digitalRead(W_led)==1) //test the availability of water in storage
       {
         digitalWrite(13, HIGH);
         lcd.setCursor(0,1);
         lcd.print("PUMP:ON");
         mySerial.println(“AT+CMGF=1”);
         delay(1000);
         mySerial.println(“AT+CMGS=\”NUMBER”\r”);
         delay(1000);
         mySerial.println(“PUMP:ON”);
         delay(100);
         mySerial.println((char)26);
         delay(1000);
       }
       else
       {
         digitalWrite(13, LOW);
         lcd.setCursor(0,1);
         lcd.print("PUMP:OFF");
         mySerial.println(“AT+CMGF=1”);
         delay(1000);
         mySerial.println(“AT+CMGS=\”NUMBER”\r”);
         delay(1000);
         mySerial.println(“PUMP:OFF”);
         delay(100);
         mySerial.println((char)26);
         delay(1000);
       }
    }
 
     if (Moist>= 300 && Moist<=700) //for Moist Soil
    { 
     lcd.setCursor(11,0);
     lcd.print("MOIST");
     lcd.setCursor(11,1);
     lcd.print("SOIL");
     digitalWrite(13,LOW);
     lcd.setCursor(0,1);
     lcd.print("PUMP:OFF");
         mySerial.println(“AT+CMGF=1”);
         delay(1000);
         mySerial.println(“AT+CMGS=\”NUMBER”\r”);
         delay(1000);
         mySerial.println(“PUMP:OFF”);
         delay(100);
         mySerial.println((char)26);
         delay(1000);    
  }
 
  if (Moist < 300)  // For Soggy soil
  { 
     lcd.setCursor(11,0);
     lcd.print("SOGGY");
     lcd.setCursor(11,1);
     lcd.print("SOIL");
     digitalWrite(13,LOW);
     lcd.setCursor(0,1);
     lcd.print("PUMP:OFF");
     mySerial.println(“AT+CMGF=1”);
     delay(1000);
     mySerial.println(“AT+CMGS=\”NUMBER”\r”);
     delay(1000);
     mySerial.println(“PUMP:OFF”);
     delay(100);
     mySerial.println((char)26);
     delay(1000);
  }
 delay(1000);    
} 

自动灌溉系统的工作

自动灌溉系统的工作非常简单易懂。在这个项目中,Arduino 用于控制电路的整个工作。首先,当土壤中不存在水分时,土壤传感器的两个探头之间将存在传导。结果,晶体管将保持在导通状态。此外,Arduino 的 pin13 将保持低电平。之后,由于土壤湿度正常,Arduino 会向用户发送消息。电机关闭”。在这种情况下,电动泵将保持“关闭”状态。

当土壤中没有水分时,晶体管 Q2 变为 OFF。此外,引脚 D7 变高。因此,Arduino send 启动水泵并将消息发送给用户,因为检测到低湿度。电机开启。同样,当土壤湿度传感器检测到土壤中有足够的水分时,电动泵将自动关闭。

智能灌溉系统特点

这款智能灌溉系统满足理想灌溉系统的所有标准。一些有利可图的功能是:

相关项目:Arduino 带有物体检测功能的自动门铃

底线

智能灌溉系统 在生产力和可靠性方面也非常有用。此外,该设备易于设计,并且可以使用容易获得的电子元件进行组装。软件中使用的 Arduino 微控制器非常流行,可以轻松连接,没有任何不便。我们使用土壤湿度传感器来感知土壤中的水分。

本项目使用GSM模块通过手机发送信息通知用户。我们还用Arduino描述了所有组件的工作和接口方法。我们希望您现在能够设计出这种低成本的智能灌溉系统,以在您的日常生活中节约用水。

相关项目:


工业技术

  1. 系列 R、L 和 C
  2. VL53L0X:引脚配置、电路图和应用
  3. HDC2080 数字传感器:电路图及其规格
  4. 土壤水分传感器的工作和应用
  5. 什么是压电换能器?电路图、工作和应用
  6. 简单智能的空气净化器系统
  7. 带有氦气和 DFRobot 的无线土壤湿度探头
  8. 1分钟、5分钟、10分钟和15分钟定时器电路图
  9. 自动植物浇水和灌溉系统 - 电路、代码和项目报告
  10. 电缆和电线测试仪电路图
  11. 标准数码相机和人工智能监测土壤水分
  12. 微带电路及材料表征系统