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读取时,建议使用外部中断功能。
五、实验中我们所使用的模块
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 - 极客工坊