求大神提点:NodeMcu控制多路继电器-Arduino中文社区 - Powered by Discuz!

Arduino中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 2620|回复: 8

求大神提点:NodeMcu控制多路继电器

[复制链接]
发表于 2020-3-5 16:38 | 显示全部楼层 |阅读模式
控制一个8路继电器,程序刷入后,D0-D7引脚如果每次输出一个高电平就正常,但如果输出大于两个高电平就出问题了,其他引脚自动输出高电平,比如D4,D5设置高电平后,D0D2D6D7也同时自动输出高电平,该怎么限制呢,让我想哪个高就高,哪个低就低
发表于 2020-3-5 16:43 来自手机 | 显示全部楼层
本帖最后由 daileshan 于 2020-3-5 19:19 编辑

差不多一半的数字引脚都是相连的,楼主别想了
发表于 2020-3-6 08:46 来自手机 | 显示全部楼层
楼主能不能分享一下源码
发表于 2020-3-6 09:44 来自手机 | 显示全部楼层
本帖最后由 daileshan 于 2020-3-9 16:37 编辑
Ra8 发表于 2020-3-6 08:46
楼主能不能分享一下源码

目前还没有哦!
 楼主| 发表于 2020-3-9 12:54 | 显示全部楼层
Ra8 发表于 2020-3-6 08:46
楼主能不能分享一下源码

搞定了已经,还是在点灯的源码上修改的 ,改了几个版本,一个是一个按键控制开关,一个是两个按键单独控制开关,还有一个是附加了输入控制,根据输入内容判断开关
 楼主| 发表于 2020-3-9 12:58 | 显示全部楼层
daileshan 发表于 2020-3-5 16:43
差不多一半的数字引脚都是相连的,楼主别想了

现在已经好了,根据点灯源码修改的,还有一个平台不用写程序,全是图形界面,手机上就搞定了,程序应该都是直接包含在库里了。可以试一下这个平台 Blynk
 楼主| 发表于 2020-3-9 13:01 | 显示全部楼层
Ra8 发表于 2020-3-6 08:46
楼主能不能分享一下源码

不会写可以试一下这个平台Blynk,不用写程序,图形化界面,只需设置那个引脚给什么电平就可以了
79527089ba5fd1317ba976350b035de.jpg
 楼主| 发表于 2020-3-9 14:09 | 显示全部楼层
Ra8 发表于 2020-3-6 08:46
楼主能不能分享一下源码

功能是可以实现,不知道稳定把
#define BLINKER_WIFI

#include <Blinker.h>
BlinkerButton Button1("btc1");   
BlinkerButton Button2("btc2");   
BlinkerButton Button3("btc3");  
BlinkerButton Button4("btc4");   
BlinkerButton Button5("btc5");  
BlinkerButton Button6("btc6");
BlinkerButton Button7("btc7");   
BlinkerButton Button8("btc8");  
BlinkerText Text1("text_1");

char i;

char auth[] = "******";
char ssid[] = "OrayBox-D5D6"; //caiyq52-改成自己的WIFI名称
char pswd[] = "123456789";  //caiyq52-改成自己的WIFI密码

  bool oState[8] = { false };    //设置8路开关控制

void dataRead(const String & data)          // 如果未绑定的组件被触发,则会执行其中内容
{
    BLINKER_LOG("Blinker readString: ", data);

    Blinker.vibrate();

    uint32_t BlinkerTime = millis();

    Blinker.print("millis", BlinkerTime);
}

void button1_callback(const String & state)     //点灯app内控制按键触发
{

        BLINKER_LOG("get button state: ", state);
        digitalWrite(D0, !digitalRead(D0));
}

void button2_callback(const String & state)     //点灯app内控制按键触发
{
   BLINKER_LOG("get button state: ", state);
        digitalWrite(D1, !digitalRead(D1));
}

void button3_callback(const String & state)     //点灯app内控制按键触发
{
    BLINKER_LOG("get button state: ", state);
        digitalWrite(D2, !digitalRead(D2));
}


void button4_callback(const String & state)     //点灯app内控制按键触发
{

        BLINKER_LOG("get button state: ", state);
        digitalWrite(D3, !digitalRead(D3));
}

void button5_callback(const String & state)     //点灯app内控制按键触发
{
   BLINKER_LOG("get button state: ", state);
        digitalWrite(D4, !digitalRead(D4));
}

void button6_callback(const String & state)     //点灯app内控制按键触发
{
    BLINKER_LOG("get button state: ", state);
        digitalWrite(D5, !digitalRead(D5));
}

void button7_callback(const String & state)     //点灯app内控制按键触发
{
   BLINKER_LOG("get button state: ", state);
        digitalWrite(D6, !digitalRead(D6));
}

void button8_callback(const String & state)     //点灯app内控制按键触发
{
    BLINKER_LOG("get button state: ", state);
        digitalWrite(D7, !digitalRead(D7));
}


void setup()
{
    Serial.begin(115200);
    BLINKER_DEBUG.stream(Serial);

    pinMode(D0, OUTPUT);
    digitalWrite(D0, LOW);
    pinMode(D1, OUTPUT);
    digitalWrite(D1, LOW);
    pinMode(D2, OUTPUT);
    digitalWrite(D2, LOW);
    pinMode(D3, OUTPUT);
    digitalWrite(D3, LOW);
    pinMode(D4, OUTPUT);
    digitalWrite(D4, LOW);
    pinMode(D5, OUTPUT);
    digitalWrite(D5, LOW);
    pinMode(D6, OUTPUT);
    digitalWrite(D6, LOW);
    pinMode(D7, OUTPUT);
    digitalWrite(D7, LOW);

    Blinker.begin(auth, ssid, pswd);
    Blinker.attachData(dataRead);

    Button1.attach(button1_callback);
    Button2.attach(button2_callback);
    Button3.attach(button3_callback);
    Button4.attach(button4_callback);
    Button5.attach(button5_callback);
    Button6.attach(button6_callback);
    Button7.attach(button7_callback);
    Button8.attach(button8_callback);

}

void loop()
{
    Blinker.run();
}

发表于 2020-3-9 16:39 来自手机 | 显示全部楼层
Ra8 发表于 2020-3-6 08:46
楼主能不能分享一下源码

现在有了!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-11-28 06:24 , Processed in 0.141225 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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