首页/作品列表/入侵报警器
入侵报警器
6910 0
主要内容

项目原理

利用人体红外监测装置,如果深夜有人靠近,则利用蜂鸣器报警,如果并不是恶意侵犯,那么通过触摸传感器接触警报。

硬件组装

成品展示

轻轻触摸开关,就可以关闭小蘑菇警报器
可以在宿舍守护各位宝宝的安全

项目展示

程序解读


#define sensorPin 6
#define buzzer_pin 4
#include

int pin2 = 2;
int state;
int pushButton =2;
void pin2Interrupt(void) {
/* 中断唤醒 */

/*当中断引脚为低电平时关闭中断*/
Serial.println("wake up!!!");
detachInterrupt(0);
}

/***************************************************
* Name: enterSleep
* Returns: Nothing.
* Parameters: None.
* Description: Enters the arduino into sleep mode.
***************************************************/
void enterSleep(void) {

attachInterrupt(0, pin2Interrupt, LOW);
delay(100);
set_sleep_mode(SLEEP_MODE_PWR_DOWN);
sleep_enable();
sleep_mode();
sleep_disable();
}

/***************************************************
* Name: setup
* Returns: Nothing.
* Parameters: None.
* Description: Setup for the Arduino.
***************************************************/
void setup() {
Serial.begin(9600);
/* Setup the pin direction. */
pinMode(pin2, INPUT);
Serial.println("Initialisation complete.");
pinMode(sensorPin, INPUT);
Serial.begin(9600);
pinMode(buzzer_pin,OUTPUT);
pinMode(pushButton, INPUT);
}
void loop()
{

state = digitalRead(sensorPin);
if (state == 1){
Serial.println("Somebody is in this area!");

for(int i=200;i<=800;i++) //用循环的方式将频率从200HZ 增加到800HZ
{
tone(buzzer_pin,i); //在四号端口输出频率
int buttonState = digitalRead(pushButton);
Serial.println(buttonState);
if(buttonState == 0){
Serial.println("Entering sleep");
enterSleep();
}

delay(5); //该频率维持5毫秒

}
}
else
Serial.println("No one!");
delay(1000);
}

所需硬件
暂无数据!
代码展示
暂无数据!
附件下载
暂无数据!
0
大牛,别默默的看了,快登录帮我点评一下吧!

立即注册