### 6.3.4 继电器+水泵

#### 6.3.4.1 简介

本教程将为您详细介绍5V继电器模块和水泵模块的使用方法和应用技巧。水泵模块是一种用于输送液体的设备，广泛应用于农业灌溉、水族箱管理和工业流体控制；5V继电器模块是一种电子开关设备，能够通过低电压控制高电压或大电流电路的通断。教程内容包括水泵模块和5V继电器模块的工作原理、引脚功能、电路连接方法以及如何通过微控制器（如ESP32）控制控制继电器的开关状态从而最终控制水泵的开关和运行状态。您将学习如何编写代码来实现继电器的自动控制水泵模块，并应用于各种场景，如农业灌溉、水族箱管理和工业流体控制。无论您是电子初学者还是有经验的开发者，本教程都将帮助您掌握5V继电器模块和水泵模块的应用，为您的项目增添高效的液体输送解决方案。

#### 6.3.4.2 元件知识

![j153](../media/j153.png)

水泵模块基于电机的工作原理，通过电机驱动叶轮或活塞运动，将液体从低压区域输送到高压区域。其核心是将电能转换为机械能，再转换为液体的动能，广泛应用于家用、农业、工业等领域。

⚠️ **注意：** 水泵跟电机一样是不能直接使用开发板的IO口进行驱动的，否则将可能会烧坏开发板。

**水泵拆解图：**

![j154](../media/j154.png)

**继电器：** 是一种电子控制器件，它具有控制系统（又称输入回路）和被控制系统（又称输出回路），通常应用于自动控制电路中，它实际上是用较小的电流去控制较大电流的一种“自动开关”。故在电路中起着自动调节、安全保护、转换电路等作用。下面是一个常用继电器的示意图:

![Img](../media/cou101.png)

引脚名称及其描述：

- V：电源正极，提供必要的电能。
- G：电源负极，与正极共同构成电流回路。
- S：控制信号，用于控制继电器的开关状态。
- NO：常开接口，在无控制信号时处于断开状态，有信号时闭合。
- COM：公共端接口，与常开、常闭接口相连，构成触点。
- NC：常闭接口，在无控制信号时处于闭合状态，有信号时断开。

**工作原理图：**

![j154](../media/j113.png)

一个继电器拥有一个动触点以及两个静触点A和B。

当开关K断开时，继电器线路无电流通过，此时动触点与静触点B相接触，上半部分的电路导通。静触点B被称为常闭触点（NC）。常闭——NC（normal close）通常情况下是关合状态，即线圈未得电的情况下闭合的。

当开关K闭合时，继电器电路通过电流产生磁力，此时动触点与静触点A相接触，下半部分电路导通。静触点A被称为常开触点（NO）。常开——NO（normal open）通常情况下是断开状态，即线圈未得电的情况下断开的。

而动触点也被称为公共触点（COM）。

继电器简单来说就是一个开关，VCC表示电源正极、GND表示电源负极、S表示信号脚，COM表示公共接口，NC（normal close）表示常闭接口，NO(normal open)表示常开接口。

继电器能兼容多种单片机控制板，是用小电流去控制大电流运作的一种“自动开关”。它可以让单片机控制板驱动3A以下负载，如LED灯带、直流马达、微型水泵、电磁阀可插拔式接口设计，方便使用。

**规格参数：**

- 供电电压：5V
- 静态电流：2mA
- 最高触点电压：250VAC/30VDC
- 最大电流：10A

**模块原理图：**

![Img](../media/couy101.png)

#### 6.3.4.3 接线图

- **继电器模块的S引脚连接到io25；继电器的NO端，连接到ESP32主板上的3V3引脚**

- **水泵：**
  - **红色线连接到继电器的COM端，如图所示**
  - **黑色线连接到ESP32主板上的GND引脚，如图所示**

⚠️ **特别注意：智慧农场已经组装好了，这里不需要把继电器模块和水泵拆下来又重新组装和接线，这里再次提供接线图，是为了方便您编写代码！**

![Img](../media/couj101.png)

#### 6.3.4.4 实验代码

代码文件在`Mixly_代码`文件夹中，代码文件为`6_3_4_Water_Pump.mix`，如下图所示：

![Img](../media/acouj-04.png)

单击 “**文件**” --> “**打开**”，然后选择保存代码的路径，选中代码文件打开即可，如下图所示：

![Img](../media/acouj-00.png)

![Img](../media/acouj-04-1.png)

**认识代码块**

① 这是初始化代码块，初始化代码块里面的内容只执行一次。

![Img](../media/initialize.png)

② 向继电器指定管脚设置“高”或“低”，选择“高”代表给该管脚设置高电平，有电压，有电流，则继电器吸合；选择“低”代表给管脚设置低电平，没电压，没有电流，则继电器断开。 

![Img](../media/ab4-1.png)

③ 将程序的执行暂停一段时间，也就是延时，单位是毫秒。 

![Img](../media/ab0.png)

**组合代码块**

![Img](../media/Mixly-code4.png)

#### 6.3.4.5 实验结果

按照接线图接好线，外接电源，选择好正确的开发板板型（ESP32 Dev Module）和 适当的串口端口（COMxx），然后单击按钮![Img](../media/upload2.png)上传代码。上传代码成功后，则继电器控制水泵会进行一次抽水。

![Img](../media/Relay-pump.gif)

通过这个项目，我们可以实现自动化的抽水泵控制，从而减少手动操作的时间和精力成本，提高生产效率。这种方法可以应用于多个领域，例如农业生产、水处理等。