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

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

3天内不再提示

基于Arduino的雨水检测系统设计

454398 来源:一板网 作者:风筝 2020-11-11 15:59 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

通过使用Arduino开发板和雨量传感器(Rain Sensor)连接,可以轻松制作一个简单的雨水检测系统(Rain Detection System)。传感器将检测到任何降雨,Arduino开发板将对其进行感应并执行所需的操作。这样的系统可用于许多不同的领域,例如农业和汽车领域。降雨检测可用于自动调节灌溉过程。而且,连续的降雨数据可以帮助农民使用该智能系统,仅在需要时才自动为作物浇水。同样,在汽车领域,通过使用雨水检测系统可以使雨刷器完全自动化。而且,家庭自动化系统还可以使用雨水检测功能自动关闭窗户并调节室温。在本篇文章中,我们将使用Arduino和蜂鸣器制作简单的雨量传感器。然后,您可以在该设置基础之上制作任何所需的内容。另外,请注意,雨量传感器模块根据使用情况也称为雨滴传感器、或雨水传感器,但本文中它们均指的是同一传感器,并且工作原理相同。

所需的材料

● Arduino UNO开发板

● 雨量传感器

● 蜂鸣器

● 面包板

● 连接导线

雨量传感器

雨量检测模块由两个电路板组成,分别是雨量传感器电路板和控制板。

雨量传感器电路板模块(Rain Sensor)由两个铜线组成,其设计方式使得它们在干燥条件下可为电源电压提供高电阻,并且该模块的输出电压为5V。随着电路板上湿度的增加,该模块的电阻逐渐减小。随着电阻的降低,其输出电压也会相对于模块上的湿度降低。雨量传感器电路板模块由两个用于连接到控制板的引脚组成,如下所示。

控制板模块控制灵敏度并将模拟输出转换为数字输出。如果模拟值低于控制板的阈值,则输出为低电平;如果模拟值高于阈值,则输出为数字高电平。为了进行比较和转换,使用了LM393运算放大器比较器。运算放大器比较器是一个有趣的电路,可以用来比较两个不同的电压值。

如下所示,雨量控制模块由4个用于连接Arduino的引脚组成,即VCC、GND、D0、A0,另外两个引脚用于连接雨量传感器电路板模块。总之,雨量传感器电路板模块检测雨水,控制板模块用于控制灵敏度,并将模拟值转换为数字值。

雨量传感器的工作原理

雨量传感器模块的工作原理很容易理解。在晴天期间,由于模块干燥,因此对电源电压具有很高的电阻。该电压在模块的输出引脚上为5V。如果由Arduino的模拟引脚读取,则此5V读取为1023。在下雨期间,雨水会导致雨量传感器模块电路板的湿度增加,进而导致电阻减小。随着电阻逐渐减小,输出电压开始减小。

当雨量传感器模块完全湿透并且其提供的电阻最小时,输出电压将尽可能低(约0)。如果由Arduino的模拟引脚读取,则此0V将读取为0值。如果模块部分潮湿,则该雨板模块的输出将取决于其提供的电阻。如果通过防雨板模块提供的电阻的输出为3V,则读取的模拟值将为613。可以通过以下公式得出查找ADC的公式:ADC =(模拟电压值X 1023)/ 5。通过使用此公式,您可以将任何模拟电压转换为Arduino模拟读取值。

电路图

下面的电路图显示了Arduino与雨量传感器的电路连接。

电路图中所示的雨量传感器模块连接至控制板。控制板的VCC引脚连接到5V电源。接地引脚接地。如果需要,可以将D0引脚连接到Arduino的任何数字引脚,并且该引脚必须在程序中声明为输入引脚。 由于D0引脚输出的是高低电平信号,因此我们无法获得D0引脚确切的输出电压值。如果输出引脚超过阈值电压,则控制模块可以监测输出的变化。即使雨量传感器模块中的输出电压发生一点变化,我们也需要操作蜂鸣器。由于这些原因,我们使用A0引脚,并将其连接到Arduino的模拟引脚,这使得监视输出变化变得容易。蜂鸣器可以连接到Arduino的任意数字引脚。如果蜂鸣器需要5V以上的电压,则尝试使用继电器电路或晶体管

