使用Arduino的自动开门器

原文地址:https://circuitdigest.com/microcontroller-projects/automatic-door-opener-project-using-arduino

使用Arduino的自动开门器

ARDUINO的

经过**萨达姆** 2015年7月12日96
在这里插入图片描述
您一定在购物中心和其他商业建筑中看到过自动开门器。当有人靠近入口时,他们将门打开,过一段时间后将其关闭。有许多技术可用于制造这类系统,例如PIR传感器,雷达传感器,激光传感器,红外传感器等。在这个基于arduino的项目中,我们尝试通过使用PIR传感器来复制同一系统。

它使用运动检测传感器(PIR传感器)打开或关闭门,以检测人体遗漏的红外能量。当有人来到门前时,传感器检测到的红外能量发生变化,只要有人接近门,它就会触发传感器打开门。信号进一步发送到控制门的arduino uno。

电路元件

  1. Arduino UNO
  2. 16x2液晶屏
  3. 被动红外传感器
  4. 连接线
  5. 面包板
  6. 1 k电阻
  7. 电源供应
  8. 马达驱动器
  9. CD盒(DVD Troly)

被动红外传感器

PIR传感器检测到任何热量变化,每当检测到热量变化时,其输出PIN就会变为高电平。它们也称为热释电或IR运动传感器。

在这里,我们应该注意,每个物体在加热时都会发出一定量的红外光。人体也会因人体热量而发出红外线。 PIR传感器 可以检测到红外线的少量变化。每当物体通过传感器范围时,由于空气和物体之间的摩擦,它都会产生红外线,并被PIR捕获。

PIR传感器的主要组件是 热释电传感器( 如图所示)(塑料盖后面的矩形晶体)。连同BISS0001(“微功率PIR运动检测器IC”),一些电阻器,电容器和其他用于构建PIR传感器的组件。BISS0001 IC接收来自传感器的输入,并进行处理以相应地使输出引脚为HIGH或LOW。
在这里插入图片描述
热释电传感器分为两半,当没有运动时,两个半体保持相同状态,这意味着它们都感测到相同的红外水平。一旦有人进入上半部,一半的红外水平就会变得比另一半更大,这将导致PIR做出反应并使输出引脚变高。

热释电传感器被一个塑料盖覆盖,里面有许多菲涅尔透镜阵列。这些透镜是弯曲的,因此传感器可以覆盖很大的范围。

电路图和说明

在这里插入图片描述

上图显示了基于arduino的开门器电路的连接。此处,PIR传感器用于感测人体运动,该传感器具有三个端子Vcc,GND和Dout。Dout直接连接到arduino uno的针号14(A0)。16x2 LCD用于显示状态。连接到arduino的13和12的LCD的RS,EN引脚和数据引脚D0-D7连接到arduino数字引脚11、10、9、8。RW直接接地。L293D电机驱动器连接到arduino引脚0和1,用于打开和关闭门。在电路中,我们使用了门电机。

编程说明

此处用于编程的概念非常简单。在程序中,我们仅使用数字输入输出。

DigitalRead用于读取PIR传感器的输出。
在这里插入图片描述
此后,如果PIR传感器检测到任何运动,则程序会发送一条命令以打开闸门,停止闸门,关闭闸门和停止闸门。
在这里插入图片描述
请参阅以下基于arduino的自动开门器的完整代码。

#include <LiquidCrystal.h>
LiquidCrystal lcd(13, 12, 11, 10, 9, 8);

#define PIR_sensor 14
#define m11 0
#define m12 1

void setup() 
{
  lcd.begin(16, 2);
  pinMode(m11, OUTPUT);
  pinMode(m12, OUTPUT);
  pinMode(PIR_sensor, INPUT);
  lcd.print("    Automatic    ");
  lcd.setCursor(0,1); 
  lcd.print("   Door Opener   ");
  delay(3000);
  lcd.clear();
  lcd.print("CIRCUIT DEGEST ");
  delay(2000);
}

void loop() 
{
  if(digitalRead(PIR_sensor))
  {
    lcd.setCursor(0,0);
    lcd.print("Movement Detected");
    lcd.setCursor(0, 1);
    lcd.print("    Gate Opened    ");
    digitalWrite(m11, HIGH);         // gate opening
    digitalWrite(m12, LOW);
    delay(1000);
    digitalWrite(m11, LOW);          // gate stop for a while
    digitalWrite(m12, LOW);
    delay(1000);
    lcd.clear();
    lcd.print("   Gate Closed    ");
    digitalWrite(m11, LOW);           // gate closing
    digitalWrite(m12, HIGH);
    delay(1000);
    digitalWrite(m11, LOW);            // gate closed
    digitalWrite(m12, LOW);
    delay(1000);
  }
  
  else 
  {
    lcd.setCursor(0,0);
    lcd.print("   No Movement   ");
    lcd.setCursor(0,1);
    lcd.print("   Gate Closed   ");
    digitalWrite(m11, LOW);
    digitalWrite(m12, LOW);
  }
}
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值