大约71%的地球被水覆盖,但遗憾的是,其中只有2.5%是饮用水。随着人口,污染和气候变化的增加,预计到2025年,我们将长期遭受水资源短缺的困扰。一方面,国家和州之间在共享河水方面已经存在一些小争议,另一方面,由于人类的疏忽,我们浪费了许多饮用水。
乍一看可能看起来并不大,但是如果您的水龙头每秒滴一滴水,那么您只需要花费大约五个小时就可以浪费一加仑的水,这对于一个普通的人来说可以生存两个小时天。那么该怎么做才能阻止这种情况?一如既往的答案在于技术的进步。如果我们用一个能自动打开和关闭的智能水龙头替换所有手动水龙头,不仅可以节省水,而且可以拥有更健康的生活方式,因为我们不必用脏手操作水龙头。因此,在这个项目中,我们将使用Arduino和一个电磁阀构建一个自动饮水机,当附近放置玻璃时,它可以自动为您供水。听起来不错吧!所以让我们建立一个…
所需材料
- 电磁阀
- Arduino Uno(任何版本)
- HCSR04 –超声波传感器
- IRF540 MOSFET的
- 1k和10k电阻
- 面包板
- 连接线
工作理念
自动饮水机的概念非常简单。我们将使用HCSR04超声波传感器检查是否有任何物体将玻璃杯放置在分配器之前。电磁阀将用于控制水的流量,即通电时水将流出,而断电时水将被停止。因此,我们将编写一个Arduino程序,该程序始终检查是否在水龙头附近放置了任何物体,如果是,则电磁阀将打开并等待直到物体移开,一旦物体移开,电磁阀将自动关闭,从而关闭电磁阀。供水。在此处了解有关将超声波传感器与Arduino结合使用的更多信息。
电路原理图
基于Arduino的饮水机的完整电路图如下所示
本项目中使用的电磁阀是12V阀,最大额定电流为1.2A,连续额定电流为700mA。也就是说,当阀门打开时,它将消耗约700mA的电流来保持阀门打开。众所周知,Arduino是一个以5V电压运行的开发板,因此我们需要一个开关驱动器电路来使电磁阀开启和关闭。
该项目中使用的开关器件是IRF540N N沟道MOSFET。它分别具有来自引脚1的3个引脚Gate,Source和Drain。如电路图所示,螺线管的正极通过Arduino的Vin引脚供电。由于我们将使用12V适配器为Arduino供电,因此Vin引脚将输出12V,可用于控制电磁阀。螺线管的负极通过MOSFET的源极和漏极引脚接地。因此,只有在MOSFET导通的情况下,螺线管才会通电。
MOSFET的栅极引脚用于打开或关闭它。如果栅极引脚接地,它将保持关闭状态;如果施加栅极电压,它将打开。为了在没有电压施加到栅极引脚时保持MOSFET关闭,栅极引脚通过一个10k电阻拉至地。 Arduino引脚12用于打开或关闭MOSFET,因此D12引脚通过1K电阻器连接到栅极引脚。该1K电阻器用于限流目的。
的超声波传感器是由+ 5V和Arduino的接地引脚供电。的 回声 和 触发 销被连接到销8和分别销9。然后,我们可以对Arduino进行编程,以使用超声波传感器测量距离,并在检测到物体时打开MOSFET。整个电路很简单,因此可以很容易地建立在面包板上。建立连接后,我的情况如下所示。
编程Arduino开发板
对于这个项目,我们必须编写一个程序,该程序使用HCSR-04超声波传感器测量物体前方的距离。当距离小于10cm时,我们必须打开MOSFET,否则我们必须关闭MOSFET。我们还将使用连接到引脚13的板上LED并将其与MOSFET一起切换,以便我们可以确保MOSFET处于打开还是关闭状态。完成此操作的完整程序在本页面的结尾。在下面,我通过将程序分成一些有意义的小片段来说明了该程序。
该程序以宏定义开始。我们具有用于超声波传感器的 触发 和 回波 引脚,以及用于Arduino的I / O的MOSFET栅极引脚和LED。因此,我们定义了这些引脚将连接到哪个引脚。在我们的硬件中,我们已将Echo和Trigger引脚分别连接到第8个和第9个数字引脚。然后将MOSFET引脚连接到引脚12,默认情况下将板载LED连接到引脚13。我们使用以下几行定义它们
#定义触发器9#定义 回声8#定义 LED 13#定义 MOSFET 12
在 设置 函数内部,我们声明哪些引脚输入,哪些引脚输出。在我们的硬件中,只有超声波(美国)传感器的 回波 引脚是输入引脚,其余的都是输出引脚。因此,我们使用Arduino的 pinMode 函数指定如下所示的内容
pinMode(触发,输出); pinMode(echo,INPUT); pinMode(LED,输出); pinMode(MOSFET,输出);
在主 循环 函数中,我们调用了名为 measure_distance() 的函数 。 此功能使用US传感器测量物体在其前面的距离,并将该值更新为变量“ 距离” 。要使用US传感器测量距离,触发引脚必须首先保持低电平2微秒,然后保持高电平10微秒,然后再次保持低电平2微秒。这将向空中发送超声波信号,并被其前面的物体反射,而 回波 针将拾取由其反射的信号。然后,我们使用时间获取值来计算物体在传感器之前的距离。如果你想知道