超声波洗手液电路通过反射超声波检测人手的存在,并瞬间触发继电器螺线管泵,将洗手液投放到用户的手上。
本项目采用流行的HC-SR04超声传感器模块实现所需的传感功能。
使用HC-SR04
HC-SR04超声波传感器模块使用一对专业的超声波换能器,额定工作和响应频率在40 kHz左右。
该模块有4个引脚,用于配置到预期的驱动电路。
电源引脚用Vcc和Gnd引脚表示。其中Vcc为模块的正5V输入,Gnd应与输入电源的负线连接。
触发针工作与10 us脉冲激活两个换能器发射和接收反射超声波。
当一系列反射信号被检测到,“回声”引脚成为高启动外部继电器或螺线管或任何首选负载。
HC-SR04与Arduino接口
为了对HC-SR04模块进行处理,使其能够作为精密超声波接近探测器工作,我们需要一个Arduino之类的微控制器来完成这个任务。
当使用下面给出的代码进行适当的编程时,Arduino将与HC-SR04兼容,用于预期的手部接近检测和消毒剂分配机制的激活。
Arduino与HC-SR04与继电器级接口接线图如下图所示:
操作细节
本超声波洗手器电路操作程序简单,可以从以下几点来了解:
Arduino提供10 us的激活脉冲给HC-SR04模块触发脉冲,使模块能够发送和接收来自目标的反射脉冲序列,目标是用户的手。
这个反射的数据从HC-SR04模块的Echo引脚发送到rduino。
Arduino对信号进行处理,在板的pin7处实现稳定的直流输出,通过10k电阻和100uF电容与继电器驱动级连接。
只要HC-SR04模块在设定的距离内继续检测到用户的手,Arduino的7号脚就应该保持在较高的位置。
这意味着re;ay在此期间也将保持打开状态,这是我们不希望看到的。
为了确保继电器和配药机械或泵的附件只被激活几秒钟,电容器被串联放置在BC547的底座上。
当引脚#7变得高,由于人手的存在,BC547只在其基底100uF完全充电时,这发生在几秒钟内。
一旦100uF充满电,BC547底座被底座驱动器抑制,它停止导电,关闭继电器,并禁用所附的洗手液分配机制。
当手被移开时,HC-SR04停止向Arduino发送Echo信号,它将引脚#7翻转到逻辑零。
此时,100uF基底电容开始通过Arduino引脚#7和右侧10k接地电阻放电。
程序代码
以上讨论的超声波洗手液电路使用HC-SR04和Arduino实现的整个程序代码如下:
const int trigger = A1;
const int echo = A2;
int vcc = A0;
int gnd = A3;
int OP = 7;
长时间;
浮动distanceCM;
浮动距离= 15;//设置阈值距离,单位为cm
浮动resultCM;
无效的设置()
{
pinMode (OP、输出);
pinMode(触发、输出);
pinMode(呼应,输入);
pinMode (vcc、输出);
pinMode(接地、输出);
}
无效循环()
{
digitalWrite (vcc,高);
digitalWrite(接地、低);
digitalWrite(触发、低);
延迟(1);
digitalWrite(触发、高);
delayMicroseconds (10);
digitalWrite(触发、低);
时间= pulseIn(呼应,高);
distanceCM =时间* 0.034;
resultCM = distanceCM / 2;
如果距离(resultCM < =)
{
digitalWrite (OP、高);
延迟(4000);
}
如果(resultCM > =距离)
{
digitalWrite (OP,低);
}
延迟(10);
}
警告:作者所提出的超声波洗手电路尚未经过实际测试。这个想法是受到启发的这篇文章,并进行了适当的修改,使分配器泵或电磁阀所需的瞬时开/关功能。
亲爱的Swagatam,
今天的问候。
是否有可能设计一种电路,当负载说r - o过滤器(如果水位满或更低,则打开开关)或冰箱循环开关(根据T)时,打开电源开关,如SMPS或稳压器。我的目的是,如果这种电路设计是可能的,那么它将节省或节省大量的电力,否则SMPS/稳定器始终保持在位置无关紧要的负载是否在上。
你好,Belbrook,是的,这似乎是可能的,我将尝试设计和张贴它。但你应该在SMPS或电源文章中问这个问题,你的问题与洗手液的话题无关。
我试过了,谁能指导我连接超声波传感器、继电器、
单片机。