振动报警器(戚明杰)

2015-04-129062
AI 快速预览详细 收起
本文介绍了一种简易的振动报警器,旨在提升居家安全。所需元件包括LED灯、蜂鸣器等。通过硬件连接和代码编写,当门受到轻微震动时,报警器会通过LED灯和蜂鸣器发出警报。这种装置特别适合夜间防盗,为家庭提供额外的安全保障。
众所周知,居家安全中门是第一道安全防线。随着各种安全锁的发明与进步。家用门的防盗性也逐渐趋于完美。但所谓道高一尺魔高一丈,再安全的门也会被小偷用合适的工具撬开。而在这种时候,仅增加门的厚度已是徒劳。因此,鉴由这一点,笔者开发了一种简易的震动报警器。虽然只是一个理想模型,但在实际生活中也能发挥巨大作用。
所需元件
1*振动报警器(戚明杰)图1
2*振动报警器(戚明杰)图2
若干振动报警器(戚明杰)图3
1*振动报警器(戚明杰)图4
1*振动报警器(戚明杰)图5
硬件连接
首先,说明一下主要组件在成品中的应用及作用。LED灯,在理想模型里模拟实际生活中的报警灯,在报警器被触发时,会发出强烈且间歇的亮光。蜂鸣器在报警器被触发后,会发出固定的报警声。其它元件在此不多做解释,实际操作时会再加以说明。
振动报警器(戚明杰)图6
连接图如上。
输入代码
  1. //震动报警器
  2. int sensorled = 6;
  3. int sensorzdkg = 3;  //使灯的引脚设为6,震动开关设为中断1
  4. unsigned char state = 0;
  5. float sinVal;
  6. int toneVal;     //该两段定义蜂鸣器报警
  7. void setup () {
  8.   pinMode(sensorled,OUTPUT);     //LED为输出模式
  9.   pinMode(sensorzdkg,INPUT);   //震动开关为输入模式
  10.   pinMode(8, OUTPUT);
  11.   
  12.   //低电平变高电平的过程中,触发中断1,调用blink函数
  13.   attachInterrupt(1,blink,RISING);
  14. }
  15. void loop(){
  16.   if(state!=0){                // 如果state不是0时
  17.    digitalWrite(sensorled,HIGH);
  18.    delay(150);
  19.    digitalWrite(sensorled,LOW);
  20.    delay(100);
  21.    
  22.    for(int x=0; x<180; x++){
  23.             sinVal = (sin(x*(3.14/180)));
  24.             toneVal = 2000+(int(sinVal*1000));
  25.             tone(8, toneVal);
  26.             delay(2);
  27.   }
  28.   }
  29.   else
  30.          digitalWrite(sensorled,LOW);
  31. }
  32. void blink(){                //中断函数blink()
  33. state++;             //一旦中断触发,state就不断自加
  34. }
复制代码

在设计完成后,把报警器安装在门上,只要门一有轻微震动,报警器就会发出警报并亮灯。这样的装置在晚上家里人入睡时能起到很好的防盗作用。
实物连接
振动报警器(戚明杰)图7
本篇由戚明杰制作,罗亮指导


image002.jpg (2.03 KB, 下载次数: 1147)

居家安全 · 振动报警器:简易防盗装置_image_3.webp

复件 image004.jpg (1.58 KB, 下载次数: 1181)

居家安全 · 振动报警器:简易防盗装置_image_6.webp

创作许可协议

本项目采用 None(不开放任何权利,保留所有权利) 进行许可。

评论(1)
qq815076543322
qq815076543322
感谢分享 已经分享到猫友汇
- 没有更多了 -