代码说明

雨量传感器的Arduino代码是使用Arduino IDE编写的。该项目的完整代码在本文末尾给出。

#define rainfall A0

#define buzzer 5

int value;

int set=10;

将引脚A0定义为rainfall,将引脚5定义为buzzer,并将变量“value”和“set”声明为整数,并将其变量set值设置为10。可以根据实际情况更改此值。如果您希望即使下雨很小也能启动蜂鸣器,将变量值设置为最小值。

void setup() {

Serial.begin(9600);

pinMode(buzzer,OUTPUT);

pinMode(rainfall,INPUT);

}

初始化串口通讯,并将蜂鸣器设置为输出引脚,将rainfall引脚设置为输入引脚。

void loop() {

value = analogRead(rainfall);

Serial.println(value);

value = map(value,0,1023,225,0);

在loop函数中,函数analogRead读取雨量传感器的值。Serial.println(value)在串口监视器上打印该值,这在调试时很有帮助。map函数映射输出引脚上的雨量传感器的值,并为变量分配一个值,范围为0到225。

if(value>=set){

Serial.println("rain detected");

digitalWrite(buzzer,HIGH);

如果读取的传感器值大于set值,则程序进入循环,在串口监视器上打印消息并打开蜂鸣器

else{

digitalWrite(buzzer, LOW);

仅当该值小于set值时,程序才进入else功能。当设定值大于传感器的值时,将关闭蜂鸣器,表明没有雨。

基于Arduino的雨水检测系统的工作

该系统的工作方式是:在下雨时,雨水充当触发器,从而触发蜂鸣器。在雨滴传感器的Arduino代码中,我们定义了引脚5是蜂鸣器和A0是雨滴传感器引脚。

这是雨量传感器的众多应用场景中的一种,在雨刷、其他家庭自动化、农业部门等中也会看到相同的原理。希望您理解该项目并喜欢进行制作。
编辑:hfy

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

    关注

    1

    文章

    67

    浏览量

    9309
  • Arduino
    +关注

    关注

    190

    文章

    6515

    浏览量

    195985
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    Arduino plc和termux esp

    Arduino plc和termux esp
    的头像 发表于 12-06 06:41 1427次阅读

    雨水泵站水质监测物联网系统方案

    某地多个污水泵站新增一整套水质监测设备,包括化学需氧量在线自动分析仪、氨氮在线自动分析仪、总磷在线自动分析仪,用于对汇入和派出泵站的雨水水质进行实时监测。现要求将各个雨水泵站的水质参数采集起来,集中
    的头像 发表于 11-18 16:01 285次阅读
    <b class='flag-5'>雨水</b>泵站水质监测物联网<b class='flag-5'>系统</b>方案

    下穿通道雨水泵站远程监控运维管理系统方案

    随着城市化进程加速,城市下穿通道(如隧道、地下通道、立交桥低洼段等)数量显著增加。此类区域因地势低洼,易在暴雨天气形成积水,导致交通瘫痪、财产损失甚至人员伤亡。雨水泵站作为排水系统的核心设施,其运行
    的头像 发表于 10-16 14:05 122次阅读
    下穿通道<b class='flag-5'>雨水</b>泵站远程监控运维管理<b class='flag-5'>系统</b>方案

    如何用Arduino Nano/UNO R3开发板给另一个Arduino IDE不能下载的Arduino Nano/UNO R3开发板重新烧录引导程序bootlaoder

    本文介绍了如何用能够Arduino IDE下载的Arduino Nano/UNO R3开发板给另一个Arduino IDE不能下载的Arduino Nano/UNO R3开发板重新烧录
    的头像 发表于 08-08 20:16 3071次阅读
    如何用<b class='flag-5'>Arduino</b> Nano/UNO R3开发板给另一个<b class='flag-5'>Arduino</b> IDE不能下载的<b class='flag-5'>Arduino</b> Nano/UNO R3开发板重新烧录引导程序bootlaoder

    雨水情监测预警系统物联网解决方案

    预警系统。对此,数之能提供以数据采集管理平台为核心的物联网解决方案,助力实现雨水情的远程监控与自动预警,为防汛、防涝等工作提供可靠帮助,助力提高工作效率与管理水平,更好的保障人民群众的生命财产安全。 1、水库大坝
    的头像 发表于 07-28 16:51 434次阅读
    <b class='flag-5'>雨水</b>情监测预警<b class='flag-5'>系统</b>物联网解决方案

    集装箱残损检测系统与传统人工检测对比

    检测系统
    jf_60141436
    发布于 :2025年06月26日 14:06:08

    小型水库防汛(雨水情监测)系统方案

    水利治理体系必须加强的环节之一。 对此,物通博联提供高效可靠的小型水库防汛(雨水情监测)系统方案,为实现小型水库的无人值守与智慧运维提供数字化支持。通过构建大坝监测传感网络、雨水情监测传感网络,实时采集水位、
    的头像 发表于 06-04 17:16 580次阅读
    小型水库防汛(<b class='flag-5'>雨水</b>情监测)<b class='flag-5'>系统</b>方案

    中小河流雨水情数采监测系统方案

    完善中小河流水文监测体系,提高覆盖面和智能化水平。因此,建立高效、精准的雨水情监测系统对防洪减灾至关重要。 二、痛点分析 数据采集困难:人工测量成本高、效率低,无法实现大规模、高频次的数据收集。 信息孤岛:数据
    的头像 发表于 05-14 17:06 794次阅读
    中小河流<b class='flag-5'>雨水</b>情数采监测<b class='flag-5'>系统</b>方案

    《ESP32S3 Arduino开发指南》第二章 Arduino基础知识

    Arduino IDE可以在Windows、Mac OS X和Linux三大主流操作系统上运行,而其他的大多数控制器只能在Windows上开发。2、简单清晰的开发Arduino IDE基于Processing
    发表于 05-13 09:28

    尾矿库雨水情自动化监测系统方案

    的多种不利影响,导致尾矿库应对暴雨、滑坡、泥石流等灾害的抵御能力越来越弱。一旦出现意外,将给工农业生产及下游人民生命财产造成巨大的灾害和损失。因此,建立尾矿库雨水情自动化监测系统,实时监测尾矿库的雨水情况,对
    的头像 发表于 02-08 15:45 577次阅读

    智能化雨水情自动测报系统:实时发布降水预警信息

    雨水情自动测报系统是基于现代信息技术的一套完整的降水量监测和气象预警系统。它通过水位传感器、雨量传感器、无线通信网络以及大数据分析技术,实现降水数据的实时采集、传输、存储和分析,最终为用户提供精准
    的头像 发表于 02-06 15:12 1964次阅读
    智能化<b class='flag-5'>雨水</b>情自动测报<b class='flag-5'>系统</b>:实时发布降水预警信息

    智慧雨水情测报监测预警系统:保障水库大坝稳定运行与灾害预防

    水库大坝雨水情测报监测预警系统是由水位传感器、雨量传感器、数据采集器、通信模块等均具有独立的功能模块于一体的综合性安全监测系统通过先进的传感器技术和通信网络,将采集到的数据及时传输到监控中心,经过数据分析和处理后,实现对水库安全
    的头像 发表于 01-16 09:11 950次阅读
    智慧<b class='flag-5'>雨水</b>情测报监测预警<b class='flag-5'>系统</b>:保障水库大坝稳定运行与灾害预防

    水库大坝智能雨水情测报预警系统:增强灾害预警和应急处理能力

    水库大坝智能雨水情测报预警系统能够实时监测水库的雨量和水位变化,为水库管理提供及时、准确的数据支持。管理人员可以通过监控中心软件随时查看水库的水雨情信息,掌握水库的运行状态。
    的头像 发表于 01-16 08:59 1013次阅读
    水库大坝智能<b class='flag-5'>雨水</b>情测报预警<b class='flag-5'>系统</b>:增强灾害预警和应急处理能力

    如何使用Arduino实现CAN总线通信呢

    CAN(Controller Area Network)总线是一种常用于汽车和工业控制系统的串行通信协议,以其高可靠性和实时性而闻名。Arduino,作为一种流行的开源微控制器平台,可以通过附加
    的头像 发表于 12-23 09:06 2821次阅读