我的ESP8266继电器也不工作-Arduino中文社区 - Powered by Discuz!

Arduino中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

楼主: 623277327

[已解答] 我的ESP8266继电器也不工作

[复制链接]
发表于 2020-2-23 20:19 | 显示全部楼层
按照文档安装lib和package,并测试例程
发表于 2020-2-24 09:17 | 显示全部楼层
623277327 发表于 2020-2-23 19:46
方法三有推荐的继电器嘛?我想要双路的。。。

用NodeMcu板子加普通继电器模块,方便又好用。
发表于 2020-2-24 09:39 | 显示全部楼层
本帖最后由 caiyq52 于 2020-2-24 09:49 编辑
623277327 发表于 2020-2-23 19:35
方法一目前还有压力,方法二我试了5V是继电器是没问题,3.3V估计比较困难,看来还是方法三靠谱 ...

方法一,我试写了一个串口控制的程序,控制一个继电器的,你看看能用不,如果可以你再扩展
[mw_shl_code=arduino,true]  
#define BLINKER_WIFI

#include <Blinker.h>

char auth[] = "Your Device Secret Key"; //caiyq52-改成自己在点灯app中生成的key码
char ssid[] = "Your WiFi network SSID or name"; //caiyq52-改成自己的WIFI名称
char pswd[] = "Your WiFi network WPA password or WEP key";  //caiyq52-改成自己的WIFI密码

int KK[4][4]={      //定义控制指令
  {0xA0,0x01,0x01,0xA2},//caiyq52打开第一路继电器KK[0][]
  {0xA0,0x01,0x00,0xA1},//caiyq52关闭第一路继电器KK[1][]
  {0xA0,0x02,0x01,0xA3},//caiyq52打开第二路继电器KK[2][]
  {0xA0,0x02,0x00,0xA2},//caiyq52关闭第二路继电器KK[3][]
};


// 新建组件对象
BlinkerButton Button1("btn-abc");   //caiyq52-此组件未点灯app中自己设置的按键,改名"btn-abc"必须与自己APP中设定的名称一致


int PinLED=0;    //caiyq52-;



// 按下按键即会执行该函数
void button1_callback(const String & state) {
    BLINKER_LOG("get button state: ", state);
    if(digitalRead(PinLED)==HIGH)
    {
      
      for(int i=0;i<4;i++)      //caiyq52-发送关闭第一路继电器指令
       {
        Serial.print(KK[1],HEX);
        }
      
      digitalWrite(PinLED, LOW);//caiyq52-记录开关状态
    }
    else if(digitalRead(PinLED)==LOW)
    {
      for(int i=0;i<4;i++)      //caiyq52-发送打开第一路继电器指令
       {
        Serial.print(KK[0]
,HEX);
        }
      digitalWrite(PinLED, HIGH);//caiyq52-记录开关状态
    }
}

// 如果未绑定的组件被触发,则会执行其中内容


void setup() {
    // 初始化串口
    Serial.begin(115200);

    BLINKER_DEBUG.stream(Serial);

    // 初始化有LED的IO
    pinMode(PinLED, OUTPUT);    //caiyq52-设置引脚为输出模式
    digitalWrite(PinLED, LOW); //caiyq52-设置初始状态为LOW低电平
    // 初始化blinker
    Blinker.begin(auth, ssid, pswd);
    Button1.attach(button1_callback);
}

void loop() {
    Blinker.run();
}[/mw_shl_code]


这个程序发上来之后居然被自动改了,按照截图上的改回来使用
搜狗截图20200224094511.jpg
 楼主| 发表于 2020-2-24 15:44 | 显示全部楼层
caiyq52 发表于 2020-2-24 09:39
方法一,我试写了一个串口控制的程序,控制一个继电器的,你看看能用不,如果可以你再扩展
[mw_shl_code=a ...

好,谢谢我试试
发表于 2020-2-25 20:39 | 显示全部楼层
楼主解决了吗,如果没有解决试试这样
[mw_shl_code=arduino,true]if (state == BLINKER_CMD_ON) {
        digitalWrite(LED_BUILTIN, HIGH);[/mw_shl_code]
把代码中的0改为  LED_BUILTIN
你这代码是用gpio0控制继电器的,但是有些继电器是用gpio2来控制的。可以试试,我的继电器就是用LED_BUILTIN不能控制,用0就可以控制。
发表于 2020-2-26 11:49 | 显示全部楼层
我的也是继电器不工作
发表于 2020-9-7 15:39 | 显示全部楼层
我也买了好几个这个两路的,发现不能用
发表于 2020-9-9 11:03 | 显示全部楼层
请问,楼主的可以使用了吗?
 楼主| 发表于 2020-9-22 16:08 | 显示全部楼层
haohuanan 发表于 2020-2-26 11:49
我的也是继电器不工作

买错板子了,这种不能用我发的那种代码控制,我换了继电器板子就好了
 楼主| 发表于 2020-9-22 16:09 | 显示全部楼层
13456459008 发表于 2020-9-7 15:39
我也买了好几个这个两路的,发现不能用

是的,买的时候没仔细看,不过后来换了板子之后可以了
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|Archiver|手机版|Arduino中文社区

GMT+8, 2024-11-28 14:47 , Processed in 0.156198 second(s), 15 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表