### 6.4.4 雨水检测系统

***注意：水洒在其他传感器上会导致短路，导致设备失效，洒在电池上会导致发热爆炸。请在使用设备时格外小心，尤其是幼儿使用时一定要在家长的监护下进行。为确保设备的安全运行，请遵循相关使用指南和安全规范。***

#### 6.4.4.1 简介

本教程介绍了如何使用水滴传感器、蜂鸣器、LCD1602模块、智能语音模块和ESP32来创建一个雨水检测系统。当传感器检测到雨时，ESP32可以触发各种动作，如发送通知、激活洒水器或打开蜂鸣器等。这个系统可用于监测园艺或农业的雨量，或检测屋顶或建筑物的漏水情况。水滴传感器可以很容易地连接到ESP32开发板上，形成一个简单而有效的雨水检测系统。

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

当水滴传感器检测到雨水时，它会向ESP32开发板发送一个信号，可以触发各种动作。例如，可以用一个蜂鸣器发出警报声，提醒用户正在下雨，在LCD1602模块上显示当前雨水量百分数值，同时对着智能语音模块发出类似于“当前雨水量是多少”等命令词，智能语音模块接收到相应命令词后还能语音播报当前雨水量百分数值。这一功能对户外园艺或农业特别有用，使用户能够采取必要的预防措施，避免过度浇灌植物。

此外，使用水滴传感器和ESP32的雨水检测系统可用于检测屋顶或建筑物的漏水情况，帮助防止水入侵造成的损害。总的来说，水滴传感器是一个多功能的有效工具，可以在各种应用中检测水的存在。

#### 6.4.4.2 接线图

- **水滴传感器的S引脚连接到io35**

- **无源蜂鸣器的S引脚连接到io16**

- **智能语音模块的TXD引脚连接到io5，RXD引脚连接到io23**

- **LCD1602模块连接到 BUS I2C(SDA连接(SDA:IO21)、SCL连接(SCL:IO22)**

⚠️ **特别注意：智慧农场已经组装好了，这里不需要把水滴传感器、无源蜂鸣器、LCD1602模块和智能语音模块拆下来又重新组装和接线，这里再次提供接线图，是为了方便您编写代码！**

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

#### 6.4.4.3 代码流程图

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

#### 6.4.4.4 实验代码

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

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

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

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

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

**组合代码块**

⚠️ **注意：代码中的条件阈值可以根据实际情况自行设置。**

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

#### 6.4.4.5 实验结果

按照接线图接好线，外接电源，选择好正确的开发板板型（ESP32 Dev Module）和 适当的串口端口（COMxx），然后单击按钮![Img](../media/upload2.png)上传代码。上传代码成功后，LCD1602模块显示屏显示当前雨水量的百分数相关信息，当水滴传感器检测到的雨水量的百分数越大，蜂鸣器报警声音越大。

对着智能语音模块上的麦克风，使用唤醒词 “你好，小智” 或 “小智小智” 来唤醒智能语音模块，同时喇叭播放回复语 “有什么可以帮到您”；

智能语音模块唤醒后，对着麦克风说：“当前雨水量是多少” 或 “当前雨量多少” 等命令词时，接着语音播报 “正在为您读取当前雨水量” + “当前雨水量为百分之” + “水滴传感器模拟值通过计算转化成的雨水量百分数值”。

![Img](../media/Rainwater-Detection-System.gif)