arduino教程系列42-Arduino Leonardo + 数字震动传感器演示实验

Randy 于 2012-9-5 09:11 编辑



一、模块接口说明(3线制)



1 VCC 外接3.3V-5V电压(可以直接与5v单片机和3.3v单片机相连)

2 GND 外接GND

3 DO小板数字量输出接口(0和1)

注:AO口在此无效,不用做任何处理。



二、使用说明

1震动传感器采用MEC原装震动开关SW-18015P,灵敏度高,对环境震动敏感,一般用来检测周围环境的震动强度

2模块在无震动或者震动强度达不到设定阈值时,DO口输出高电平,当外界震动强度超过设定阈值时,模块D0输出低电平;

3小板数字量输出D0可以与单片机直接相连,通过单片机来检测高低电平,由此来检测环境的震动;

4小板数字量输出DO可以直接驱动本店继电器模块,由此可以组成一个震动开关;



三、模块应用

1:摩托车,汽车报警器的制作

2:防盗报警等



四、测试说明

使用本店51开发板与震动传感器模块测试

接线说明:



模块VCC接开发板VCC

模块GND接开发板GND

接好VCC和GND,模块电源指示灯会亮

将模块轻放桌面上,调节板上蓝色电位器,直到板上开关指示灯亮,然后稍微回调电位器,让开关指示灯灭,再用手敲打桌面,使震动传感器有震感,此时,开关指示灯再会到亮状态。震动停止,开关指示灯也会灭。这个现象就是说明,震动可以触发模块,从而使开关指示灯点亮。

在使用我们的传感器时要注意,先判断该传感器是数字的还是模拟的,然后观察连接线的颜色是否是对应的连接线。



数字传感器:

这是一款基于弹簧摆动原理设计的震动传感器,震动势能传到弹簧末端引起共振,左右摆动碰触到金属外壁形成通路。由于导通时间和弹簧的刚性有关,所以该震动传感器的输出带宽很窄,在使用Arduino读取时,建议使用外部中断功能。



五、实验中我们所使用的模块

1.jpg

2012-9-4 18:10 上传
(20.51 KB)





六、Arduino外部中断代码:

//接口D2:振动,水银,干簧管 数字输入传感器。
#define SensorLED     13
#define SensorINPUT   2  
 
unsigned char state = 0;
 
void setup() 
{ 
  pinMode(SensorLED, OUTPUT); 
  pinMode(SensorINPUT, INPUT);
  attachInterrupt(0, blink, FALLING);//D2口为外部中断0,当有下降沿触发的时候调用blink函数
 
}
void loop()
{
      if(state!=0)
      {
        state = 0;
        digitalWrite(SensorLED,HIGH);
        delay(500);
      }  
      else 
        digitalWrite(SensorLED,LOW);
}  
 
 
void blink()//数字输入传感器下降沿触发中断服务函数
{
  state++;
}

最后结果可观察数字口13脚上的L指示灯,震动后可以看见L灯亮500ms。

via - 极客工坊

标签: Arduino教程