美文网首页
远程和本地都有了

远程和本地都有了

作者: 招风小妖怪 | 来源:发表于2019-11-28 20:36 被阅读0次
    #define BLINKER_PRINT Serial
    #define BLINKER_WIFI
    
    #include <Blinker.h>
    
    char blinker_auth[] = "1e78d64ea06a";//输入blinker密钥//
    char blinker_ssid[] = "bad123";
    char blinker_pswd[] = "1234567890";
    
    int buttonPin = 0; // 按键的管脚定义
    int lightPin    = 12;  // 大灯
    
    int lightMode=0;//等的不同档位
    
    // 新建组件对象
    BlinkerButton Button1("btn1");
    BlinkerNumber Number1("num-abc");
    
    int counter = 0;
    
    // 按下按键即会执行该函数
    void button1_callback(const String & state) {
        BLINKER_LOG("get button state: ", state);
        digitalWrite(lightPin, !digitalRead(lightPin));
    }
    
    // 如果未绑定的组件被触发,则会执行其中内容
    void dataRead(const String & data)
    {
        BLINKER_LOG("Blinker readString: ", data);
        counter++;
        Number1.print(counter);
    }
     // 初始化blinker
    void blinkerStart()
    {
      // 初始化blinker
        Blinker.begin(blinker_auth, blinker_ssid, blinker_pswd);
        Blinker.attachData(dataRead);//没有绑定的控件 函数注册
        Button1.attach(button1_callback);//按钮处理 函数注册
    }
    //按键修改亮度
    void exchangeLightModel()
    {
      lightMode++;//改变模式
      if(lightMode==4)
      {  
        lightMode=0;
      }
      if(lightMode==0)//模式0,关闭灯
      {
        analogWrite(lightPin, 0);
      }
      else if(lightMode==1)//模式1,一档亮度
      {
        analogWrite(lightPin, 300);
      }
      else if(lightMode==2)//模式2,二档亮度
      {
        analogWrite(lightPin, 600);
      }
      else if(lightMode==3)//模式3,三档亮度
      {
        analogWrite(lightPin, 1023);
      }
    } 
    void setup() {
        // 初始化串口
        Serial.begin(115200);
    
        #if defined(BLINKER_PRINT)
            BLINKER_DEBUG.stream(BLINKER_PRINT);
        #endif
    
        // 初始化有LED的IO
        pinMode(lightPin, OUTPUT);
        pinMode(buttonPin, INPUT_PULLUP); //设置按键管脚上拉输入模式
        digitalWrite(lightPin, LOW);
    
        blinkerStart();//初始化blinker 配置WiFi 远程按钮等信息
    }
    
    void loop() {
        Blinker.run();
         //如果按键按下
      if (digitalRead(buttonPin) == LOW) { // 若按键被按下
        delay(100);//延时消抖//
        if (digitalRead(buttonPin) == LOW) { // 若按键被按下
          exchangeLightModel();
          while(digitalRead(buttonPin) == LOW);//等待按键松开
        }
      }
    }
    

    相关文章

      网友评论

          本文标题:远程和本地都有了

          本文链接:https://www.haomeiwen.com/subject/wldiwctx.html