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

    文章

    545

    浏览量

    34272
  • 超声波传感器

    关注

    18

    文章

    633

    浏览量

    38291
  • Arduino
    +关注

    关注

    191

    文章

    6534

    浏览量

    197658
  • Arduino开发板

    关注

    0

    文章

    8

    浏览量

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    电磁阀气密性测试仪怎么判定产品合格不合格-岳信仪器

    电磁阀气密性测试仪判定产品合格与否,核心是对比“预设标准”与“实际检测数据”,全程围绕泄漏量、压力稳定性两个关键,且测试仪会通过明显的颜色和标识提示结果,纯实操干货如下。首先明确合格标准,这是判定
    的头像 发表于 04-24 15:29 206次阅读
    <b class='flag-5'>电磁阀</b>气密性测试仪怎么判定产品合格不合格-岳信仪器

    电磁阀气密性测试仪可以测试多大泄漏量

    电磁阀在工业设备里很常用,就像个“开关”,它的密封好不好,直接关系到设备能不能正常运行、安不安全。而气密性测试仪,就是用来检查这个“开关”漏不漏气的,大家关心的就是:这个电磁阀气密性测试仪到底能测出
    的头像 发表于 04-23 15:15 136次阅读
    <b class='flag-5'>电磁阀</b>气密性测试仪可以测试多大泄漏量

    探索 DRV3946-Q1:汽车电磁阀驱动的理想之选

    探索 DRV3946-Q1:汽车电磁阀驱动的理想之选 在汽车电子领域,电磁阀驱动技术的发展日新月异。今天,我们就来深入了解一款备受关注的产品——DRV3946-Q1,看看它在汽车电磁阀控制应用中究竟
    的头像 发表于 01-07 10:40 459次阅读

    英飞凌下一代电磁阀驱动器评估套件使用指南

    英飞凌下一代电磁阀驱动器评估套件使用指南 引言 作为电子工程师,我们在开发电磁阀驱动相关项目时,一款好用的评估套件能大大提高我们的开发效率。英飞凌的下一代电磁阀驱动器评估套件就是这样一
    的头像 发表于 12-21 15:50 796次阅读

    英飞凌下一代电磁阀驱动器评估套件使用指南

    英飞凌下一代电磁阀驱动器评估套件使用指南 一、前言 在电子工程师的日常工作中,电磁阀驱动器的评估和开发是一项重要任务。英飞凌推出的下一代电磁阀驱动器评估套件,为我们提供了便捷且高效的评
    的头像 发表于 12-21 11:30 1213次阅读

    激光焊接技术在焊接电磁阀的工艺流程

    激光焊接技术在现代制造业中应用广泛,尤其在精密部件如电磁阀的焊接中展现出显著优势。电磁阀作为流体控制系统的关键组件,其焊接质量直接影响设备的可靠性和寿命。激光焊接机以其高精度、高效率和非接触的特点
    的头像 发表于 12-19 16:18 436次阅读
    激光焊接技术在焊接<b class='flag-5'>电磁阀</b>的工艺流程

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

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

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

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

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

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

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

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

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

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

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

    电磁阀作为自动化系统的关键执行元件,其气密性直接影响设备运行的稳定性与安全性。电磁阀气密性检测设备是保障电磁阀质量的核心工具,规范其日常操作至关重要。为确保检测结果的准确性、延长设备寿
    的头像 发表于 08-29 14:24 895次阅读
    <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 4089次阅读
    如何用<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 639次阅读
    放弃老旧设备,<b class='flag-5'>电磁阀</b>气密性检测设备开启检测新时代

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

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