7440浏览
查看: 7440|回复: 1

振动报警器(戚明杰)

[复制链接]
众所周知,居家安全中门是第一道安全防线。随着各种安全锁的发明与进步。家用门的防盗性也逐渐趋于完美。但所谓道高一尺魔高一丈,再安全的门也会被小偷用合适的工具撬开。而在这种时候,仅增加门的厚度已是徒劳。因此,鉴由这一点,笔者开发了一种简易的震动报警器。虽然只是一个理想模型,但在实际生活中也能发挥巨大作用。
所需元件
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
复件 image004.jpg

大连林海  初级技神

发表于 2015-4-12 12:41:04

感谢分享 已经分享到猫友汇
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail