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

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

3天内不再提示

基于Arduino构建一个自动饮水机

科技观察员 来源:circuitdigest 作者:阿斯文斯·拉吉 2022-11-09 16:22 次阅读

大约71%的地球被水覆盖,但可悲的是,只有2.5%是饮用水。随着人口、污染和气候变化的增加,预计到2025年,我们将经历长期的水资源短缺。一方面,民族和国家之间已经存在分享河水的小争议,另一方面,由于我们的疏忽,我们作为人类浪费了大量的饮用水。

它第一次可能看起来不大,但是如果你的水龙头每秒滴一滴水,你只需要大约五个小时就可以浪费一加仑水,这足以让普通人生存两天。那么可以做些什么来阻止这种情况呢?与往常一样,答案在于技术的改进。如果我们将所有手动水龙头替换为一个自动打开和关闭的智能水龙头,我们不仅可以节约用水,还可以拥有更健康的生活方式,因为我们不必用脏手操作水龙头。因此,在这个项目中,我们将使用Arduino构建一个自动饮水机和一个电磁阀,当玻璃杯靠近它时,它可以自动给你水。听起来很酷吧!所以让我们建立一个...

所需材料

电磁阀

Arduino Uno (任何版本)

HCSR04 – 超声波传感器

IRF540 场效应管

1k 和 10k 电阻器

面包板

连接线

工作理念

自动饮水机背后的概念非常简单。我们将使用HCSR04 超声波传感器来检查是否有任何物体,使得玻璃被放置在分配器之前。电磁阀将用于控制水的流动,即通电时水将流出,当断电时,水将停止。因此,我们将编写一个Arduino程序,该程序始终检查水龙头附近是否放置了任何物体,如果是,则电磁阀将打开并等待直到对象被移除,一旦物体被移除,电磁阀将自动关闭,从而关闭供水。

电路图

基于 Arduino 的饮水机的完整电路图如下所示

pYYBAGNrY16AAOT5AAB6Yu0mPRU346.png

本项目使用的电磁阀为12V阀,最大额定电流为1.2A,连续额定电流为700mA。也就是说,当阀门打开时,它将消耗大约 700mA 来保持阀门打开。众所周知,Arduino 是一种以 5V 工作的开发板,因此我们需要一个开关驱动器电路来打开和关闭电磁阀。

本项目中使用的开关器件是IRF540N N 沟道 MOSFET。它分别具有引脚 1 的 3 个引脚门、源极和漏极。如电路图所示,螺线管的正极端子由Arduino的Vin引脚供电。因为我们将使用 12V 适配器为 Arduino 供电,因此 VIN 引脚将输出 12V,可用于控制电磁阀。电磁阀的负极端子通过 MOSFET 的源极和漏极引脚接地。因此,只有当 MOSFET 导通时,电磁阀才会通电。

MOSFET 的栅极引脚用于打开或关闭它。如果栅极引脚接地,它将保持关闭状态,如果施加栅极电压,它将接通。为了在栅极引脚未施加电压时保持 MOSFET 关断,栅极引脚通过一个 10k 电阻器拉至地。Arduino引脚12用于打开或关闭MOSFET,因此D12引脚通过1K电阻连接到栅极引脚。该 1K 电阻器用于限流目的。

超声波传感器由Arduino的+5V和接地引脚供电。回声和触发引脚分别连接到引脚 8 和引脚 9。然后,我们可以对Arduino进行编程,以使用超声波传感器来测量距离,并在检测到物体时打开MOSFET。整个电路很简单,因此可以很容易地构建在面包板的顶部。建立连接后,我的在下面看起来像这样。

poYBAGNrY2CAGeSkAAD0UC4hljU325.jpg

对 Arduino 板进行编程

对于这个项目,我们必须编写一个程序,该程序使用 HCSR-04 超声波传感器来测量它前面物体的距离。当距离小于10cm时,我们必须打开MOSFET,否则我们必须关闭MOSFET。我们还将使用连接到引脚 13 的板载 LED,并将其与 MOSFET 一起切换,以便确保 MOSFET 是处于导通还是关断状态。本页末尾给出了执行相同操作的完整程序。在下面,我通过将程序分解为有意义的小片段来解释该程序。

