- Arduino 教程
- Arduino - 首页
- Arduino - 概述
- Arduino - 开发板描述
- Arduino - 安装
- Arduino - 程序结构
- Arduino - 数据类型
- Arduino - 变量与常量
- Arduino - 运算符
- Arduino - 控制语句
- Arduino - 循环
- Arduino - 函数
- Arduino - 字符串
- Arduino - 字符串对象
- Arduino - 时间
- Arduino - 数组
- Arduino 函数库
- Arduino - I/O 函数
- Arduino - 高级 I/O 函数
- Arduino - 字符函数
- Arduino - 数学库
- Arduino - 三角函数
- Arduino 高级应用
- Arduino - Due & Zero
- Arduino - 脉宽调制 (PWM)
- Arduino - 随机数
- Arduino - 中断
- Arduino - 通信
- Arduino - 集成电路间通信 (I2C)
- Arduino - 串行外围接口 (SPI)
- Arduino 项目
- Arduino - 闪烁LED
- Arduino - 渐变LED
- Arduino - 读取模拟电压
- Arduino - LED 条形图
- Arduino - 键盘注销
- Arduino - 键盘消息
- Arduino - 鼠标按键控制
- Arduino - 键盘串口
- Arduino 传感器
- Arduino - 湿度传感器
- Arduino - 温度传感器
- Arduino - 水位检测器/传感器
- Arduino - PIR传感器
- Arduino - 超声波传感器
- Arduino - 连接开关
- 电机控制
- Arduino - 直流电机
- Arduino - 伺服电机
- Arduino - 步进电机
- Arduino 与声音
- Arduino - 音调库
- Arduino - 无线通信
- Arduino - 网络通信
- Arduino 有用资源
- Arduino - 快速指南
- Arduino - 有用资源
- Arduino - 讨论
Arduino - PIR传感器
PIR 传感器允许您感知运动。它们用于检测人是否移入或移出传感器的范围。它们通常在家用或商用电器和设备中发现。它们通常被称为 PIR、 “被动红外”、“热释电”或“红外运动”传感器。
以下是 PIR 传感器的优点:
- 体积小巧
- 广角镜头
- 易于接口
- 价格低廉
- 低功耗
- 易于使用
- 不会磨损
PIR 由热释电传感器制成,它是一个圆形金属罐,中间有一个矩形晶体,可以检测红外辐射水平。所有物体都会发出低水平的辐射,物体越热,发出的辐射就越多。运动检测器中的传感器分为两半。这是为了检测运动(变化)而不是平均红外水平。这两半连接在一起,以便相互抵消。如果其中一半看到的红外辐射比另一半多或少,则输出将变高或变低。
PIR 具有可调节设置,并在 3 针接地/输出/电源焊盘上安装了接头。
对于许多需要检测人员何时离开或进入区域的基本项目或产品,PIR 传感器非常适合。请注意,PIR 不会告诉您周围有多少人或他们与传感器的距离。镜头通常固定在一定距离的特定扫描范围内,有时会被家里的宠物触发。
所需组件
您将需要以下组件:
- 1 × 面包板
- 1 × Arduino Uno R3
- 1 × PIR 传感器 (MQ3)
步骤
按照电路图,进行如下所示的连接。
草图
在您的计算机上打开 Arduino IDE 软件。使用 Arduino 语言进行编码将控制您的电路。点击“新建”打开一个新的草图文件。
Arduino 代码
#define pirPin 2 int calibrationTime = 30; long unsigned int lowIn; long unsigned int pause = 5000; boolean lockLow = true; boolean takeLowTime; int PIRValue = 0; void setup() { Serial.begin(9600); pinMode(pirPin, INPUT); } void loop() { PIRSensor(); } void PIRSensor() { if(digitalRead(pirPin) == HIGH) { if(lockLow) { PIRValue = 1; lockLow = false; Serial.println("Motion detected."); delay(50); } takeLowTime = true; } if(digitalRead(pirPin) == LOW) { if(takeLowTime){ lowIn = millis();takeLowTime = false; } if(!lockLow && millis() - lowIn > pause) { PIRValue = 0; lockLow = true; Serial.println("Motion ended."); delay(50); } } }
代码说明
PIR 传感器有三个端子 - Vcc、OUT 和 GND。连接传感器如下:
- 将 +Vcc 连接到 Arduino 开发板上的 +5v。
- 将 OUT 连接到 Arduino 开发板上的数字引脚 2。
- 将 GND 连接到 Arduino 开发板上的 GND。
您可以通过位于传感器板底部的两个可变电阻器来调节传感器的灵敏度和延迟时间。
一旦传感器检测到任何运动,Arduino 将通过串口发送一条消息,说明检测到运动。PIR 感知运动将延迟一段时间以检查是否有新的运动。如果没有检测到运动,Arduino 将发送一条新消息,说明运动已结束。
结果
如果检测到运动,您将在串口上看到一条消息,并在运动停止时看到另一条消息。
广告