今天小飞鱼实验使用ESP控制继电器,为了更好的掌握继电器的使用方法这里实验做了一个跑马灯的效果。
这里用到的可编程继电器,起始原理并不复杂,同样需要ESP32控制针脚输出高电平或低电平给到继电器,继电器使用这个信号控制一个电磁铁进行动作,来控制一个电路的开关,这里的电路可以是一个高电压的线路比如我们常用的220V的电压,而如果直接用ESP32控制220V的电路是不可行的,因此当有这种情况下就需要使用到继电器。
继电器分为高电平触发和低电平触发2种,一般会在电路背面标明,如果未做标注就需要通过实验来进行判定了。
这里的实验用到了3个继电器开关,其中1号和2号是连在一起的,完全一样的2个开关。 3号开关为单独的一个继电器。
这里需要使用每个继电器控制一个小灯的开关,每个灯亮5秒后,关闭后点亮下一个灯,循环进行。
连接电路,这里使用5脚控制红灯,18脚控制黄灯,19脚控制绿灯。使用ESP32主板上的5V电源针脚进行连接。
继电器的点亮小灯部分的电源采用面包板上的电源进行供电。
控制程序如下:
void setup ()
{pinMode(5, OUTPUT);pinMode(18, OUTPUT);pinMode(19, OUTPUT);Serial.begin(9600);
}void loop()
{digitalWrite(5, 0); //红灯 亮 低电平触发digitalWrite(18, 1); //黄灯灭 低电平触发digitalWrite(19, 0); //绿灯灭 高电平触发Serial.println("5 红 亮");delay(5000);digitalWrite(5, 1);digitalWrite(18, 0);digitalWrite(19, 0);Serial.println("18 黄 亮");delay(5000); digitalWrite(19, 1); //第二块继电器 高电平亮Serial.println("19 绿 亮");digitalWrite(5, 1);digitalWrite(18, 1);delay(5000);Serial.printf("--------------------------------------------\n");
}
输出结果:
注意事项:
因为用到了两种继电器,导致测试一开始的结果一直有些混乱,一开始以为是电源供电问题导致的继电器不稳定,后来经过更详细的测试发现这两块继电器的开关条件不同,又重新更新了程序中控制的电平输出。
继电器中为一个电磁铁的机械结构,会收到磁场的干扰和影响,如果工作环境中有强磁等干扰,可能会营销继电器的动作正常执行。