SW520D倾斜开关怎么接线?Arduino检测角度倾斜报警的消抖处理

写launch的皮皮硬件DIY 2026-10-16 19:55:46 4阅读 举报

SW520D是个挺有意思的小东西,内部藏着一颗金属滚珠和一个导电触点,只要板子倾斜到一定角度,滚珠一滚就把电路接通。因为它便宜、响应快,常被用来做防盗报警、跌落检测、万向节复位这类需要感知姿态的小项目。这篇讲它怎么接、怎么读、怎么消抖。

SW520D是什么原理

它本质上是一个滚珠开关(ball switch)。内部装了一颗可以滚动的金属珠,器件竖着时珠子和触点分开,回路断开;倾斜到大约15到45度时珠子滚到触点位置,回路导通。模块上通常已经带了LM393比较器和电平转换,直接输出电压高低信号,方便单片机读取。

SW520D模块接线

三个脚的模块很直接:VCC接3.3V或5V、GND接地、DO/OUT数字输出接一个数字引脚。接到Arduino上,用digitalRead就能读到高低电平。原理上内部是一颗10k上拉加100n电容滤波的组合,触点在倾斜时拉低电平输出,读起来很干净。

接好线,代码就很简单——循环里digitalRead,读到高就是没倾斜、低就是倾斜了,可以据此点亮LED、放个蜂鸣器报警,或者直接print到串口看状态。

为什么一定要处理抖动

滚珠开关的天性就是会有抖动。珠子滚动时不是一下就到位,而是会弹几下,如果直接拿原始电平去触发动作,会出现重复触发、误报警。处理办法就是软件消抖——检测到电平变化后,隔几十毫秒再读一次确认,或者只记录一次变化。加个简单的延时或状态锁存,报警就干净了。

用SW520D做倾斜报警很省事,一个模块一根杜邦线就能搞定。配合电流大的负载时记得别让IO口直接扛,加个三极管或继电器去驱动报警电路更稳妥。这种小滚珠开关虽然精度不高,但胜在便宜可靠,做姿态级别判断完全够用。

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


登录 后发表评论
4条评论
线比代码多
1楼 · 5小时前

做防盗倾斜报警很省事,一个模块一根线搞定

刷着刷着入坑了
2楼 · 5小时前

15到45度才会触发,装的时候角度要调好

入门没多久的新手
3楼 · 5小时前

负载大要加三极管或继电器,别让IO口直接扛

拆开看看再说
4楼 · 5小时前

滚珠开关抖动是真的,不消抖报警会狂报,加个延时就干净了