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

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

3天内不再提示

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

电子设计 来源:一板网 作者:风筝 2021-01-13 16:45 次阅读

大约71%的地表都被水覆盖,但遗憾的是只有2.5%的水是可以饮用。随着人口增加、污染严重以及气候变化,预计到2025年我们将遇到长期的水资源短缺。一方面,各国和各州之间就共享河水已经发生了轻微的争议,另一方面,由于我们的疏忽,人类浪费了大量的饮用水。

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

所需的材料

● 电磁阀

● Arduino Uno开发板

● HCSR04 - 超声波传感器

MOSFET场效应管IRF540

● 1k和10k电阻

● 面包板

● 连接导线

工作原理

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

电路原理

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

pIYBAF_-snCAAmdgAALoQg5R90s559.png

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

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

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

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

o4YBAF_-sn2APFZNAAUzk5gcOZk527.png

编程Arduino开发板

对于这个项目,我们必须编写一个程序,该程序使用HCSR-04超声波传感器来测量物体前方的距离。当距离小于10cm时,我们必须打开MOSFET,否则我们必须关闭MOSFET。我们还将使用连接到引脚13的板载LED并将其与MOSFET一起切换,以便我们可以确保MOSFET是处于开启还是关闭状态。接下来,我将其分解为小的有意义的片段来解释该程序。

该程序以宏定义开始。我们有超声波传感器的触发和回声引脚,MOSFET栅极引脚和LED作为我们Arduino的I / O。所以我们已经定义了它们将连接到哪个引脚。在我们的硬件中,我们将Echo和Trigger引脚分别连接到第8和第9个数字引脚。然后MOSFET引脚连接到引脚12,默认情况下板载LED连接到引脚13。我们使用以下代码定义引脚

#define trigger 9

#define echo 8

#define LED 13

#define MOSFET 12

在setup函数中,我们声明哪些引脚是输入的,哪些是输出的。在我们的硬件中,只有超声波传感器的Echo引脚是输入引脚,其余都是输出引脚。因此我们使用Arduino的pinMode函数来指定如下所示

pinMode(trigger,OUTPUT);

pinMode(echo,INPUT);

pinMode(LED,OUTPUT);

pinMode(MOSFET,OUTPUT);

在主loop函数内部,我们调用了名为measure_distance()的函数。此功能使用超声波传感器测量物体前方的距离,并将值更新为变量“distance”。要使用超声波传感器测量距离,必须首先将触发引脚保持低电平两微秒,然后保持高电平持续10微秒并再次保持低电平持续2微秒。这将向空气中发出超声波信号的声波,它将被前方的物体反射,回声引脚将拾取由它反射的信号。然后我们使用时间值来计算传感器前方物体的距离。计算距离的程序如下

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变为高电平,在紧接着的else语句中我们将MOSFET和LED设置为低电平。程序如下所示。

if(distance<10)

{

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

}

else

{

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

}

自动饮水机的工作过程

按照电路中所示进行连接,并将下面给出的程序上传到Arduino开发板。做一些简单的安装,将电磁阀连接到进水口,并使用12V适配器将电路连接到Arduino板的DC插孔。确保板载LED指示灯熄灭,这样可确保电磁阀也关闭。

如您所见,我已将超声波传感器直接放置在电磁阀下方,这样当玻璃杯放置在电磁阀下方时,它会直接与超声波传感器相对。超声波传感器将探测到这个物体,并且MOSFET和LED一起打开,从而使电磁阀打开,水流下来。

同样,当移除玻璃杯后,超声波传感器告诉Arduino开发板,它前面没有玻璃杯,因此Arduino关闭了阀门。如果您对此工作过程有任何疑问,请在本帖下面进行回复。

o4YBAF_-spCAJ3LFAAagdu6QY40690.png

注意:不同的电磁阀有不同的工作电压和额定电流,确保电磁阀工作在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;

}
编辑:hfy

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

    关注

    14

    文章

    510

    浏览量

    31402
  • 超声波传感器

    关注

    18

    文章

    583

    浏览量

    35932
  • Arduino
    +关注

    关注

    188

    文章

    6469

    浏览量

    187058
  • Arduino开发板

    关注

    0

    文章

    8

    浏览量

    7427
