侵权投诉

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

电子设计 2021-01-13 16:45 次阅读

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

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

o4YBAF_-sl2AdtbvAAYHGFaEYco801.png

所需的材料

●电磁阀

●ArduinoUno开发板

●HCSR04-超声波传感器

MOSFET场效应管IRF540

●1k和10k电阻

●面包板

●连接导线

工作原理

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

电路原理图

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

pIYBAF_-snCAAmdgAALoQg5R90s559.png

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

该项目中使用的开关器件是IRF540NN沟道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是处于开启还是关闭状态。接下来,我将其分解为小的有意义的片段来解释该程序。

#definetrigger9

#defineecho8

#defineLED13

#defineMOSFET12

在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。

代码

本篇文章使用的完整代码如下所示:

#definetrigger9

#defineecho8

#defineLED13

#defineMOSFET12

floattime=0,distance=0;

voidsetup()

{

Serial.begin(9600);

pinMode(trigger,OUTPUT);

pinMode(echo,INPUT);

pinMode(LED,OUTPUT);

pinMode(MOSFET,OUTPUT);

delay(2000);

}

voidloop()

{

measure_distance();

if(distance<10)

{

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

}

else

{

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

}

delay(500);

}

voidmeasure_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

收藏 人收藏
分享:

评论

相关推荐

电磁阀控制气缸原理图

介绍一种不占用控制器输入端的手动控制接线方法,下面以表控TPC4-4TD型控制器为例.
发表于 01-21 15:53 109次 阅读
电磁阀控制气缸原理图

如何制造范围10Hz到50Khz的简单示波器?

该项目描述了一种制造范围从10Hz到50Khz的简单示波器的方法。鉴于该设备不使用外部数模转换器芯片....
的头像 电路设计技能 发表于 01-21 09:29 236次 阅读
如何制造范围10Hz到50Khz的简单示波器?

使用Arduino实现液晶LCD1602实验的工程文件免费下载

本文档的主要内容详细介绍的是使用Arduino实现液晶LCD1602实验的工程文件免费下载。
发表于 01-20 11:45 20次 阅读
使用Arduino实现液晶LCD1602实验的工程文件免费下载

使用Arduino实现滚珠开关实验的工程文件免费下载

本文档的主要内容详细介绍的是使用Arduino实现滚珠开关实验的程序和工程文件免费下载。
发表于 01-20 11:45 27次 阅读
使用Arduino实现滚珠开关实验的工程文件免费下载

一个SMC-SI单元控制失误

现场的SMC-SI-EX245单元使用10个阀导,首先是先导阀压力故障,将先导阀压力反馈短接后变成中....
的头像 机器人及PLC自动化应用 发表于 01-18 13:36 110次 阅读
一个SMC-SI单元控制失误

Arduino 2.4G通信实验

性能参数编辑 Arduino 2.4G通信实验 nRF24L01模块的简单例子 ...
发表于 01-18 07:52 0次 阅读
Arduino 2.4G通信实验

如何使用MATALB和Arduino开发板控制步进电机

在全步激励模式下,我们可以以最小的匝数(步长)实现完整的360°旋转。但这会导致惯性减小,旋转也不会....
发表于 01-16 15:30 285次 阅读
如何使用MATALB和Arduino开发板控制步进电机

编程教育再迎政策红利 Ghost II空投编程带你创造无限可能

2020年5月19日,教育部学校规划建设发展中心决定开展未来学校创新发展课题——编程课程体系与教学模....
的头像 创客火无人机 发表于 01-15 10:54 223次 阅读
编程教育再迎政策红利 Ghost II空投编程带你创造无限可能

Arduino的步进电机实验程序和工程文件免费下载

本文档的主要内容详细介绍的是Arduino的步进电机实验程序和工程文件免费下载。
发表于 01-13 17:24 38次 阅读
Arduino的步进电机实验程序和工程文件免费下载

Arduino的累加器实验程序和工程文件免费下载

本文档的主要内容详细介绍的是Arduino的累加器实验程序和工程文件免费下载。
发表于 01-13 17:24 38次 阅读
Arduino的累加器实验程序和工程文件免费下载

Arduino的四位共阴数码管实验程序和工程文件免费下载

本文档的主要内容详细介绍的是Arduino的四位共阴数码管实验程序和工程文件免费下载。
发表于 01-13 17:23 39次 阅读
Arduino的四位共阴数码管实验程序和工程文件免费下载

Arduino的LM35温度传感器实验程序和工程文件免费下载

本文档的主要内容详细介绍的是Arduino的LM35温度传感器实验程序和工程文件免费下载。
发表于 01-13 17:23 43次 阅读
Arduino的LM35温度传感器实验程序和工程文件免费下载

