4通道继电器模块的Arduino代码和视频
在本教程中,我们将学习如何使用Arduino控制一个4通道继电器模块。这个模块允许您开启和关闭各种交流或直流负载,例如灯光或电机。在这个项目结束时,您将了解如何接线继电器模块以及如何编写代码使用Arduino控制继电器。

首先,我们需要正确设置硬件组件。继电器屏蔽板通过数字引脚连接到Arduino,这些引脚将用于发送信号以打开和关闭继电器。每个继电器可以控制一个独立的负载,允许灵活的应用。相关视频提供了整个设置和代码实现的视觉指导(视频时间:00:00)。
硬件解读
该项目的主要组件是4通道继电器扩展板。扩展板上的每个继电器有三个端子:常开端(NO)、常闭端(NC)和公共端(COM)。当继电器被激活时,它将公共端与常开端连接,从而允许电流通过连接的负载。
每个继电器需要来自Arduino的数字输出,具体使用引脚4到7。这些引脚在扩展板上都有标记,方便连接设备。此外,扩展板上还有指示LED,当相应的继电器被激活时会亮起,提供继电器的视觉状态。
接线说明
将4通道继电器扩展板接到您的Arduino上,首先将扩展板连接到Arduino主板。确保扩展板上的引脚与Arduino的插头对齐。继电器扩展板使用数字引脚4、5、6和7进行继电器控制。连接如下:

- 针
7到继电器1 - 针
6到继电器2 - 针
5转发3 - 别针
4转发4
接下来,将您的负载连接到继电器端子。对于每个继电器,将公共端子连接到电源,然后根据您的需求将负载连接到常开(NO)或常闭(NC)端子。确保遵循设备的正确极性和额定值。视频中还涵盖了其他接线方案(视频时长为02:30)。
代码示例与演练
以下代码片段演示了如何定义继电器引脚并在Arduino设置中将其设置为输出。
#define relay1 7
#define relay2 6
#define relay3 5
#define relay4 4
void setup() {
Serial.begin(9600);
pinMode(relay1, OUTPUT);
pinMode(relay2, OUTPUT);
pinMode(relay3, OUTPUT);
pinMode(relay4, OUTPUT);
}在本摘录中,我们使用预处理指令定义每个继电器的相应引脚编号。pinMode该函数用于将这些引脚配置为输出,从而允许Arduino控制它们。
接下来,我们可以打开继电器3,并保持激活状态三秒钟,如以下代码块所示。
void loop() {
digitalWrite(relay3, HIGH); // turn relay 3 ON
Serial.println("relay 3 ON");
delay(3000); // keep relay 3 ON for 3 seconds
digitalWrite(relay3, LOW); // turn relay 3 OFF
Serial.println("relay 3 OFF");
delay(3000); // keep relay 3 OFF for 3 seconds
}这个循环每三秒钟持续切换继电器3的开和关。digitalWrite函数用于设置继电器状态,以及Serial.println函数将当前状态输出到串行监视器。
演示 / 期待什么
在设置和代码上传完成后,您应该观察到继电器按预期激活。继电器 3 将开启三秒钟,然后关闭,继电器盾上的 LED 指示灯会显示此状态。要控制其他继电器,您可以通过更改继电器标识符来修改代码(视频中于 05:00 展示)。
注意可能出现的问题,如极性反转或接线不正确,这可能导致继电器故障或甚至损坏您的组件。
视频时间戳
- 00:00- 介绍
- 02:30- 布线设置
- 05:00- 代码解释
/*
* This is the Arduino code for a 4-Relay Arduino Shield
* to control turning ON or OFF 4 AC or DC loads
* Watch the video https://youtu.be/u9q6cHj89b4
*
* Written by Ahmad Nejrabi for Robojax Video
* Date: December 28, 2017, in Ajax, Ontario, Canada
* Permission granted to share this code, given that this
* note is kept with the code.
* Disclaimer: this code is "AS IS" and for educational purposes only.
*
*/
// Recorded December 27, 2017 by Robojax
#define relay1 7
#define relay2 6
#define relay3 5
#define relay4 4
void setup() {
Serial.begin(9600);// setup Serial Monitor to display information
pinMode(relay1, OUTPUT);// connected to Relay 1
pinMode(relay2, OUTPUT);// connected to Relay 2
pinMode(relay3, OUTPUT);// connected to Relay 3
pinMode(relay4, OUTPUT);// connected to Relay 4
}
void loop() {
digitalWrite(relay3,HIGH);// turn relay 3 ON
Serial.println("relay 3 ON");
delay(3000);// keep relay 3 ON for 3 seconds
digitalWrite(relay3, LOW);// turn relay 3 OFF
Serial.println("relay 3 OFF");
delay(3000);// keep relay 3 OFF for 3 seconds
}
资源与参考
尚无可用资源。
文件📁
没有可用的文件。