ESP8266 Blinker RGB三色灯控制

本程序通过Blinker滑动条控件控制RGB三色灯颜色,配网还是参考前面的,可手机或者app配网,也可以自己写到代码里

会三色控制了,冷暖白双色就类似了,取两个变量就可以了。

 

简单粗暴,代码如下:

/*
*Blinker控制RGB三色灯程序
*小功率三色灯珠共阴极接GND, 阳极极经限流电阻接IO口;IO口状态为高时,灯亮。
*根据LED共阴共阳,自己调整程序。
*大功率LED可以根据功率选择相应的放大器,如MOS管
*硬件ESP8266
*/

#define BLINKER_WIFI     
#define BLINKER_ESP_SMARTCONFIG //定义EspTouch/SmartConfig模式进行配网,也可以微信扫码配网

#include <Blinker.h>

//重定义引脚
#define PIN_RLED 5   
#define PIN_GLED 4
#define PIN_BLED 0

char auth[] = "APP密钥";        //设备密钥
//代码配网用这段
//char ssid[] = "WIFI SSID";        //自己wifi名称
//char pswd[] = "WIFI PSWD";        //自己wifi密码

// 新建组件对象
BlinkerSlider SliderR("Rval"); //红灯亮度滑条
BlinkerSlider SliderG("Gval"); //绿灯亮度滑条
BlinkerSlider SliderB("Bval"); //蓝灯亮度滑条


//红色输出
void sliderR_callback(int32_t value)    //滑条回调函数,滑条值范围0~1023,在APP中范围设为0~1023
{
  if(value<20)                          //如果滑条值小于20(0~20关灯),输出低电平
  {
    analogWrite(PIN_RLED,LOW);          //输出低电平
  }
  else                                  //滑条值≥20,
  {
    analogWrite(PIN_RLED,value);  
    BLINKER_LOG("get slider value: ", value);  //在APP端调试窗口输出led亮度值
  }
}

//绿色输出
void sliderG_callback(int32_t value)    //滑条回调函数,滑条值范围0~1023
{
  if(value<20)                          //如果滑条值小于20(0~20关灯),输出低电平
  {
    analogWrite(PIN_GLED,LOW);          //输出低电平
  }
  else                                  //滑条值≥20,
  {
    analogWrite(PIN_GLED,value);  
    BLINKER_LOG("get slider value: ", value);  //在APP端调试窗口输出led亮度值
  }
}

void sliderB_callback(int32_t value)    //滑条回调函数,滑条值范围0~1023
{
  if(value<20)                          //如果滑条值小于20(0~20关灯),输出低电平
  {
    analogWrite(PIN_BLED,LOW);          //输出低电平
  }
  else                                  //滑条值≥20,
  {
    analogWrite(PIN_BLED,value);  
    BLINKER_LOG("get slider value: ", value);  //在APP端调试窗口输出led亮度值
  }
}


void setup()
{
    // 初始化串口
    Serial.begin(115200);
    BLINKER_DEBUG.stream(Serial);
    BLINKER_DEBUG.debugAll();  //打开全部调试信息

    // 初始化有LED的IO
    pinMode(PIN_RLED, OUTPUT);
    pinMode(PIN_GLED, OUTPUT);
    pinMode(PIN_BLED, OUTPUT);
    digitalWrite(PIN_RLED, LOW);
    digitalWrite(PIN_GLED, LOW);
    digitalWrite(PIN_BLED, LOW);

    // 初始化blinker
    // Blinker.begin(auth, ssid, pswd);  
    Blinker.begin(auth);     //SMARTCONFIG配网函数
    //注册回调函数
    SliderR.attach(sliderR_callback);
    SliderG.attach(sliderG_callback);
    SliderB.attach(sliderB_callback);   
}

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

 

    原文作者:beizhucele
    原文地址: https://blog.csdn.net/beizhucele/article/details/115065251
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