想做门窗安防报警、给机器人做个隐蔽限位开关、或者测测转轮转不转,干簧管(磁控开关)是最省钱省事的选择。它本质上是个被磁铁"控制"的开关:玻璃管里封着两片铁磁簧片,磁铁一靠近磁场把它们吸到一起就导通,离开就断开。整颗开关自身不耗电,很适合做低功耗的门磁报警。这篇把它的接线和玩法说清楚。
先分清常开常闭
手头的干簧管多数是常开型(NO),意思是没磁铁时是断开的、不导通,磁铁靠近才闭合。这个性格正好拿来做"磁铁来了=事件发生"的判断。常闭型(NC)相反,但Arduino项目里很少用到,真需要反逻辑,在代码里把判断反过来就行,不必专门买常闭。

接Arduino只用两根线
干簧管两端无极性,接法极简单:一脚接Arduino的数字口(比如D2),另一脚接地。注意要利用Arduino的内部上拉:代码里把D2设成INPUT_PULLUP。这样没磁铁时,引脚被内部上拉读到高电平;磁铁靠近开关闭合,把引脚直接拉到地,读到低电平。全程不用外接电阻,也省了额外元件。

用就能判断了:读到LOW说明磁铁到了(门关/开关合),读到HIGH说明磁铁离开。程序里digitalRead(D2)会稳定返回这两个状态。
实际应用:门磁和转速计
做门磁报警时,把干簧管贴在门框上、小磁铁贴在门边上,门开=磁铁离开=读到高电平,触发警报;门关=磁铁靠近=读到低电平。做个抽屉开关检测、3D打印机的料仓盖检测也是一样思路。想测转速,就把小磁铁粘在轮子辐条上、干簧管固定在旁边,数一段时间内脉冲的次数就是转速。信号要处理一下抖动:磁铁到位瞬间触点会有些机械抖动,读两遍加个几十毫秒防抖,状态就干净了。
几个坑记住别踩
第一,干簧管的玻璃管身特别脆,弯脚要用钳子夹住引脚再弯,别折到玻璃密封处,不然直接报废。第二,它带不了大负载,限流0.5A以内、电压别超,别用裸管去直接开关电机或继电器线圈这类感性负载,火花会点蚀触点,正确姿势是让干簧管只喂GPIO,大功率交给三极管或MOS管。第三,触发距离跟磁铁强弱和方向有关,一般10到20mm,实际用个小钕磁铁测一下最近的可靠触发范围再固定安装位置。
两根线、一个INPUT_PULLUP、几十毫秒防抖,干簧管就是个又便宜又稳的"磁力感应卡片"。跟霍尔传感器比,它零功耗、代码也更简单,做门磁这类低速开关场景几乎完胜。




别拿它直接带继电器线圈,加个三极管驱动才稳,触点不容易火花
玻璃管弯脚真得夹着弯,我折崩过两颗,心疼
INPUT_PULLUP不用外接电阻这点方便,两根线就接好,代码也少