基于Arduino的自动浇灌系统

news2024/11/25 0:14:47

基于Arduino的自动浇灌系统

  • 一、项目说明
  • 二、项目材料
  • 三、电路设计
  • 四、怎样工作
  • 五、怎样设置

一、项目说明

嘿,伙计们,在这篇教程中,我将向你们展示如何使用Arduino制作一个植物浇水系统,以一种简单的方式帮助你始终保持植物的水分。
每个家庭如果种植植物,最常遇到的问题之一就是及时给它们浇水。我过去也会在办公桌和后院放一些植物,但总是没能及时给它们浇水。
结果就是植物干枯了,我知道这不是办法!所以我想制作一个能始终保持我植物水分的系统。我在网上查看了各种小工具,它们都有价格标签,我认为这对我来说不公平!所以我为我植物制作了一个浇水系统,它使用了廉价的电子元件,但效果最好,有了这个系统,你可以让植物几个月都不用维护。所以如果你也像我一样拥有植物并且面临这样的问题,那么我建议你制作这个项目。如果你是初学者,不用担心,我已经提供了一步一步的指导来构建这个项目。

为了简化过程并节省时间,我已经将所有信息打包成了简单的步骤。

二、项目材料

这个项目中使用的电子产品几乎在所有当地的电子商店都很容易买到,如果你有获取问题,可以简单地在网上购买:

  • Arduino Uno
  • 土壤湿度传感器
  • 潜水泵
  • 跳线
  • 电池座
  • 18650电池
  • 5V继电器模块
  • 纸板

三、电路设计

在这里插入图片描述
在这里插入图片描述
我将电路分为三个组件:继电器模块、湿度传感器和水泵,下面是这些组件的连接方法:

土壤湿度传感器

  • 土壤湿度传感器的VCC连接到Arduino的5V引脚。
  • 土壤湿度传感器的GND连接到Arduino的GND引脚。
  • 土壤湿度传感器的DO(数字输出)连接到Arduino的D6引脚。

继电器模块

  • 继电器模块的VCC连接到Arduino的5V引脚。
  • 继电器模块的GND连接到Arduino的GND引脚。
  • 继电器模块的信号引脚(S)连接到Arduino的D3引脚。

潜水泵

  • 将潜水泵的一个端子连接到继电器的常开(NO)端子。
  • 将潜水泵的另一个端子连接到水泵电源的正端。
  • 将继电器的公共端(COM)连接到电源的负端。

四、怎样工作

在这里插入图片描述
在这里插入图片描述
这个项目的工作原理非常简单,湿度传感器在这里扮演着非常重要的角色,它实时检测水分水平。要实现这一点,你只需要将湿度传感器插入植物生长的土壤中,然后打开系统。当湿度传感器开始检测到低水平的水分时,它会触发Arduino主板激活水泵。然后水泵打开并持续循环水几秒钟,当达到足够的湿度水平时,水泵会自动关闭。你可以看到,当传感器浸入水中时,传感器放大器会开关交替工作。

五、怎样设置

在这里插入图片描述
在上述步骤中,我展示了一个小模型,它代表了更大的模型。在这一步中,我将向你们展示如何在更大规模的模型上实施这个系统。

所有模型的概念都是一样的,只是组件的尺寸不同。为了更清楚地解释,让我通过一个例子来说明。想象你有多个需要浇水的花盆,一个简单的方法是将棍子浸入所有花盆中,并为每个花盆设置一个单独的浇水系统。现在你可能会想,如果我插入一个传感器并有一个共同的浇水系统会怎样。这是不可能的,因为不同的植物消耗的水量不同,所以当一个花盆变干时,另一个可能仍然有一些水分。

电子硬件取决于规模,在我们的例子中,我们使用了一个小型5伏特水泵,但在不同的情况下,你可能需要一个更大的水泵。

希望你喜欢这个项目,并在构建过程中找到乐趣!如果你有任何问题或需要帮助,欢迎在评论区交流。

作者:Svan.


注意:本博文为不得在未经本人同意进行转载或者二次创作,违者必究!!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2209815.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【MySQL】mysql导出数据WPS科学计数法解决方法

导出的长串数字 id 会导致科学计数法,修改 WPS 单元格格式可以解决 数字太长还是有问题,最后有个数字会变成 0 可以 直接用 python脚本转换一下 vim convert_txt_xlsx.py #!/usr/bin/env python3# 使用方法# 安装库 # pip3 install pandas openpyxl…

见微知著:OpenEuler系统启动流程

OpenEuler是一个开源的Linux发行版,它的启动流程涉及到多个阶段,包括固件初始化、引导加载程序、内核启动、初始化系统和服务管理器等。下面将详细介绍OpenEuler的启动流程。 一、启动流程 1. 固件初始化(BIOS/UEFI) 启动过程首…

跟踪用户状态,http协议无状态 Cookie HttpSession,Session和Cookie的关系

1.概念分析 跟踪用户状态指的是web应用能够分辨请求属于哪个用户,进而记录用户的状态,从而为用户提供连续的针对性的服务。比如有多个客户在同一个购物网站上购物,每一个用户都会有一个虚拟的购物车。当某个客户发送请求将商品添加到购物车时…

部署 Docker harbor (httphttps)及使用

部署 Docker harbor (http/https)及使用 官网下载docker harbor 和docker-compose 下载最新版本即可 https://github.com/goharbor/harbor https://github.com/docker/compose/releases 一.Docker harbor 配置http使用 1.解压harbor.tar # 解压至指定目录 [rootdocker ~]…

线程池 jvm web