收藏 人收藏

    评论

    相关推荐

    电磁阀压力调节器的作用

    电磁阀压力调节器是一种广泛应用于工业自动化领域的设备,它通过控制流体的压力来实现对机械设备的精确控制。这种设备在液压系统、气动系统、化工、石油、食品加工、医疗设备等多个领域都有广泛的应用。 一
    的头像 发表于 10-08 09:52 471次阅读

    电磁阀调节压力的方法

    电磁阀是一种利用电磁原理控制流体流动的自动化基础元件,广泛应用于工业自动化控制系统中。电磁阀通过电磁
    的头像 发表于 10-08 09:51 1965次阅读

    调压电磁阀的使用方法

    调压电磁阀是一种广泛应用于工业自动化领域的设备,它通过电磁控制来调节流体的压力。这种设备通常用于液压系统、气动系统以及其他需要精确控制压力的场合。 1. 调压电磁阀的工作原理 调压
    的头像 发表于 10-08 09:42 603次阅读

    调压电磁阀的电阻过小的原因

    调压电磁阀是一种利用电磁力来控制流体压力的设备,广泛应用于液压、气动系统中。当调压电磁阀的电阻过小时,可能会导致电磁阀无法正常工作,影响整个系统的性能。 1.
    的头像 发表于 10-08 09:40 391次阅读

    调压电磁阀的作用是什么

    调压电磁阀是一种广泛应用于工业自动化控制系统中的设备,它通过电磁力来控制流体的压力、流量和方向。这种阀门通常用于液压和气动系统中,以实现精确的控制。 1. 调压电磁阀的工作原理 调压
    的头像 发表于 10-08 09:38 374次阅读

    电磁阀的种类及工作原理

    电磁阀是一种利用电磁力来控制流体(液体或气体)流动的自动化基础元件,广泛应用于工业控制系统中。电磁阀的种类繁多,工作原理也各有不同,但它们的核心功能都是通过
    的头像 发表于 09-14 14:21 878次阅读

    电磁阀的常见故障维修方法

    电磁阀的常见故障及其维修方法主要包括以下几个方面: 一、电磁线圈损坏 故障现象 :电磁阀通电后无输出,线圈外观异常,内置芯棒失去电磁吸力。 维修方法 : 检查电源电压是否正常,确保电压
    的头像 发表于 09-14 14:19 3042次阅读

    电磁阀泄压怎么解决

    电磁阀泄压问题概述 1. 电磁阀简介 电磁阀是一种利用电磁力来控制流体流动的自动阀门。它广泛应用于工业
    的头像 发表于 09-14 14:16 746次阅读

    如何设计电磁阀节能电路

    如何采用电路实现电磁阀的节能,当打开电磁阀的一瞬间,电压可以为电磁阀的额定电压值,打开200ms后,电压变为额定电压的一半,当电磁阀保持某种状态时,电压变为额定电压的三分之一(设想)
    发表于 07-15 15:36

    如何轻松应对电磁阀故障

    电磁换向的线圈有两根线,一根线是红色线,接直流电源24V正极,另一根是蓝色线,接直流电源的负极,在电磁阀内的红色指示灯是具有正负极的,如果把线接反的话,电磁阀的指示灯就不会亮,但是它
    发表于 03-18 11:41 764次阅读
    如何轻松应对<b class='flag-5'>电磁阀</b>故障

    维修饮水机

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

    电磁阀工作原理 电磁阀的常见故障及解决方法

    电磁阀是一种控制液压或气动系统中流体流动的设备。它通过电磁力作用于机构上,使芯移动,从而改变阀门的开启度,从而控制介质的通与断。电磁阀广泛应用于许多领域,如工业生产、农业灌溉、高楼建
    的头像 发表于 02-18 11:23 3311次阅读

    先导式电磁阀工作原理 先导式电磁阀和直动式电磁阀区别

    先导式电磁阀是一种利用电磁力控制阀门开关的装置。它由电磁铁、芯和阀座组成。先导式电磁阀的工作原理是通过施加电流于
    的头像 发表于 02-02 14:51 3728次阅读

    汽车电磁阀的原理和作用

    汽车电磁阀是一种常见的汽车零件,它在汽车的控制系统中起着重要的作用。本文将详细介绍汽车电磁阀的原理和作用。 汽车电磁阀的原理 汽车电磁阀是一种电气控制的机械装置,它由
    的头像 发表于 01-22 16:29 4902次阅读

    电磁阀控制器如何控制电磁阀

    电磁阀控制器是指利用智能控制技术来控制电磁阀的设备,主要功能是可以使电磁阀控制系统达到所需的自动控制要求,从而达到一定的水力控制,实现对系统的智能控制和监控功能。
    的头像 发表于 01-03 16:57 2051次阅读
    <b class='flag-5'>电磁阀</b>控制器如何控制<b class='flag-5'>电磁阀</b>?