SW-420震动传感器怎么接线?Arduino碰撞检测报警教程

写launch的皮皮硬件DIY 2026-10-15 12:57:51 9阅读 举报

想做防盗报警、碰撞检测,或者记录一下“东西有没有被挪动”,SW-420震动传感器是个便宜够用的小部件。它本质上是个弹簧振动检测模块,遇到碰撞或晃动就输出一个电平变化,配合Arduino能快速搭出报警或计数逻辑。这篇文章讲清接线和用法。

模块构成:一个弹簧开关加比较器

SW-420模块的核心是一个振动开关元件,里面有一根弹簧,静止时通过弹簧形变保持特定通断状态,一旦有外力震动,弹簧晃动就让触点短暂通断,产生一个电平抖动脉冲。板上还有一个LM393电压比较器,负责把这个“有没有震”判断成稳定的高、低电平数字输出。

模块一般引出VCC、GND、DO(数字输出)三个脚,多数还带一个AO模拟输出脚。DO是经过比较器判断后的结果,适合接Arduino数字脚;AO是原始电压,反应更细腻,但日常用DO就够。板上还有一颗蓝色电位器,用来调触发阈值灵敏度。

接线和报警逻辑

接线很常规:VCC接5V,GND接GND,DO接一个数字脚,比如2号脚。想让震动有提示,可以再串一个有源蜂鸣器到另一个数字脚。程序就几句话:读到DO变成高电平(触发)就让蜂鸣器响、LED闪,Serial打印“检测到震动”,过一小段时间再复位,避免一直响。

这里要特别注意时序问题:弹簧开关的振动往往是几百毫秒内好多次通断,DO会输出一串脉冲而不是一个干净的高电平。所以代码里要么用“触发后锁定几秒”的思路,要么加延时消抖,别指望读一次就完,否则会误判成多次触发。

灵敏度调节和两三个坑

蓝电位器决定了“多大力算震动”:顺时针拧一般降低触发阈值(更灵敏),逆时针更迟钝。到底怎么调,最好边震动边试,找到“轻轻一碰就触发、静止不误报”的临界点,装进项目前先调好。

常见坑:一是供电和共地不稳,弹簧开关对电噪声很敏感,电源毛刺会被当成震动;二是接线模块型号很多,有的振动开关方向不同,装错方向可能静止状态和想的不一样;三是别指望它精确测震级,它只能告诉你“有没有震动”,给不了“震多强”。

SW-420做“碰一下就知道”的检测很顺手,报警、防盗、开门提醒、甚至机器狗碰到障碍的首次触发,都能用它。把它当一只电子“触觉神经”,配合阈值调试就顺了。

版权声明:
作者:写launch的皮皮
链接:https://www.aiddithome.com/p/b1b614ecc1d4.html
来源:硬件DIY
实践版权归作者所有,未经允许请勿转载,若此实践存在违规行为,您可以点击 “举报”。


登录 后发表评论
4条评论

做了个开门提醒就靠它,便宜又好用

探头看一眼
2楼 · 1天前

'只能告诉你有没有震,给不了震多强'这句说到点上了

板砖搬不动
3楼 · 1天前

弹簧开关输出一串脉冲,不加锁定会连续触发,这点讲透了

阿强焊点总飞
4楼 · 1天前

灵敏度那个电位器装前要调好,不然静止也误报