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

奈何col 发表于 2020-2-23 20:19

按照文档安装lib和package,并测试例程

caiyq52 发表于 2020-2-24 09:17

623277327 发表于 2020-2-23 19:46
方法三有推荐的继电器嘛?我想要双路的。。。

用NodeMcu板子加普通继电器模块,方便又好用。

caiyq52 发表于 2020-2-24 09:39

本帖最后由 caiyq52 于 2020-2-24 09:49 编辑

623277327 发表于 2020-2-23 19:35
方法一目前还有压力,方法二我试了5V是继电器是没问题,3.3V估计比较困难,看来还是方法三靠谱 ...
方法一,我试写了一个串口控制的程序,控制一个继电器的,你看看能用不,如果可以你再扩展

#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={      //定义控制指令
{0xA0,0x01,0x01,0xA2},//caiyq52打开第一路继电器KK[]
{0xA0,0x01,0x00,0xA1},//caiyq52关闭第一路继电器KK[]
{0xA0,0x02,0x01,0xA3},//caiyq52打开第二路继电器KK[]
{0xA0,0x02,0x00,0xA2},//caiyq52关闭第二路继电器KK[]
};


// 新建组件对象
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,HEX);
      }
      
      digitalWrite(PinLED, LOW);//caiyq52-记录开关状态
    }
    else if(digitalRead(PinLED)==LOW)
    {
      for(int i=0;i<4;i++)      //caiyq52-发送打开第一路继电器指令
       {
      Serial.print(KK,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();
}


这个程序发上来之后居然被自动改了,按照截图上的改回来使用

623277327 发表于 2020-2-24 15:44

caiyq52 发表于 2020-2-24 09:39
方法一,我试写了一个串口控制的程序,控制一个继电器的,你看看能用不,如果可以你再扩展


好,谢谢我试试

随缘7906 发表于 2020-2-25 20:39

楼主解决了吗,如果没有解决试试这样
if (state == BLINKER_CMD_ON) {
      digitalWrite(LED_BUILTIN, HIGH);
把代码中的0改为LED_BUILTIN
你这代码是用gpio0控制继电器的,但是有些继电器是用gpio2来控制的。可以试试,我的继电器就是用LED_BUILTIN不能控制,用0就可以控制。

haohuanan 发表于 2020-2-26 11:49

我的也是继电器不工作

13456459008 发表于 2020-9-7 15:39

我也买了好几个这个两路的,发现不能用:Q

13456459008 发表于 2020-9-9 11:03

请问,楼主的可以使用了吗?

623277327 发表于 2020-9-22 16:08

haohuanan 发表于 2020-2-26 11:49
我的也是继电器不工作

买错板子了,这种不能用我发的那种代码控制,我换了继电器板子就好了

623277327 发表于 2020-9-22 16:09

13456459008 发表于 2020-9-7 15:39
我也买了好几个这个两路的,发现不能用

是的,买的时候没仔细看,不过后来换了板子之后可以了
页: 1 2 [3] 4 5
查看完整版本: 我的ESP8266继电器也不工作