Arduino继电器模块指南

释放双眼,带上耳机,听听看~!

本文介绍了如何使用继电器模块通过Arduino控制电源电压。我们简要介绍了继电器模块,并使用Arduino构建了一个简单的项目示例。我们将构建的示例说明了如何使用Arduino和PIR运动传感器控制继电器模块。

19648267_1614741051

在本教程结束时,您应该能够使用继电器模块使用Arduino控制任何电子设备。

继电器模块介绍

继电器是一个电动开关,可以打开或关闭,让电流通过或不通过,并且可以用低电压进行控制,例如Arduino引脚提供的5V。

用Arduino控制继电器模块就像控制其它任何输出一样简单,稍后我们将看到。

68391905_1614741432

该继电器模块具有两个通道(这些蓝色立方体)。还有其它型号具有一,四和八个通道。该模块应使用5V供电,适合与Arduino一起使用。还有其它继电器模块使用3.3V供电,非常适合ESP32,ESP8266和其它微控制器使用。

获取一个继电器模块:

  • 5V 2通道继电器模块
  • 5V 1通道继电器模块
  • 5V 8通道继电器模块
  • 3.3V 1通道继电器模块

继电器引脚排列

下图显示了继电器模块的引脚排列。

44122289_1614741450

继电器模块左侧的六个引脚连接高电压,右侧的引脚连接需要低电压的组件Arduino引脚。

电源电压连接

高压侧有两个连接器,每个连接器都有三个插座:公共(COM),常闭(NC)和常开(NO)。

68953486_1614741467
  • COM:普通针
  • NC(常闭):当您希望默认情况下关闭继电器时,将使用常闭配置,这意味着除非您从Arduino向继电器模块发送信号以断开电路并停止电流,否则电流就在流动。
  • NO(常开):常开配置的工作方式与此相反:继电器始终处于打开状态,因此除非您从Arduino发送信号以关闭电路,否则电路会断开。

如果您只是想偶尔点亮一盏灯,最好使用常开电路配置。

引脚接线

低压侧具有一组四个引脚和一组三个引脚。

65112900_1614741529

右侧的设置由VCC和GND组成,为模块供电,输入1(IN1)和输入2(IN2)分别控制底部和顶部继电器。

第二组引脚由GND,VCC和JD-VCC引脚组成。JD-VCC引脚为继电器的电磁体供电。

注意:请注意,该模块具有连接VCC和JD-VCC引脚的连接线帽。这里显示的是蓝色,但是您的颜色可能是不同的。连接线帽使您可以选择电路是否物理连接到Arduino电路,也可以选择打开还是不打开。打开连接线帽,连接VCC和JD-VCC引脚。这意味着继电器电磁体直接由Arduino的电源引脚供电,因此继电器模块和Arduino电路在物理上并不相互隔离(这是我们将使用的配置)。如果没有连接线帽,则需要提供独立的电源,以通过JD-VCC引脚为继电器的电磁体供电。该配置通过模块的内置光耦合器将继电器与Arduino物理隔离。

继电器模块和Arduino之间的连接非常简单:

  • GND:接地
  • IN1:控制第一个继电器(它将连接到Arduino数字引脚)
  • IN2:控制第二个继电器(如果您正在使用第二个继电器,则应将其连接到Arduino数字引脚。否则,无需连接它)
  • VCC:升至5V

示例:使用继电器模块和PIR运动传感器控制灯

61650074_1614741543

在此示例中,我们创建了一个运动感应灯。每次检测到运动时,指示灯点亮10秒钟。

将使用PIR运动传感器检测运动。如果您不熟悉PIR运动传感器,则可以阅读以下文章:

  • 带有PIR运动传感器的Arduino

为了用电源电压控制灯,我们将使用常开配置的继电器模块。

安全警告

在继续进行此项目之前,我想告诉您您正在处理电源电压。请仔细阅读以下安全警告。

警告:在制作连接到电源电压的项目时,您确实需要知道自己在做什么,否则您可能会感到震惊。这是一个严肃的话题,我们希望您安全。如果您不是100%不确定自己在做什么,请帮自己一个忙,不要碰任何东西。问一个知道的人!

所需零件

这是此示例所需的部分:

  • 继电器模块
  • Arduino UNO–阅读 最佳Arduino入门套件
  • PIR运动传感器
  • 灯线组

代码

将以下代码复制到Arduino IDE,并将其上传到Arduino开发板。

警告:当您的Arduino连接到继电器时,不应上传新代码,要先断开。


代码如何工作

首先,我们创建变量以保持继电器IN1引脚所连接的引脚并保存继电器状态:

int relay = 8;
volatile byte relayState = LOW;

PIR运动传感器连接到 针脚2:

int PIRInterrupt = 2;

我们需要创建一些辅助变量来使用PIR运动传感器处理计时器。这lastDebounceTime变量保存上次检测到运动的时间。这去抖动undefined 节省检测到运动后灯泡应保持点亮的时间(此处我们将设置10秒= 10000毫秒)

long lastDebounceTime = 0;
long debounceDelay = 10000;

在里面 setup() ,我们将继电器设置为OUTPUT并默认将其关闭:

long lastDebounceTime = 0;long debounceDelay = 10000;

因为我们使用的是常开配置,所以除非您触发继电器,否则COM和NO插座之间没有接触。当输入电压低于2 V时,继电器将触发。这意味着,如果您从Arduino发送LOW信号,则继电器打开;如果您发送HIGH信号,则继电器关闭。它与反向逻辑一起工作。

将PIR运动传感器设置为中断:

pinMode(PIRInterrupt, INPUT);// Triggers detectMotion function on rising mode to turn the relay on, if the condition is met
attachInterrupt(digitalPinToInterrupt(PIRInterrupt), detectMotion, RISING);

每当触发PIR运动传感器时,它都会调用 detectMotion() 在代码末尾声明的函数以打开继电器:

void detectMotion() {
    Serial.println("Motion");
    if(relayState == LOW){
        digitalWrite(relay, LOW);
    }
    relayState = HIGH;
    Serial.println("ON");
    lastDebounceTime = millis();
}

在里面 loop(),我们检查继电器打开后是否经过了10秒钟。如果该条件成立,我们可以关闭继电器。

if((millis() - lastDebounceTime) > debounceDelay && relayState == HIGH){
    digitalWrite(relay, HIGH);
    relayState = LOW;
    Serial.println("OFF");
}

原理图

如图所示组装所有零件。

警告:请勿触摸任何与电源电压相连的电线。另外,请确保已拧紧继电器模块的所有螺钉。

4745911_1614741569

灯泡使用常开配置连接到继电器。Arduino通过控制继电器针8 (针8连接到继电器IN1引脚)。最后,将PIR运动传感器连接到针脚2。

示范

上传代码并连接电路后,您可以测试设置。

当检测到运动时,您的灯点亮。如果10秒钟没有运动,则指示灯熄灭。

22892089_1614741606

总结

使用Arduino控制继电器模块就像控制输出一样简单-您只需要使用Arduino数字引脚发送HIGH或LOW信号即可。使用继电器模块,您可以控制几乎所有的交流电子设备(不仅是灯)。

给TA买糖
共{{data.count}}人
人已赞赏
免费项目

WiFi时钟

2021-5-9 15:53:38

ArduinoArduino-进阶

带有Arduino的WS2812B可寻址RGB LED灯条指南

2021-5-22 15:51:00

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索