在本文中,我们将使用Arduino构建智能自动开/关开关,通过通过超声波的概念感测人类附近的存在,可以自动打开或关闭小工具。
我们将使用超声波模块和Arduino来感知人类的存在,它激活表灯或表风扇等小工具。
在旅行中间离开家时,我们有时会忘记关灯或扇子;我们会意识到我们忘了关注“某事”。这足以毁了我们快乐的旅行。但有些人甚至没有意识到;在我们回到家之前,能量浪费了浪费。
在这个项目中,我们专注于我们经常使用的,如台灯/台风扇等小工具,我们坐下来,经常移动的小工具。留下的长周期,这些小工具可能导致潜在的能量和金钱的损失。
该设计:
使用Arduino的这种智能自动开/关开关的心脏和大脑是超声波模块,分别Arduino的。超声波模块感测人的存在,但是超声模块不能人类和障碍物之间区分,如在表中的前椅。因此,为了启用该功能,我们要设置传感器和人之间的阈值距离。
当新的障碍物在这样的人之间进入时,传感器和物体之间的距离将减少。如果Arduino检测到两个对象之间的距离,则设定电平低于阈值,并且这触发了继电器。
当人移出门槛的IT断开继电器。
上述图示出在人类的存在的中继的触发,因为Arduino的检测低于阈值的距离。
上述图显示了继电器被保持在没有人的关断,因为Arduino的继续检测上述阈值的距离。
该方案是用这样一种方式,它实时测量传感器与障碍物之间的距离。
在上传到Arduino之前,用户需要在厘米处输入阈值。
怎么运行的
超声波传感器可以直接插入来自A0至A3的模拟引脚上,传感器面向向外,这可能会在原型化电路的同时减少电线拥塞。
注意:#pin 7是中继的输出
// --------------------程序开发的R.Girish ------------------- //
const int trigger = a1;
const int echo = a2;
int vcc = a0;
int gnd = a3;
int op = 7;
很久;
浮distanceCM;
浮动距离= 15;//在厘米设定的阈值距离
浮resultCM;
空隙设置()
{
pinMode(OP,OUTPUT);
pinMode(触发,输出);
pinMode(回声,INPUT);
Pinmode(VCC,输出);
PinMode(GND,输出);
}
void循环()
{
DigitalWrite(VCC,高);
digitalWrite(GND,LOW);
DigitalWrite(触发,低);
延迟(1);
DigitalWrite(触发,高);
Delaymicroseconds(10);
DigitalWrite(触发,低);
时间= pulseIn(回声,HIGH);
distanceCM =时间* 0.034;
结果= distancecm / 2;
if(结果为<=距离)
{
digitalWrite(OP,HIGH);
延迟(4000);
}
如果(resultCM> =距离)
{
DigitalWrite(OP,低);
}
延迟(10);
}
// -----------------程序开发的R.Girish ------------------- //
笔记:
在程序中,将值15更换,在传感器和表的边缘+ 7到10cm之间的距离。
浮动距离= 15;//在厘米设定的阈值距离
例如:如果传感器和表之间的距离为100cm,添加7〜10厘米以上,并把该值。该值是厘米。这可能需要多达4秒钟以关闭继电器的人后移动离开传感器的范围远。
distanceCM并没有在此范围内误差宣布即将做什么
嗨Yashas,
程序中没有错误,我仔细检查。
如果可能的话,请尝试分享链接到您的屏幕截图。
问候
我可以使用一个以上的传感器,如果是的话我如何修改代码。
你知道的最大操作距离
对不起,我不确定程序......
嗨,你的项目对我们来说很好
我们为所有的工程专业学生提供在cheenai厂内培训
谢谢你,很高兴它帮助你!
谢谢!你对我的超声波提供解决方案的开/关的要求!
不客气!很高兴它帮助你!
嗨斯格先生,
我是Arduino的初学者,我从LED到传感器升级。我构建并测试了您的项目,它已被证明工作,对我的家用有用。我尝试了不同的距离和延迟时间,但相应地工作。
我想在开始的情况下做更多的事情,如果可以帮助串行打印,以便从Arduino串行监视器可以看到距离值和分配的触发距离?
我来自菲律宾。
非常感谢。
嗨Leo先生,我很抱歉我的Arduino知识并不好,所以很难在这方面帮助你。
我在哪里可以买到这
感谢您的好作品,我敏锐的追随者。请你帮我一个Arduino cylcle ON / OFF计时码?定时器应当是10分钟,然后关闭8小时,然后在10分钟后,关闭8小时重复这样。LED显示器可能是确定,但不是必需
谢谢你。
谢谢,感谢您的想法,您可以重新设计以下设计并检查它是否解决了您的要求:
//www.addme-blog.com/arduino-2-step-programmable-timer-circuit/