Esp32/Esp8266 稳定控制5v继电器

本文讲述了在物联网项目中,使用esp32控制5v低电平触发的继电器遇到的问题,由于esp32GPIO输出电压限制,无法直接驱动继电器。解决方案是将继电器VCC接到3.3v,确保足够的电压差以实现继电器的正常工作。
摘要由CSDN通过智能技术生成

问题描述:

最近做了些物联网项目,使用esp32来控制继电器以实现对灯的开关。但是买到的继电器是一个5v低电平触发,开发板一直无法驱动继电器开合。


原因分析:

esp32的gpio引脚最高输出为3.3v的电压,无法驱动继电器工作。

继电器本质上依赖电压高低差而实现电磁的吸合以及断开

  • 高电平--电压5v---断开

  • 低电平---低电平触发---触发电压0-1.2v---接合


解决方案:

继电器的VCC输入使用3.3v,不要用5v,然后正常接GPIO,此时低电平0v,高电平3.3v,压差为3.3v,可以稳定工作。

  • 12
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
您好!要使用ESP8266控制5V继电器,您可以按照以下步骤进行操作: 1. 确保您已经连接好ESP8266继电器模块之间的电源和地线。 2. 将继电器的IN引脚连接到ESP8266的数字引脚(例如D1)。 3. 在您的代码中,首先包含ESP8266WiFi库和ESP8266WiFiGeneric库。 4. 初始化WiFi连接以便与ESP8266通信。 5. 设置继电器引脚为输出模式,并将其初始状态设置为关闭。 下面是一个简单的示例代码,可以帮助您开始: ```cpp #include <ESP8266WiFi.h> #include <ESP8266WiFiGeneric.h> const char* ssid = "your_SSID"; const char* password = "your_PASSWORD"; const int relayPin = D1; void setup() { Serial.begin(115200); delay(10); WiFi.begin(ssid, password); while (WiFi.status() != WL_CONNECTED) { delay(500); Serial.print("."); } Serial.println(""); Serial.println("WiFi connected"); Serial.println("IP address: "); Serial.println(WiFi.localIP()); pinMode(relayPin, OUTPUT); digitalWrite(relayPin, HIGH); // 初始状态为关闭 } void loop() { // 在这里可以添加您的逻辑代码,根据需要打开或关闭继电器 } ``` 请确保将 `your_SSID` 和 `your_PASSWORD` 替换为您的WiFi网络的凭据。 在 `loop()` 函数中,您可以根据需要编写逻辑代码来控制继电器的状态。例如,可以使用 `digitalWrite(relayPin, LOW)` 来打开继电器,使用 `digitalWrite(relayPin, HIGH)` 来关闭继电器。 希望这可以帮助到您!如果您还有其他问题,请随时提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值