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

    文章

    535

    浏览量

    33512
  • 超声波传感器

    关注

    18

    文章

    621

    浏览量

    37882
  • Arduino
    +关注

    关注

    190

    文章

    6515

    浏览量

    195958
  • Arduino开发板

    关注

    0

    文章

    8

    浏览量

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    电磁阀失控?耐达讯自动化PROFIBUS光纤转换器让信号穿越电磁迷雾!

    【开篇】 当工业现场的电磁阀突然"集体罢工",您是否也经历过这样的尴尬时刻?某汽车零部件厂的产线曾因电缆干扰导致电磁阀误动作,造成300万元损失。耐达讯自动化工程师用"光信号穿墙术"破解困局,今天
    的头像 发表于 11-17 14:10 136次阅读
    <b class='flag-5'>电磁阀</b>失控?耐达讯<b class='flag-5'>自动</b>化PROFIBUS光纤转换器让信号穿越<b class='flag-5'>电磁</b>迷雾!

    电磁阀气密性检测仪:多模式检测,满足多样需求-岳信仪器

    在工业生产的大舞台上,电磁阀虽小,却发挥着至关重要的作用。它就像工业设备的“小开关”,控制着气体和液体的流动。而电磁阀的气密性,直接影响着设备的性能和安全性。这时候,电磁阀气密性检测仪就成了保障
    的头像 发表于 10-11 14:19 192次阅读
    <b class='flag-5'>电磁阀</b>气密性检测仪:多模式检测,满足多样需求-岳信仪器

    新手如何快速掌握电磁阀气密性检测设备的操作?

    对于刚接触工业检测的新手来说,面对一台电磁阀气密性检测设备可能会感到无从下手。但其实,只要掌握正确的学习方法和操作流程,快速上手并非难事。今天就为大家带来一份实用的入门指南。首先,做好充分的准备工作
    的头像 发表于 09-25 15:02 279次阅读
    新手如何快速掌握<b class='flag-5'>电磁阀</b>气密性检测设备的操作?

    电磁阀:现代工业自动化与流体控制的精密执行者

    电磁阀作为现代工业自动化与流体控制系统的核心执行元件,在航空航天、船舶兵器、能源化工等众多领域发挥着不可替代的作用。这种通过电磁力驱动芯运动来实现流体通路开关或方向控制的
    的头像 发表于 09-25 11:17 580次阅读
    <b class='flag-5'>电磁阀</b>:现代工业<b class='flag-5'>自动</b>化与流体控制的精密执行者

    电磁阀漏气?用气密性检测仪一测就知道-岳信仪器

    在工业生产和日常生活中,电磁阀的应用十分广泛。无论是在汽车制造、家电生产,还是在化工、食品等行业,电磁阀都起着关键的控制作用。然而,电磁阀一旦出现漏气问题,就可能导致系统性能下降、能源
    的头像 发表于 09-10 10:43 466次阅读
    <b class='flag-5'>电磁阀</b>漏气?用气密性检测仪一测就知道-岳信仪器

    提升产品合格率:电磁阀气密性检测设备的使用价值

    自动化生产线上,电磁阀作为控制流体通断的关键部件,其密封性能直接决定了设备的运行稳定性和安全性。然而传统人工水检或目视抽查存在效率低、误判率高的问题,而专业的电磁阀气密性检测设备则成为破解这一难题
    的头像 发表于 09-02 14:23 374次阅读
    提升产品合格率:<b class='flag-5'>电磁阀</b>气密性检测设备的使用价值

    电磁阀气密性检测设备的日常操作注意事项-岳信仪器

    电磁阀作为自动化系统的关键执行元件,其气密性直接影响设备运行的稳定性与安全性。电磁阀气密性检测设备是保障电磁阀质量的核心工具,规范其日常操作至关重要。为确保检测结果的准确性、延长设备寿
    的头像 发表于 08-29 14:24 443次阅读
    <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
    的头像 发表于 08-08 20:16 3060次阅读
    如何用<b class='flag-5'>Arduino</b> Nano/UNO R3<b class='flag-5'>开发板</b>给另一个<b class='flag-5'>Arduino</b> IDE不能下载的<b class='flag-5'>Arduino</b> Nano/UNO R3<b class='flag-5'>开发板</b>重新烧录引导程序bootlaoder

    放弃老旧设备,电磁阀气密性检测设备开启检测新时代

    在工业制造领域,检测设备的更新换代对于提升产品质量和生产效率至关重要。随着科技的飞速发展,传统的气密性检测方法已经难以满足现代工业对于高精度、高效率的需求。因此,放弃老旧设备,拥抱电磁阀气密性检测
    的头像 发表于 07-19 13:47 255次阅读
    放弃老旧设备,<b class='flag-5'>电磁阀</b>气密性检测设备开启检测新时代

    电磁阀“听懂”EtherCAT:耐达讯CAN转EtherCAT网关

    在工业自动化领域,电磁阀是控制流体、气体或液体通断的核心元件。随着产线升级和设备集成需求的提升,如何让传统CAN协议设备与高速实时的EtherCAT网络无缝对接,成为工程师们亟需攻克的难题。本文以
    发表于 07-14 16:16

    激光焊接技术在焊接电磁阀的工艺应用

    电磁阀作为流体控制系统的核心部件,其焊接质量直接关系到产品的可靠性和使用寿命。激光焊接技术凭借其独特的工艺优势,在电磁阀制造领域展现出显著的应用价值。下面来看看激光焊接技术在焊接电磁阀的工艺
    的头像 发表于 06-13 15:38 568次阅读
    激光焊接技术在焊接<b class='flag-5'>电磁阀</b>的工艺应用

    先导式膜片电磁阀如何工作,先导式电磁阀的结构性能原理?

    电磁阀有两个主要部分:螺线管和阀门。螺线管将电能转换为机械能,机械能又以机械方式打开或关闭阀门。直动式阀门只有一个小流量回路,如图的E部分所示(该部分在下面被称为先导)。在此示例中,隔膜先导通过使用它来控制通过更大孔的流量,
    的头像 发表于 04-20 17:47 1395次阅读
    先导式膜片<b class='flag-5'>电磁阀</b>如何工作,先导式<b class='flag-5'>电磁阀</b>的结构性能原理?

    什么叫两位三通电磁阀,两位三通电磁阀在工业自动化的应用

    两位三通电磁阀是指具有两个工作位置和三个通道的电磁阀。通常,这种电磁阀的工作位置包括常闭和常开两种。当电磁阀处于常闭位置时,其中一个通道与另外两个通道相连,而当
    的头像 发表于 01-17 14:30 5472次阅读
    什么叫两位三通<b class='flag-5'>电磁阀</b>,两位三通<b class='flag-5'>电磁阀</b>在工业<b class='flag-5'>自动</b>化的应用

    霍尔开关在智能宠物饮水机中的作用

    您是否会遇到因为需要出差或者加班,担心之前给宠物的水喝完了? 随着科技的进步,宠物饮水机逐渐发展出更加智能化的功能,是宠物主人们必备的一款智能设备,宠物自动饮水机使用方便,不用频繁的换水。另外
    的头像 发表于 01-08 11:35 670次阅读

    1350防爆线圈电磁阀的安装方向

    防爆线圈电磁阀的安装方向应垂直安装,使线圈向上,并确保阀体上的箭头或标记与介质流向一致。同时,在安装过程中还应注意避免溅水或漏水、确保空间充足、检查电气连接以及遵循安装指南等要求。这些措施可以确保防爆线圈电磁阀的正常工作和长期稳定运行。
    的头像 发表于 12-25 17:14 921次阅读