想用Arduino去开关灯、电磁阀、水泵或者220V的电器,里面的可编程器件本身神经太弱、直接驱动不动强电,这时候就要一个"开关管家"——继电器模块。它的原理很简单,用低电压小电流去驱动内部电磁线圈,线圈得电吸合触点,从而控制高电压大电流的通断,相当于在你家电路和信号板之间加了一层物理隔离。这篇把模块背面那几组引脚怎么分、常开常闭到底啥意思、代码怎么让它"啪嗒"一声讲清楚。
模块引脚:控制侧和负载侧要分清
5V继电器模块上通常有两块区域。控制侧面向Arduino,一般三个脚:VCC接5V、GND接地、IN是触发脚接数字口。负载侧才是真正接强电的地方,有COM、NO、NC三个端子,网上也写作公共端、常开端、常闭端。所谓常闭NC,就是继电器没动作时COM默认和NC是导通的;NO常开则相反,平时断开,线圈一得电才闭合。看清是NO还是NC,决定你要控制"通电才工作"还是"断电才工作"的设备。

接线图:一低电平就吸合
典型接法:Arduino数字口D7接IN,5V接模块VCC,GND共地。这块模块是低电平触发,也就是IN被拉低时线圈得电、继电器吸合,IN为高电平则断开,和很多人直觉里的"高电平触发"正好相反,接之前先给IN一个高电平看它有没有误动作。负载侧把零线一路串联进COM和NO之间,控制灯就串进灯泡,控制220V设备务必记住强电侧不要靠近你操作的手,安全第一。

代码:digitalWrite就能开合
代码极简,把D7设为输出,digitalWrite(7, LOW)让继电器吸合、digitalWrite(7, HIGH)让它断开,再输出可驱动电流很大。要注意的是控制5V继电器一般没问题,但如果线圈要靠Arduino的5V单独扛,带动多个继电器时电流会超标,建议控制侧电源独立一路5V或USB线单独供电,控制板只负责给IN脉冲。
常见坑:反电动势和功率余量
线圈断电瞬间会产生反向电动势,正规模块板上都串了续流二极管和光耦保护,买个带光耦隔离的型号能保护主控的引脚。选继电器还有个关键是触点负载余量,普通5V模块常标称10A 250VAC,但那是阻性负载的理想值,接电机、压缩机这类感性负载要往下留余量,顶格跑触点容易发热粘连。把强电侧都接到规范端子排上,别用裸线搭。


线圈断电反电动势别小看,带光耦隔离的模块确实稳,保护主控从这细节做起
低电平触发放这里真把我点醒了,我一直想当然用高电平触发,难怪模块不听话
NO和NC分清这块太关键,控制断电才工作的设备就得接常闭,以前总接反