在这篇文章中,我们将利用Arduino构建一个智能的自动ON/OFF开关,通过超声波的概念来感知周围人的存在,自动开启或关闭小工具。
我们将使用超声波模块和Arduino来感知人的存在,激活台灯,风扇等小配件。
我们有时会在出门旅行途中忘记关灯或关掉电扇;我们会意识到我们忘记关闭“某些东西”。这足以毁了我们愉快的旅行。但有些人甚至没有意识到这一点;在我们回家之前,能量就被浪费了。
在这个项目中,我们专注于我们经常使用的小工具,如表灯/桌子风扇和其他小工具,我们常常坐下来。将这些小工具留在长期可能会导致潜在的能源和资金损失。
该设计:
心脏和大脑的这个智能自动开/关开关使用Arduino是超声波模块,和arduino分别。超声波模块感测了人的存在,但超声波模块不能区分人类和诸如桌子前面的椅子之间的障碍物。因此,为了使该特征能够在传感器和人类之间设置阈值距离。
当新的障碍物出现在传感器和物体之间时,传感器和物体之间的距离就会缩短。如果Arduino检测到两个对象之间的距离,设置的电平低于阈值,就会触发继电器。
当人移出阈值范围时,它会关闭继电器。
以外图示出了在存在人的存在中的继电器的触发,因为arduino检测到低于阈值的距离。
以上图说明了在不存在人的情况下保持继电器关闭,因为arduino继续检测高于阈值的距离。
该程序以这样的方式编写,即它实时测量传感器和障碍物之间的距离。
用户需要输入阈值,单位为厘米,然后上传至arduino。
它是如何工作的
超声波传感器可以直接插入从A0到A3的模拟引脚上,传感器面向外,这可能会减少线路拥塞,而原型电路。
注:# pin7是继电器的输出
// ------------------由r.girish开发的程序------------------ //
const int trigger = A1;
const int echo = A2;
int vcc = A0;
int gnd = A3;
int OP = 7;
很久;
float distancmm;
浮动距离= 15;//在cm中设置阈值距离
浮动结果;
void setup()
{
PinMode(OP,输出);
Pinmode(触发,输出);
Pinmode(回声,输入);
pinMode (vcc、输出);
pinMode(接地、输出);
}
无效循环()
{
digitalWrite (vcc,高);
DigitalWrite(GND,低);
digitalWrite(触发、低);
延迟(1);
digitalWrite(触发、高);
delayMicroseconds (10);
digitalWrite(触发、低);
时间=脉冲(回声,高);
distancecm =时间* 0.034;
resultCM = distanceCM / 2;
如果距离(resultCM < =)
{
DigitalWrite(OP,高);
延迟(4000);
}
if(结果> =距离)
{
DigitalWrite(OP,低);
}
延迟(10);
}
// ----------------由R.Girish开发的计划------------------ //
注意:
在程序中替换值15与您的距离传感器和表的边缘+ 7至10cm。
浮动距离= 15;//在cm中设置阈值距离
例如:如果传感器和表之间的距离为100厘米,则将7到10厘米更多,并放置值。值厘米。在从传感器的范围移开后关闭继电器可能需要4秒钟。
在这个范围内没有宣布distancecm会发生什么
嗨yashas,
程序没有错误,我仔细检查过了。
如果可能的话,尝试分享你的截图链接。
问候
如果是,我可以使用多个传感器,如果是如何修改代码。
你知道最大的工作距离吗?
对不起,我对程序不太清楚……
嗨,你的项目对我们来说很好
我们正在为所有工程系学生提供Cheenai的进入培训
谢谢,很高兴它帮助了你!
谢谢!您可以为我的超声波开/关请求提供解决方案!
不客气!很高兴它帮助了你!
嗨赃物先生,
我是Arduino的初学者,我从led升级到传感器。我建立和测试了你的项目,它被证明是工作和有用的我的家。我尝试了不同的距离和延迟时间,但它是相应的。
我想对你开始做的事情做更多如果你能帮助合并串行打印使距离值和指定的触发距离从Arduino串行显示器可见?
我来自菲律宾。
非常感谢。
你好Leo先生,很抱歉我的Arduino知识不太好,在这方面我很难帮助你。
我可以买到这个
谢谢你的好作品,我是一个敏锐的追随者。请你帮我打开/关闭计时器代码吗?定时器应在10分钟内,然后关闭8小时,然后再为10分钟,重复8小时。LED显示屏可能是可以的,但没有必要
谢谢你!
谢谢,欣赏你的想法,你可以重新尝试以下设计,并检查它是否满足你的要求:
https://www.homemade-circules.com/arduino---step-programmable-timer-circuit/