0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于Arduino Uno实现自动灌溉系统的设计

科技观察员 来源:circuitdigest 作者:Mr.X 2022-07-27 17:49 次阅读

我们每个人都喜欢家里有一点绿色植物,不是吗?植物需要非常低的维护,并且可以在没有监督的情况下放置数天,但是由于土壤中缺乏水分,我们长达一周或 2 周的长途旅行可能对植物的健康有害。在这种情况下,由于缺乏适当的浇水,植物可能会枯萎或死亡。为了解决这个问题,在这个项目中,我们正在制作一个带有Arduino Uno的 自动灌溉系统,它可以自动灌溉您的植物并保持它们的健康,即使您出城数周或数月。在这个项目中, 湿度传感器 将用于为您的植物保持最佳湿度水平。该系统可以实施,既为您 花园或室内植物,以便在您离开时照顾您的绿叶宠物。

自动灌溉系统的工作

这个系统的逻辑非常简单。在这个系统中,湿度传感器检测土壤的湿度水平,当传感器检测到低湿度水平时,它会在微控制器的帮助下自动切换水泵并灌溉植物。提供足够的水后,土壤会保留水分,因此会自动停止泵。

土壤湿度传感器

poYBAGLhCW2ASuN-AAXowB0Gyxw471.png

土壤湿度传感器的工作非常容易理解。它有 2 个带有外露触点的探针,其作用类似于可变电阻器,其电阻根据土壤中的含水量而变化。该电阻与土壤湿度成反比,这意味着土壤中的水分越高,导电性越好,因此电阻越低。而土壤中较低的水意味着导电性差,并会导致更高的电阻。传感器根据电阻产生模拟电压输出。

该传感器带有一个将探头连接到 Arduino 的电子模块。该模块有一个LM393 高精度比较器,可将模拟信号转换为数字输出,然后馈送到微控制器。我们已经介绍了深入的Arduino 土壤湿度传感器教程,其中涵盖了土壤湿度传感器模块的工作以及如何将其与 Arduino 一起使用。如果您想了解有关土壤湿度传感器的更多信息,可以查看教程。

poYBAGLhCWmAD287AAV5JFjEghc019.png

我们需要一个小泵来灌溉植物,但在花园的情况下,我们需要驱动一个更大的泵,它可以根据花园的大小提供更多的水,而这不能由 Arduino 直接供电。 因此,如果您需要操作更大的泵,则需要驱动器为泵提供足够的电流,以表明我使用的是 5v 继电器。您也可以使用交流供电的泵并使用合适的继电器。工作将与本项目中所示的相同,您只需将连接到继电器的直流电源输入替换为交流电源输入,并且必须使用单独的直流电源为您的 Arduino 供电。

自动灌溉系统所需的组件

该项目需要的组件很少,连接也很简单。下面列出了这些组件:

阿杜诺 * 1

湿度传感器 * 1

5v继电器模块*1

6v迷你小水管水泵*1

连接线

5v电池*1

pYYBAGLhCWOAe4siAAjEncCyLXw175.png

Arduino自动灌溉系统的电路图

Arduino自动灌溉系统的完整电路图如下所示:

poYBAGLhCV-AAh4xAAF2Qd-NOnk826.png

在本节中,我将借助示意图解释所有细节。Arduino UNO是整个项目的大脑。它根据湿度传感器给出的土壤湿度控制电动泵。

为了给电路供电,我使用的是外接电池。您可以使用任何 9 伏或 12 伏电池。电池连接到 Arduino 的 Vin 和接地引脚,我们也可以通过继电器将电机连接到该电池。湿度传感器输出连接到 Arduino 的模拟引脚。请记住使用 Arduino 的 5 伏引脚为传感器和继电器模块供电。

组装自动灌溉系统

让我们从将继电器连接到 Arduino 板开始。将继电器模块的 VCC 连接到 Arduino 的 5v 引脚,并将继电器的地连接到 Arduino 的地。现在将继电器信号引脚连接到除引脚 13 之外的任何 Arduino 数字引脚。这里我将其连接到引脚 3,如下图所示。

poYBAGLhCVuALdu5AAWqe4z15w0688.png

下一步是将土壤湿度传感器与 Arduino 连接起来。将传感器的 VCC 和 gnd 连接到 Arduino 的 5 伏和接地引脚。传感器的模拟输出连接到 Arduino 的任何模拟引脚,这里我将它连接到引脚 A0(根据我们的程序)。

poYBAGLhCVeAA6eJAAerdnaXaWg089.png