程序从宏定义开始。我们有超声波传感器的触发和回波引脚,MOSFET栅极引脚和LED作为Arduino的I / O。因此,我们已经定义了这些将连接到哪个引脚。在我们的硬件中,我们已将回声和触发引脚连接到 8 和 9千分别是数字引脚。然后,MOSFET 引脚连接到引脚 12,板载 LED 默认连接到引脚 13。我们使用以下行定义相同

#define trigger 9

#define echo 8

#define LED 13

#define MOSFET 12

在设置函数中,我们声明哪些引脚是输入的,哪些是输出的。在我们的硬件中,只有超声波(US)传感器的回波引脚是输入引脚,其余都是输出引脚。所以我们使用 Arduino 的 pinMode 函数来指定如下所示的相同内容

pinMode(trigger,OUTPUT);

pinMode(echo,INPUT);

pinMode(LED,OUTPUT);

pinMode(MOSFET,OUTPUT);

在主循环函数中,我们调用名为 measure_distance() 的函数。此函数使用美国传感器测量其前方物体的距离,并将值更新为变量“距离”。要使用美国传感器测量距离,触发引脚必须首先保持低电平两微秒,然后保持高电平十微秒,然后再次保持低电平两微秒。这将向空气中发送超声波信号的声波,这些信号将被它前面的物体反射,回声引脚将拾取它反射的信号。然后,我们使用所用时间值来计算传感器前方物体的距离。

digitalWrite(trigger,LOW);delayMicroseconds(2);digitalWrite(trigger,HIGH);delayMicroseconds(10);digitalWrite(trigger,LOW);delayMicroseconds(2);time=pulseIn(echo,HIGH);distance=time*340/20000;

计算距离后,我们必须使用简单的if语句比较距离值,如果该值小于10cm,则使MOSFET和LED变高,在下面的其他语句中,我们使MOSFET和LED变低。执行相同操作的程序如下所示。

if(distance<10)

{

digitalWrite(LED,HIGH);digitalWrite(MOSFET,HIGH);

}

else

{

digitalWrite(LED,LOW);digitalWrite(MOSFET,LOW);

}

自动饮水机的工作原理

按照电路中所示进行连接,并将以下给定的程序上传到Arduino板中。进行一些简单的安排,将电磁阀连接到进水口,并使用 12V 适配器为 Arduino 板的直流插孔为电路供电。确保板载 LED 已关闭,这可确保电磁阀也熄灭。我为演示该项目所做的设置如下所示

poYBAGNrY2OAXdq5AAEsh-_4QE4382.jpg

如您所见,我将超声波传感器直接放置在电磁阀下方,这样当玻璃/滚筒放置在电磁阀下方时,它与超声波传感器直接相对。该物体将由超声波传感器感应,MOSFET 和 LED 将打开,从而使电磁阀打开,水向动。

同样,当玻璃被移除时,超声波传感器告诉Arduino前面没有玻璃,因此Arduino关闭阀门。该项目的完整工作可以在下面的视频中找到。如果您对使其工作有任何疑问,请将其发布在评论部分或使用论坛寻求技术帮助。

警告:不同的电磁阀具有不同的工作电压和电流额定值,请确保您的电磁阀在 12V 下工作并且最大消耗不超过 1.5A。

#define trigger 9

#define echo 8

#define LED 13

#define MOSFET 12






float time=0,distance=0;



void setup()

{

Serial.begin(9600);


pinMode(trigger,OUTPUT);

pinMode(echo,INPUT);

pinMode(LED,OUTPUT);

pinMode(MOSFET,OUTPUT);


delay(2000);

}



void loop()

{

measure_distance();



if(distance<10)

{

digitalWrite(LED,HIGH);digitalWrite(MOSFET,HIGH);

}

else

{

digitalWrite(LED,LOW);digitalWrite(MOSFET,LOW);

}



delay(500);

}


void measure_distance()

{

digitalWrite(trigger,LOW);

delayMicroseconds(2);

digitalWrite(trigger,HIGH);

delayMicroseconds(10);

digitalWrite(trigger,LOW);

delayMicroseconds(2);

time=pulseIn(echo,HIGH);



distance=time*340/20000;

}


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

    关注

    14

    文章

    507

    浏览量

    31273
  • Arduino
    +关注

    关注

    187

    文章

    6456

    浏览量

    186467
