查看: 312|回复: 0

[分享] blinker滑块控制RGB三色LED灯亮度和色彩

[复制链接]
  • TA的每日心情
    开心
    2019-8-23 06:06
  • 签到天数: 300 天

    [LV.8]以坛为家I

    发表于 2019-8-9 13:41 | 显示全部楼层 |阅读模式
        目前关于blinker滑块应用的例程并不多,通过学习blinker滑块示例程序以及在奈何老师的指导下终于试成了用blinker滑块来控制单个LED灯的亮暗.照猫画虎近而
    实现了用三个滑块控制RGB三色LED灯亮度和色彩.程序如下:

    #define BLINKER_WIFI

    #include <Blinker.h>

    char auth[]="efca902628e4";
    char ssid[]="*******";
    char pswd[]="**********";

    #define Slider_1 "SliderKey1"
    #define Slider_2 "SliderKey2"
    #define Slider_3 "SliderKey3"
    BlinkerSlider Slider1(Slider_1);
    BlinkerSlider Slider2(Slider_2);
    BlinkerSlider Slider3(Slider_3);
    int i=0,j=0,k=0;
    void slider1_callback(int32_t value)
    {
        BLINKER_LOG("get slider value: ", value);
        i=value;
    }
    void slider2_callback(int32_t value)
    {
        BLINKER_LOG("get slider value: ", value);
        j=value;
    }
    void slider3_callback(int32_t value)
    {
        BLINKER_LOG("get slider value: ", value);
        k=value;
    }
    void dataRead(const String & data)
    {
        BLINKER_LOG("Blinker readString: ", data);

        Blinker.vibrate();
       
        uint32_t BlinkerTime = millis();
        Blinker.print(BlinkerTime);
        Blinker.print("millis", BlinkerTime);
       
    }

    void setup()
    {
        Serial.begin(115200);
        BLINKER_DEBUG.stream(Serial);
         pinMode(D3,OUTPUT);
         pinMode(D4,OUTPUT);
         pinMode(D5,OUTPUT);

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

          Slider1.attach(slider1_callback);
          Slider2.attach(slider2_callback);
          Slider3.attach(slider3_callback);
    }

    void loop()
    {

      analogWrite(D3,i);//R
      analogWrite(D4,j);//G
      analogWrite(D5,k);//B
        Blinker.run();
      
    }
        补充说明的是blinker app上各滑块数值大小为0-1000,我用的arduino板是wemos d1.PWM端口输出最大电压为3V不能达到蓝绿LED电压的要求同时RGB三色LED灯品种
    功率不同所以要通8050三极管放大电流驱动RGB三色LED灯.此例程仅供参考不当之处恳请大家批评指正.

    打赏作者鼓励一下!
    您需要登录后才可以回帖 登录 | 立即注册  

    本版积分规则

    热门推荐

    一直显示'Serial' was not declared in this scope,求前辈解答谢谢
    一直显示'Serial'
    做了一个温控装置的蓝牙模块时遇到的问题,
    [限时福利]5分钟带你快速了解新一代开发板:M5STACK
    [限时福利]5分钟带你快速
    一、什么是M5Stack M5Stack是一种模块化、可堆叠扩展的开发板,每个模块
    【Arduino】108种传感器模块系列实验(97)---0.96寸OLED液晶屏
    【Arduino】108种传感器模
    37款传感器与模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是
    【原创】全球最小口袋3D打印机mini one直播教程贴
    【原创】全球最小口袋3D打
    最近闲得蛋疼,没事搞个掌上3D打印机,先放效果图吧。 搞了半天,终于能正常打印,
    教你让OLED动起来!多重字符串版!
    教你让OLED动起来!多重字
    大家都知道:arduino单片机是单线程的 而上次教程中的多段字符串的运行速度必须一致
    Copyright   ©2015-2016  Arduino中文社区  Powered by©Discuz!   ( 蜀ICP备14017632号-3 )
    快速回复 返回顶部 返回列表