Arduino的共阴数码管实验程序和工程文件免费下载

本文档的主要内容详细介绍的是Arduino的共阴数码管实验程序和工程文件免费下载。
发表于 01-13 17:23 40次 阅读
Arduino的共阴数码管实验程序和工程文件免费下载

STM32和Arduino对比,谁更厉害?

Arduino和STM32性能对比究竟谁更厉害呢?很多电子爱好者面对Arduino和STM32时都会有个两难的决定,不知道如何选择使用。...
发表于 01-13 10:17 808次 阅读
STM32和Arduino对比,谁更厉害?

基于Arduino的自动焊接机械臂设计方案

起初,我看到很多专业项目由于其复杂性而无法实施。然后,我决定看到自己的产品受到其他项目的启发,于是我....
的头像 电路设计技能 发表于 01-12 11:31 214次 阅读
基于Arduino的自动焊接机械臂设计方案

基于Arduino UNO和诺基亚5110 LCD的紫外线指数测量仪

如果紫外线指数仪显示的是3到7之间的数值,出门在外需要保护。在裸露的皮肤上使用适量的防晒霜,并穿上防....
发表于 01-09 11:11 164次 阅读
基于Arduino UNO和诺基亚5110 LCD的紫外线指数测量仪

请教使用arduino开发库仑计的问题

[table] [tr][td]请教使用arduino开发库仑计的问题 已经用霍尔传感器读取出实时电流 然后如何计算出AH呢 AH=I*V 单片...
发表于 01-08 15:38 6次 阅读
请教使用arduino开发库仑计的问题

Arduino开发板的Leonardo针脚图免费下载

本文档的主要内容详细介绍的是Arduino开发板的Leonardo针脚图免费下载。
发表于 01-07 08:00 40次 阅读
Arduino开发板的Leonardo针脚图免费下载

Arduino Leonardo的电路原理图免费下载

本文档的主要内容详细介绍的是Arduino Leonardo的电路原理图免费下载。
发表于 01-07 08:00 208次 阅读
Arduino Leonardo的电路原理图免费下载

超声波传感器在航模运行中的应用介绍

超声波传感器在航模运行中的应用
发表于 01-07 07:12 0次 阅读
超声波传感器在航模运行中的应用介绍

采用STM32G071RB和Arduino IDE实现的智能插座设计报告

涂鸦三明治开发板插座套件中,MCU输出高低电平给插座功能板控制开关通断,MCU 通过串口与 BLE ....
发表于 01-07 06:38 304次 阅读
采用STM32G071RB和Arduino IDE实现的智能插座设计报告

超声波传感器应用的五个例子

通过使用高频声波检测物体的位置和距离,超声波传感器通常可以在其他类型的传感器不足的情况下工作。
发表于 01-06 11:05 240次 阅读
超声波传感器应用的五个例子

双线圈电磁阀的工作原理及使用注意事项

在船舶重工、石化以及电力领域中,都是会用到电磁阀的,而电磁阀分为单线圈和双线圈两种。下面小编就给大家....
发表于 01-01 17:41 104次 阅读
双线圈电磁阀的工作原理及使用注意事项

检测电磁阀好坏的方法,电磁阀故障与排除

