arduino uno开发板 + esp8266开发板 + 5v继电器实现手机远程控制220v灯

前面已经实现控制LED灯了,但是控制220v的家用灯怎么办,加个继电器

淘宝上的继电器模块基本上都是支持5v触发的,3.3v触发的不多(3.3v还没到货,没测试)

之前因为不知道esp8266引脚3.3v无法触发5v继电器模块导致一直没成功(据说可接三极管放大信号触发,没货所以没测试)

先记录几个概念:

1.继电器模块使用方法(一般都是,我现在所接触的):

(1)控制(触发)端,给模块供电用:

  VCC:模块供电(如5v)正极接入端

  GND:模块供电负极接入端

  IN:模块触发输入端(真正控制触发端)

(2)被控制端,外接被控制电源端(如:220v)

  NO:常闭端,继电器没触发时通电,被控制电源接负极

  COM:被控制电源正极输入端

  NC:常闭端,继电器触发时通电,被控制电源接负极

  NO/NC端接一个即可

2.arduino uno开发板默认5v电压,本实验利用5v电压触发5v继电器模块

3.这次实验是建立在本博客前面的文章基础之上

4.用到的硬件有:

  1.arduino uno开发板 

  2.esp8266开发板

  3.5v继电器模块

  4.面包板,导线等

5.先上arduino代码烧录(非Esp8266代码),Esp8266代码请参考前面文章

int button2 = 2;
int button5 = 5;
void setup() {
  Serial.begin(9600);
  pinMode(button2, INPUT);  //设置arduino2号引脚为输入端,接收Esp8266输入3.3v电压
  pinMode(button5, OUTPUT); //设置arduino5号引脚为输出端,输出5v电压控制继电器
}

void loop() {
  int buttonstate = digitalRead(button2);  //arduino读取2号引脚状态值,1为有电压,0为没有
  if (buttonstate == 0) {
    digitalWrite(5, LOW);                  //如果没有电压设置5号引脚为低(0v)电压输出
  }else{
    digitalWrite(5, HIGH);                 //如果有电压设置5号引脚为高(5v)电压输出
  }
}

6.烧录成功后连线,拍照有点乱,还是文字吧

  1.先连arduino与Esp8266

    (1)给esp8266供电:3v3引脚接arduino3.3v

    (2)esp8266给arduino输入电压信号:D5引脚接arduino2号引脚

    (3)esp8266 GND引脚接arduino GND引脚

  2.继电器连接arduino

    (1)继电器IN引脚接arduino ~5 引脚

    (2)继电器GND引脚接arduino GND引脚

    (3)继电器VCC引脚接arduino 5v电源引脚

  3.继电器被控制电源接入保证COM端接入正极,NC或NO端任选一个,串联上LED灯即可(220v?先用5v的测试一下吧)

  4.arduino通电(有点废话),连接完成

7.打开小程序连接MQTT服务器试试吧,成功?!!!

8.本人纯属小白,大佬勿喷,记录学习历程。

推荐个学习arduino开发板学习b站视频链接(纯小白型):https://www.bilibili.com/video/av52628485?p=1

猜你喜欢

转载自www.cnblogs.com/Strangers/p/12466519.html