首先我们需要知道什么是运动传感器以及它是如何工作的?
被动红外传感器 (PIR) 也称为运动传感器,是一种电子设备,它使用一对热释电传感器来检测周围环境中的热能来感知运动。这两个传感器并排放置,当两个传感器之间的信号差异发生变化时(假设有人进入房间),传感器将接合。它基本上捕捉运动。它具有三个端子,即 Gnd、Vcc 和带有 3V 稳压器、延时控制器、灵敏度控制器和 BIS001 的信号引脚。
PIR 端子 - Gnd、Vcc 和信号引脚。Gnd 被认为是负引脚并连接到系统的地。Vcc 基本上为引脚加电,通常为 5V。信号引脚是输出引脚。
Arduino uno:Arduino Uno 是基于 ATmega328 的微控制器板。它有 20 个数字输入/输出引脚(其中 6 个可用作 PWM 输出,6 个可用作模拟输入)、一个 16 MHz 谐振器、一个 USB 连接、一个电源插孔、一个在线系统编程 (ICSP)标题和一个重置按钮。
现在我们可以开始处理电路了:
PIR 连接 - 将传感器的 Gnd 引脚连接到 Arduino 的地。传感器的 Vcc 引脚到 Arduino 的 5V。并将信号/输出引脚连接到 Arduino 板的数字引脚 5。
LED 连接 - LED 的正极端子连接到 Arduino 的数字引脚 9。负端应连接到电阻的任一脚。电阻的另一端应连接到 Arduino 的 Gnd。
请参阅电路图以更好地理解。电路图也在硬件部分上传,方便大家下载。
代码 :
const int led = 9; // Led positive terminal to the digital pin 9.
const int sensor = 5; //signal pin of sensor to digital pin 5.
const int state = LOW;
const int val = 0;
void setup() { // Void setup is ran only once after each powerup or reset of the Arduino board.
pinMode(led, OUTPUT); // Led is determined as an output here.
pinMode(sensor, INPUT); // PIR motion sensor is determined is an input here.
Serial.begin(9600);
}
void loop(){ // Void loop is ran over and over and consists of the main program.
val = digitalRead(sensor);
if (val == HIGH) {
digitalWrite(led, HIGH);
delay(500); // Delay of led is 500
if (state == LOW) {
Serial.println(" Motion detected");
state = HIGH;
}
}
else {
digitalWrite(led, LOW);
delay(500);
if (state == HIGH){
Serial.println("The action/ motion has stopped");
state = LOW;
}
}
}
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
全部0条评论
快来发表一下你的评论吧 !