电磁阀线圈的额定电压有DC12V、DC24V、AC24V(50/60Hz)、AC110V(50/60....
的头像 陈翠 发表于 01-01 17:36 477次 阅读
检测电磁阀好坏的方法,电磁阀故障与排除

双线圈电磁阀的工作原理及注意事项

在船舶重工、石化以及电力领域中,都是会用到电磁阀的,而电磁阀分为单线圈和双线圈两种。下面小编就给大家....
发表于 01-01 17:28 126次 阅读
双线圈电磁阀的工作原理及注意事项

温度快速变化试验箱产品特点以及工作原理的介绍

产品用途温度快速变化试验箱适用于航空航天产品、信息电子仪器仪表、材料、电工、电子产品、各种电子元气件....
发表于 12-30 11:13 61次 阅读
温度快速变化试验箱产品特点以及工作原理的介绍

如何使用实时采集系统实现对车用电磁阀性能的微观测试

DCT (Dual Clutch Transmission)变速箱对国内的汽车制造厂家来说是一个新鲜....
发表于 12-28 06:34 49次 阅读
如何使用实时采集系统实现对车用电磁阀性能的微观测试

基于Arduino的通用交流电机速度控制器 使用切相调光方法和PID算法

在开始这个方案的介绍之前,请允许我写一下警示语: 该电路连接的电压是到110-220V。 如果您不确....
的头像 电路设计技能 发表于 12-25 16:55 424次 阅读
基于Arduino的通用交流电机速度控制器 使用切相调光方法和PID算法

基于Arduino的温度传感器教程

热敏电阻是简单,廉价且精确的组件,可轻松获取项目的温度数据。 热敏电阻是可变电阻,其电阻会随温度变化....
的头像 电路设计技能 发表于 12-25 16:27 489次 阅读
基于Arduino的温度传感器教程

基于Arduino的智能垃圾桶设计 电路非常简单

电路非常简单。由于伺服和声纳仅需较少的功率,因此您可以直接从Arduino 5v源为其供电。 只要记....
的头像 电路设计技能 发表于 12-25 15:36 560次 阅读
基于Arduino的智能垃圾桶设计 电路非常简单

Android应用程序通过蓝牙控制Arduino RC汽车制作步骤

Arduino是一种平台开源硬件,基于一个简单的板,在基于编程语言处理的开发环境中具有模拟和数字输入....
的头像 电路设计技能 发表于 12-25 15:30 399次 阅读
Android应用程序通过蓝牙控制Arduino RC汽车制作步骤

避免障碍物的Arduino控制汽车设计方案

避免障碍物(即墙壁或前方的物体)的Arduino控制汽车。         责任编辑:xj 原文标题....
的头像 电路设计技能 发表于 12-25 14:55 262次 阅读
避免障碍物的Arduino控制汽车设计方案

开源资料HC-05蓝牙模块和Arduino入门参考方案

网上一份很不错的开源资料,HC-05蓝牙模块和Arduino入门资料,现在把他分享给大家,有需要的可以下载! ...
发表于 12-25 14:00 4747次 阅读
开源资料HC-05蓝牙模块和Arduino入门参考方案

Arduino的SPI接法

什么是SPI? Arduino的SPI接法
发表于 12-24 07:10 101次 阅读
Arduino的SPI接法

大佬可以教教如何做Arduino UNO小车的智能避障嘛?

Arduino UNO小车的智能避障要作为作业提交,期限将至,然而还是没有头绪。 单单听上课讲的完全不会。。。可能因为女孩子动手...
发表于 12-20 20:56 1416次 阅读
大佬可以教教如何做Arduino UNO小车的智能避障嘛?

开源资料基于Arduino的倒车雷达(原理图&源代码)

网上开源资料基于Arduino的倒车雷达的原理图和源代码,有兴趣的小伙伴可以下载拿去作参考设计。 ...
发表于 12-18 18:07 2323次 阅读
开源资料基于Arduino的倒车雷达(原理图&源代码)

种子置床设备是什么,它的使用方法是怎样的

种子是农业生产的基础,因此在我们进行种子实验时,需要注意种子实验的准确度以及工作效率,能够获得更具代....
发表于 12-17 13:44 83次 阅读
种子置床设备是什么,它的使用方法是怎样的

关于电磁执行器(线性电磁阀)教程分析

将电信号转换为产生线性运动的磁场的另一种电磁执行器称为线性电磁阀。该线性电磁阀在同一个基本原则在前面的教程和就像继电器看...
发表于 12-16 10:12 1397次 阅读
关于电磁执行器(线性电磁阀)教程分析

超声波技术迈向新高度:智能、功能安全且自主

超声波传感器的设计长期以来一直难以在SIL/PL方面获得适用性。但是,该技术显示出来的许多特性,对于....
发表于 12-14 14:23 279次 阅读
超声波技术迈向新高度:智能、功能安全且自主

夹娃娃机的Arduino程序免费下载

本文档的主要内容详细介绍的是夹娃娃机的Arduino程序免费下载
发表于 12-14 08:00 80次 阅读
夹娃娃机的Arduino程序免费下载

如何使用arduino和压电蜂鸣器制作简单的驱蚊器

在本教程中,我们将学习如何使用arduino和压电蜂鸣器制作简单的驱蚊器。 硬件组件: Arduin....
的头像 电路设计技能 发表于 12-07 13:52 523次 阅读
如何使用arduino和压电蜂鸣器制作简单的驱蚊器

使用Arduino和DFPlayer迷你MP3播放器模块制作带有LCD的MP3播放器

今天,我们将使用Arduino和DFPlayer迷你MP3播放器模块制作带有LCD的MP3播放器。 ....
的头像 电路设计技能 发表于 12-07 09:28 818次 阅读
使用Arduino和DFPlayer迷你MP3播放器模块制作带有LCD的MP3播放器

如何使用Arduino实现步进电机的分析与设计

Arduino是一款便捷灵活、方便上手的开源电子原型平台。与常见的 DSP PLC ARN51单片机....
发表于 12-07 08:00 189次 阅读
如何使用Arduino实现步进电机的分析与设计

如何使用Arduino实现8乘8点阵心形设计的论文免费下载

该文使用Arduino硬件开发平台,以Arduino UNO电路板为中心,配合使用8乘8矩形点阵完成....
发表于 12-07 08:00 120次 阅读
如何使用Arduino实现8乘8点阵心形设计的论文免费下载

使用Arduino实现电位器实验的例程免费下载

本文档的主要内容详细介绍的是使用Arduino实现电位器实验的例程免费下载。
发表于 12-03 16:30 74次 阅读
使用Arduino实现电位器实验的例程免费下载

使用Arduino实现光敏电阻实验的例程免费下载

本文档的主要内容详细介绍的是使用Arduino实现光敏电阻实验的例程免费下载。
发表于 12-03 16:30 72次 阅读
使用Arduino实现光敏电阻实验的例程免费下载

使用Arduino实现PWM调光实验的例程免费下载

本文档的主要内容详细介绍的是使用Arduino实现PWM调光实验的例程免费下载。
发表于 12-03 16:30 79次 阅读
使用Arduino实现PWM调光实验的例程免费下载

使用Arduino实现有源蜂鸣器实验的例程免费下载

本文档的主要内容详细介绍的是使用Arduino实现有源蜂鸣器实验的例程免费下载。
发表于 12-03 16:30 107次 阅读
使用Arduino实现有源蜂鸣器实验的例程免费下载

使用Arduino实现无源蜂鸣器实验的例程免费下载

本文档的主要内容详细介绍的是使用Arduino实现无源蜂鸣器实验的例程免费下载。
发表于 12-03 16:30 80次 阅读
使用Arduino实现无源蜂鸣器实验的例程免费下载

使用Arduino实现按键控制LED实验的例程免费下载

本文档的主要内容详细介绍的是使用Arduino实现按键控制LED实验的例程免费下载。
发表于 12-01 17:47 94次 阅读
使用Arduino实现按键控制LED实验的例程免费下载

使用Arduino实现LED闪烁实验的例程免费下载

本文档的主要内容详细介绍的是使用Arduino实现LED闪烁实验的例程免费下载。
发表于 12-01 17:47 75次 阅读
使用Arduino实现LED闪烁实验的例程免费下载

使用Arduino实现IDE HelloWorld实验的程序免费下载

本文档的主要内容详细介绍的是使用Arduino实现IDE HelloWorld实验的例程免费下载。 ....
发表于 12-01 17:47 53次 阅读
使用Arduino实现IDE HelloWorld实验的程序免费下载

超声波传感器在AGV机器人中的应用详解

AGV机器人作为现代存储体系的关键设备之一,有自动化程度高,灵敏度高,安全等特点,大大改善了工作条件....
的头像 工程师邓生 发表于 11-30 11:35 564次 阅读
超声波传感器在AGV机器人中的应用详解

arduino中级教程分享arduino入门教程

arduino中级教程
发表于 11-26 21:51 3820次 阅读
arduino中级教程分享arduino入门教程

Arduino在嵌入式开发中应用案例之arduino点亮LED

你了解什么是Arduino吗?你知道Arduino能做些什么吗?今天就让我们来认识一下Arduino....
发表于 11-26 17:39 1114次 阅读
Arduino在嵌入式开发中应用案例之arduino点亮LED

如何自己制作一个开源呼吸机

电子发烧友网站提供《如何自己制作一个开源呼吸机.pdf》资料免费下载
发表于 11-26 06:10 161次 阅读
如何自己制作一个开源呼吸机

德飞莱Arduino UNO R3增强版ATmega328芯片的使用说明书免费下载

芯片内的 bootloader 需要专用下载器才能升级。标配的 USB 线是没有这个功能的。本文档不....
发表于 11-17 08:00 151次 阅读
德飞莱Arduino UNO R3增强版ATmega328芯片的使用说明书免费下载

使用Arduino实现空气质量传感器的资料合集

在这篇文章中,我们将学习如何构建一个简单而有用的空气质量传感器。我们将把SGP30传感器与Pikse....
发表于 11-17 08:00 164次 阅读
使用Arduino实现空气质量传感器的资料合集

Arduino Nano V3.0开发板的电路原理图和PCB工程文件免费下载

本文档的主要内容详细介绍的是Arduino Nano V3.0开发板的电路原理图和PCB工程文件免费....
发表于 11-11 08:00 249次 阅读
Arduino Nano V3.0开发板的电路原理图和PCB工程文件免费下载

贴片机作为一种电子生产制造设备,它该如何维护与保养

贴片机作为贴片厂吃饭的家伙,必须要善待保养,一旦闹脾气掉链子就会影响整线的生产运作,所以贴片机的维护....
发表于 11-10 16:23 143次 阅读
贴片机作为一种电子生产制造设备,它该如何维护与保养