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读取时,建议使用外部中断功能。
五、实验中我们所使用的模块
六、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。
额...水银开关。。。。不推荐大家买这个,建议用滚珠。。。水银开关太危险 还有弹簧开关 迷你强 发表于 2012-9-4 20:47 static/image/common/back.gif
额...水银开关。。。。不推荐大家买这个,建议用滚珠。。。水银开关太危险
:lol是的,只是觉得论坛里还没教程,所以就发一下,方便有的同学们学习学习! 学习了,谢谢! 谢谢分享了
呵呵~~~~~~~~! zhangdeyue1 发表于 2012-10-23 11:33 static/image/common/back.gif
谢谢分享了
呵呵~~~~~~~~!
不客气,拿去!哈哈! 学习中,谢谢楼主 迷你强 发表于 2012-9-4 20:47 static/image/common/back.gif
额...水银开关。。。。不推荐大家买这个,建议用滚珠。。。水银开关太危险
水银开关为什么会 危险。。。。 ro0t 发表于 2013-7-4 22:28 static/image/common/back.gif
水银开关为什么会 危险。。。。
水銀有毒,要很小心使用哦 问下楼主,怎么才能实现震动传感器控制外接电路中led灯或蜂鸣器工作呢,上面的代码如何修改实现,新来的改不来 Thank you
谢谢分享呀 哇学习了.:P 高大上,谢谢分享。
页:
[1]
2