收藏 人收藏

    评论

    相关推荐

    饮水机节电改造电路

    饮水机节电改造电路在不破坏饮水机外观的情况下增加了几个元件使饮水机具有省电功能。
    发表于 12-31 13:40 4365次阅读
    <b class='flag-5'>饮水机</b>节电改造电路

    基于Arduino开发板和电磁阀的自动饮水机制作

    在这个项目中,我们将使用Arduino开发板和电磁阀制作自动饮水机,当杯子放在它附近时,它可以自动
    的头像 发表于 01-13 16:45 7992次阅读

    从传统饮水机到智能即热饮水机

    ,再到如今的智能即热饮水机饮水机的技术与形态都在发生着不小的改变。   饮水机的发展历程   作为种家用电器,饮水机的主要功能便是通过过
    的头像 发表于 08-22 01:12 2294次阅读

    维修饮水机

    维修饮水机 家里饮水机用久了不加热线路好的 检查溫控管好的.加热胆坏了 网上购买换上 指示灯恢复加热 修复成功
    发表于 02-27 15:55

    智能家居——多功能饮水机的设计与实现

    控制、自动提醒送水、自动放满杯水、节能设计和人性化设计于体,实现家居智能化,具备技术创新,应用广泛,实用性强,经济成本低等优点。 方案设计(
    发表于 05-22 10:42

    饮水机自动开门开机电路

    普通饮水机只有温度传感器。温度下降就好少感觉这点特别不好。就这样直没完没了烧水保温 再
    发表于 12-30 21:19

    饮水机的节电措施电子资料

    饮水机只要接通电源开关后,加热桶内的纯水就被长时间地反复加热,这不但不利于饮用卫生,而且还浪费电能。其实只要给饮水机加装简单的节电开
    发表于 04-21 06:27

    红外无线遥控饮水机相关资料分享

    使用时用遥控器对准饮水机按任意键.饮水机就接通电路开始工作,不用时,再按遥控器任意键饮水机就停止工作,使用非常方便,原理简单,并有指示灯指示,是
    发表于 04-27 07:41

    基于单片的智能饮水机功能设计

    主程序部分3.3.2 温度检测3.3.3 显示程序设计3.3.4 键盘扫描程序3.4 实现效果4 最后1 简介Hi,大家好,这里是丹成学长,今天向大家介绍 单片项目基于单片
    发表于 11-19 08:33

    基于单片饮水机温度控制系统设计

    本次设计为基于单片饮水机的温度控制系统,该系统可以实时检测饮水机水箱的水温,并且可以通过数码管显示
    发表于 09-26 07:25

    饮水机原理_饮水机内部结构详解

    饮水机对于家庭而言并不陌生了,几乎每家每户都有这样的家电用器,很多朋友的好奇心也就越来越大了,都想着了解看饮水机构造是怎么样的呢?起来看看饮水机构造图详解吧,让我们在生活中更加简便的
    发表于 12-12 17:09 16w次阅读

    智能化饮水机的优点有哪些_智能化饮水机工作原理

    本文开始介绍了什么是智能饮水机与智能饮水机的特点,其次介绍了智能饮水机的工作原理和智能化饮水机的优点,最后阐述了智能饮水机对比桶装水区别以及
    的头像 发表于 03-02 08:44 6083次阅读

    智能饮水机功能介绍_智能饮水机的特点及价格

    本文开始阐述了智能饮水机的特点与工作原理,其次阐述了智能饮水机的功能,最后介绍了智能饮水机的价格。
    的头像 发表于 03-02 09:16 1.5w次阅读

    饮水机的制冷和制热原理分别是什么?

    饮水机是公司、家庭中常用到的饮水道具。主要是我国的自来水没有达到直接饮用的标准,因此很多人为了自己的健康着想,会在家里面备饮水机
    的头像 发表于 08-20 11:09 3.5w次阅读
    <b class='flag-5'>饮水机</b>的制冷和制热原理分别是什么?

    自动宠物饮水机和消耗监测

    电子发烧友网站提供《自动宠物饮水机和消耗监测.zip》资料免费下载
    发表于 11-11 11:11 0次下载
    <b class='flag-5'>自动</b>宠物<b class='flag-5'>饮水机</b>和消耗监测