线程池 分类 newCachedThreadPool 可进行缓存重复利用的线程池 newFxiedThreadPool 可重复利用的固定数目的线程池 newSingelThreadPool 单个work线程 newSingelThreadScheduledExecutor 单线程定时执行程序 newWorkStealingPool 带并行级别的线程池 核心参数 …

【OpenCV】(二)—— 图片读取展示和保存

上一小节中我们成功安装了opencv,我们这次学习使用opencv最基础的功能,读取和展示图片,首先准备一张用于实验的样例图片【cat.jpg】如下: 然后就是创建一个python项目并导入相关依赖 import cv2读取图片 读取图片使用imread方法…

Flythings学习(二)控件相关

文章目录 1 前言2 通用属性2.1 控件ID值2.2 控件位置2.3 背景色2.4 背景图2.5 显示与隐藏2.6 控件状态2.7 蜂鸣器控制 3 文本类TextView4 按键类 Button4.1 系统按键4.2 处理按钮长按事件4.3 处理按键触摸事件 5 复选框CheckBox6 单选组 RadioGroup7 进度条,滑块7.1…

vscode如何通过ssh远程链接其它电脑

客户端(本机)linux系统中vscode通过ssh插件远程连接服务器,其操作步骤如下: 配置服务器的配置文件 首先在~/.ssh/config文件中输入服务器的配置信息,如果没有这个文件就新建一个,其内容如下: …

线性系统性能分析方法2——根轨迹法

反馈控制系统的性质取决于闭环传递函数,只要求解出闭环系统的特征根,便能得到系统响应的变化规律。但对于3阶以上的系统求根比较困难。如果系统中有一个可变参数时,求根就更困难了。 1948年,伊凡思提出了一种确定系统闭环特征根的…

ENSP搭建基础网络拓扑图

一、ENSP的基本操作 1、配置网关 进入系统视图与退出 <Huawei>system-view [Huawei]quit 进入G0/0/0接口后配置ip [R1]interface GigabitEthernet 0/0/0 [R1-GigabitEthernet0/0/0]ip address 192.168.1.1 24查询所有接口的ip配置 [R1]display ip interface brief…

02 django管理系统 - base.html模板的搭建

下面&#xff0c;我们正式开始XX市第X医院员工信息管理系统的开发 首先&#xff0c;我们项目的目录结构如下&#xff1a; 然后&#xff0c;先把模板【base.html】界面的框架搭起来 {% load static %}<!DOCTYPE html> <html lang"en"><head><m…

使用最小二乘法画噪声数据的近似曲线

文章目录 问题MATLAB代码验证数据1验证数据2 问题 已知有系列含有噪声的数据&#xff08;x , y&#xff09;用最小二乘法计算m和b。(ymxb) MATLAB代码 disp(This promgram perform a leastsquares fit of an); disp(input data set to a straight line.); n_points input(E…

minio储存应用部署

一、minio简介 MinIO 是一个高性能的对象存储系统&#xff0c;设计用于存储大量的非结构化数据&#xff0c;如图片、视频、日志文件等。它完全兼容 Amazon S3 API&#xff0c;这意味着你可以使用与 S3 相同的工具和接口来管理和访问 MinIO 中的数据。 二、主要特性 1. S3 兼…

Vue3实现面板分割

Vue3实现面板分割 下面是将你提供的 Vue 组件使用 SCSS&#xff0c;并以 Vue 3 的组合式 API 形式的面板分割代码。 1、建立组件相关的文件夹 2、将下面代码拷贝到index.vue中 <template><div class"g-split" ref"gSplit"><!-- 水平方向…

数学建模算法与应用 第15章 预测方法

目录 15.1 微分方程模型 Matlab代码示例&#xff1a;求解简单的微分方程 15.2 灰色预测模型&#xff08;GM&#xff09; Matlab代码示例&#xff1a;灰色预测模型 15.3 自回归模型&#xff08;AR&#xff09; Matlab代码示例&#xff1a;AR模型的预测 15.4 指数平滑法 M…

easyocr 本地部署模型 识别图像 ocr - python 实现

使用 easyocr 本地部署识别图像 ocr ,可以满足简单图像场景的ocr识别。 可以进行 中文、英文 ocr 识别。 安装 python 库 pip install easyocr 识别本地模型下载地址&#xff1a;easyocr本地部署模型识别图像ocr-python实现资源-CSDN文库 也可通过程序直接下载官方链接 识…

计算机的错误计算(一百二十一)

摘要 探讨表达式 “((1/3-0.3333333333333333235)(1/3-0.333333333333333759)*0.008)*10^20” 的计算精度问题。 对于下列算式 若用C编程计算&#xff0c;则输出是错误结果[1]。那么别的语言呢&#xff1f; 例1. 计算 不妨用Java代码计算&#xff1a; public class expres…

el-image预览时和el-table边框出现样式穿透问题处理

el-image预览时和el-table边框出现样式穿透问题处理 如图所示 我们只需要在当前组件加一个css即可解决问题 <style lang"scss" scoped> :deep(.el-table__cell) {position: static !important; } </style>

Django学习笔记之Django基础学习

Django笔记 提示&#xff1a;这里可以添加系列文章的所有文章的目录&#xff0c;目录需要自己手动添加 例如&#xff1a;第一章 Python 机器学习入门之pandas的使用 提示&#xff1a;写完文章后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录…

黑马程序员 javaWeb基础学习,精细点复习【持续更新】

文章目录 WEB开发一、HTML1.html介绍 二、CSS1.CSS介绍2.CSS导入方式3.CSS选择器4.CSS属性 三、JavaScript1.介绍2.浏览器3.js的三种输出方式4.js定义变量5.js数据类型6.js运算符7.全局函数8.函数定义9.js数组对象10.js正则对象11.字符串对象12.自定义对象13.BOM浏览器对象模型…