做智能家居,很多时候单片机要控制的不是小 LED,而是家里的灯、排插、水泵这类 220V 市电设备。用 5V 继电器模块把控制端和强电端隔离开,是既简单又安全的做法。这篇按实操顺序,讲清楚继电器原理、接线、代码以及该有的安全注意。
先搞懂继电器为什么能把强弱电隔开
继电器的核心是电磁铁。小电流给线圈通电,电磁铁吸合,带动一组机械触电开关去通断大电流的回路,这就是「以小控大」。关键是 Arduino 那一路只有 5V 直流、电流很小,和 220V 交流回路之间没有物理导电连接,辐射和回灌都能被隔开,安全上是可靠的。常见的 5V 继电器模块上你会看到三路控制口 VCC/GND/IN,以及接负载的 COM(公共端)、NO(常开)、NC(常闭)。

Arduino + 继电器模块接线
控制端接线:模块的 VCC 接 Arduino 5V,GND 接 GND,IN(控制脚)接数字引脚,比如 7。具体 VCC/GND/IN 的位置不同厂家的板子可能略有差异,接之前一定翻一下你自己模块的手册。负载端:把市电火线(L)接到继电器的 COM 公共端,再从 NO(常开)端引出去接灯泡的一端,灯泡另一端接零线(N)。这样继电器一吸合,灯泡就给火线通电点亮。

控制代码:低电平导通还是高电平导通要看清
和 LED 不同,很多继电器模块是「输入脚接低电平时导通」,也就是 digitalWrite(13,LOW) 反而让灯泡亮。下面这段代码让灯泡亮 5 秒、灭 5 秒循环,方便你先验证接线。如果你发现反了,多半是把 NO 用成 NC,或者模块是低电平触发,调一下逻辑方向即可。
void setup(){ pinMode(13,OUTPUT);}
void loop(){
digitalWrite(13,LOW); // 低电平导通,灯亮
delay(5000);
digitalWrite(13,HIGH); // 高电平断开,灯灭
delay(5000);
}关于 220V 接线的安全红线
强烈提醒:接市电电缆前先断电,务必使用符合规格的三芯电缆和接地,最好放在正规接线盒里;所有接线牢固并做好绝缘,绝对不能裸露带电导线。国情不同电压不同,220V 操作请务必有电工基础或现场指导。给 Arduino 供电别指望继电器供电一起共用而拉低电压,用独立电源或足量供电更稳。
再进一步:把继电器和手机/传感器连起来
把开关逻辑从固定延时改成串口或蓝牙接收指令,就能用手机远程开关;接上人体感应或光敏传感器,就能做成自动感应照明。继电器是智能家居控制落地的常规积木,理念理解了,后面接哪种触发源都顺手。
本篇为实操改写整理,涉及市电操作请务必注意安全,以实际设备手册为准。




看完这篇文章把家里的灯改成声控加定时了,玩了三天还没腻。
请问控制直流电机的话,是不是直接接输出就行?
新人注意,接220V前一定要断电,最好在电工指导下操作,别贪快。
我拿它控制鱼缸的加热棒,写入定时逻辑,回老家也能远程开关,好用。
继电器把单片机和控制端隔开了,电灯接220V心里还是有点怕,教程提醒够到位。