最后,将泵连接到继电器模块。继电器模块有 3 个连接点,它们是公共的、常闭的和常开的。我们必须将泵正极连接到公共端,并将常开引脚连接到电池正极。您必须根据泵选择电池。下一步是将泵的接地连接到 Arduino 的接地,最后将小软管连接到水泵。

现在将电池连接到电路,如果泵开始工作,那么您的电路就可以了。现在让我们将代码上传到 Arduino。

自动灌溉系统代码解释

对于这个项目,我们没有使用任何库,我们只是使用基本功能进行编程。该代码非常简单且易于使用。代码解释如下。

我们首先在这里定义所有需要的整数,我使用两个整数来存储土壤水分和转换后的水分百分比。

int 土壤水分值 = 0;

整数百分比=0;

现在,我们定义引脚模式,这里我使用引脚 3 作为输出,在下一行中,我已经初始化了串行监视器以进行调试。

无效设置(){

pinMode(3,输出);

序列号。开始(9600);

}

我通过读取土壤水分开始循环部分。我使用 Arduino 的analogRead 函数读取土壤湿度并将其存储在soilMoistureValue 中。该值从 0 到 1023 不等

无效循环(){

土壤水分值=模拟读取(A0);

在下面的行中,我已经将传感器值从 0% 转换为 100%,因为我们在 Arduino 上使用了 map 函数。这意味着如果土壤干燥,则输出水分百分比为 0%,如果土壤非常潮湿,则水分百分比为 100%。

百分比 = 地图(土壤水分值,490、1023、0、100);

Serial.println(百分比);

校准我们的湿度传感器

在地图函数中, 我们需要分配干值和湿值。为此,我们需要监控这些值。您可以使用以下代码读取该值:

无效设置(){

序列号。开始(9600);

}

无效循环(){

int sensorValue = 模拟读取(A0);

Serial.println(sensorValue);

延迟(1);

将上述代码上传到您的 Arduino 并打开串行监视器。然后将土壤湿度传感器放在干燥的土壤中,或者将传感器放在空气中并读取值。现在将该值代替 490(地图函数的第二项)。

下一步是将传感器放置在潮湿的土壤中或将其浸入水中并读取值并分配该值以代替 1023(地图功能的第三项)。这些值将正确校准您的传感器以获得更好的结果。

pYYBAGLhCVKAT8lHAAKXatBjPCA185.png

转换值后,我们可以根据土壤水分百分比控制泵。在“如果条件”的帮助下,我写了第一个条件,如果水分百分比低于 10,那么 Arduino 会将引脚 3 变为低电平并且泵将打开(我们的继电器模块使用低电平有效信号触发)并且 Arduino 将在串行监视器中打印泵消息。

If (percentage 《 10)

{

Serial.println(“pump on”);

数字写入(3,低);

}

poYBAGLhCU2ABR0EAAGBnNBQpG8274.png

当水分百分比超过 80%(表明土壤充满水)时,Arduino 将关闭泵并在串行监视器上打印“泵关闭”。

if(percentage 》80)

{

Serial.println(“pump off”);

数字写入(3,高);

}

}

测试自动灌溉系统

将代码上传到 Arduino 后,我将除泵和传感器探头之外的整个电路放入塑料盒中,如下图所示。

pYYBAGLhCUiAZ1TPAAWYelTvBg4600.png

现在将湿度传感器放入土壤中。将传感器放置在尽可能靠近植物根部的位置,以获得更高的精度。

pYYBAGLhCUeAIAIOAAYTnZ7LzyQ491.png

最后一步是将您的电机放入装满水的容器中,当您不在时,您的自动灌溉系统已准备好照顾您可爱的植物。

poYBAGLhCUGAWbnjAAqEPWtYgrw486.png

您可能必须更改水分百分比来启动和停止泵,因为不同的植物有不同的水需求。希望您喜欢这个项目并准备好使用 Arduino 构建您自己的自动灌溉系统。如果您有任何疑问,可以将它们留在下面的评论部分。

代码

int 土壤水分值 = 0;

整数百分比=0;
无效设置(){
pinMode(3,输出);
序列号.开始(9600);
}
无效循环() {
土壤水分值 = 模拟读取(A0);
Serial.println(百分比);
百分比 = 地图(土壤水分值,490、1023、100、0);
if(percentage < 10)  
{
Serial.println("pump on");
数字写入(3,低);
}
if(percentage >80)
{
Serial.println("pump off");
数字写入(3,高);
}
}

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 湿度传感器
    +关注

    关注

    7

    文章

    288

    浏览量

    58320
  • Arduino
    +关注

    关注

    184

    文章

    6427

    浏览量

    184828
  • 自动灌溉系统

    关注

    1

    文章

    18

    浏览量

    3039
收藏 人收藏

    评论

    相关推荐

    怎么用51单片机制度灌溉系统

    怎么用51单片机制作一个带液位监控和红外遥控控制开关的灌溉系统,具体用什么实现
    发表于 04-03 11:32

    【OK210申请】智能灌溉系统

    申请理由:OK210 可以搭载 Android 4.0,便于实现智能灌溉系统中央控制器的所需功能。项目描述:智能灌溉系统包括智能水阀、中央控制器、后台服务器和手机APP软件四部分。水阀由
    发表于 07-03 15:28

    制作一个自动灌溉系统怎么购买硬件

    一个小白新手制作一个自动灌溉系统,不知如何下手,要怎么购买硬件
    发表于 03-20 16:58

    ZigBee节水灌溉系统的设计流程是什么?

    “节约用水,人人有责”,水资源正在变成一种宝贵的稀缺资源。因此,推广节水灌溉也已成为世界各国为缓解水资源危机和实现农业现代化的必然选择。本文提出一种基于ZigBee无线传感器网络的设计方案,并根据农田的特殊条件,设计出一套节水灌溉系统
    发表于 03-27 07:31

    节水灌溉系统有什么优势?

    “节约用水,人人有责”,水资源正在变成一种宝贵的稀缺资源。因此,推广节水灌溉也已成为世界各国为缓解水资源危机和实现农业现代化的必然选择。本文提出一种基于ZigBee无线传感器网络的设计方案,并根据农田的特殊条件,设计出一套节水灌溉系统
    发表于 03-27 06:57

    采用ZigBee怎么实现节水灌溉系统

    “节约用水,人人有责”,水资源正在变成一种宝贵的稀缺资源。因此,推广节水灌溉也已成为世界各国为缓解水资源危机和实现农业现代化的必然选择。本文提出一种基于ZigBee无线传感器网络的设计方案,并根据农田的特殊条件,设计出一套节水灌溉系统
    发表于 03-30 07:41

    实现基于嵌入式技术的智能灌溉系统设计的方法

    基于嵌入式技术的智能灌溉系统设计与实现基于嵌入式技术的智能灌溉系统设计与实现基于cortex-A9处理器实验平台,实现对种植农作物、蔬菜、果
    发表于 11-09 06:30

    如何去实现基于单片机的自动浇花灌溉系统设计

    文章目录1 简介2 主要器件3 实现效果4 设计原理5 最后1 简介Hi,大家好,这里是丹成学长,今天向大家介绍一个学长做的单片机项目基于单片机的自动浇花灌溉系统设计大家可用于 课程设计 或
    发表于 11-19 06:52

    如何实现基于STM32和ESP8266的智能灌溉系统的设计?

    如何实现基于STM32和ESP8266的智能灌溉系统的设计?
    发表于 01-19 06:21

    小区绿化自动灌溉系统设计

    PPT格式 可介绍小区的自动灌溉系统的构成。
    发表于 05-17 13:43 4次下载

    基于ZigBee和模糊控制决策的自动灌溉系统的设计_高玉芹

    基于ZigBee和模糊控制决策的自动灌溉系统的设计_高玉芹
    发表于 02-07 16:53 2次下载

    基于天气预报的自动灌溉系统

    电子发烧友网站提供《基于天气预报的自动灌溉系统.zip》资料免费下载
    发表于 10-31 14:47 2次下载
    基于天气预报的<b class='flag-5'>自动</b><b class='flag-5'>灌溉系统</b>

    自动灌溉系统开源分享

    电子发烧友网站提供《自动灌溉系统开源分享.zip》资料免费下载
    发表于 11-03 11:20 3次下载
    <b class='flag-5'>自动</b><b class='flag-5'>灌溉系统</b>开源分享

    使用Cayenne的自动灌溉系统

    电子发烧友网站提供《使用Cayenne的自动灌溉系统.zip》资料免费下载
    发表于 12-28 10:30 0次下载
    使用Cayenne的<b class='flag-5'>自动</b><b class='flag-5'>灌溉系统</b>

    基于Arduino Uno的智能灌溉系统

    方案介绍在植物自动浇水系统中,我们可以说是智能灌溉系统。我们正在使用Arduino微控制器来控制和感测项目中的事物,例如使用土壤湿度传感器来感测或测量土壤中的水分。土壤水分传感器是一种
    发表于 12-30 14:40 5次下载