查看: 4467|回复: 3

[分享] 【已废弃】使用blinker制作一个手机控制的蓝牙氛围灯

 关闭 [复制链接]
  • TA的每日心情
    郁闷
    2018-12-6 22:21
  • 签到天数: 48 天

    [LV.5]常住居民I

    发表于 2018-4-23 22:45 | 显示全部楼层 |阅读模式
    blinker升级到全新的2.0版本,本教程基于1.0,现已废弃


    本示例将展示如何制作一个蓝牙控制的可调光变色的灯  



    准备工作  
    硬件准备  

    将串口BLE模块的 TXD连接到Arduino的2号引脚,RXD连接到UNO的3号引脚
    将ws2812灯条的数据口接到Arduino的8号引脚,5V\GND接到Arduino的5V\GND


    软件准备
    **下载并安装Arduino IDE**  
    [点击去下载](https://www.arduino.cn/thread-5838-1-1.html)  

    **下载并加载Blinker-library**  
    [点击去下载](https://github.com/blinker-iot/blinker-library)  

    **下载并加载Adafruit_NeoPixel**  
    [点击去下载](https://github.com/adafruit/Adafruit_NeoPixel)  

    **下载并安装blinker APP**  
    android下载:[点击下载](https://github.com/blinker-iot/app-release)  
    IOS下载:app store中搜索“blinker”下载  

    添加设备  
    1. 确保蓝牙模块已通电  
    2. 在blinker app中,点击右上角的“+”进入添加设备页面  
    3. 点击选择 Arduino >>> 蓝牙接入
    4. 等待搜索设备  
    5. 点击选择要接入的设备  

    编译上传示例程序  
    将示例程序上传到Arduino中  
    蓝牙氛围灯示例程序如下:  

    kittenblock中小学创客名师推荐的图形化编程软件

    #define BLINKER_PRINT        Serial
    #define BLINKER_BLE
    
    #define RGB1            "rgb"
    #define SLIDER_1        "SliderKey"
    
    #include <Blinker.h>
    
    #include <Adafruit_NeoPixel.h>
    #ifdef __AVR__
      #include <avr/power.h>
    #endif
    
    #define PIN            8
    #define NUMPIXELS      9
    Adafruit_NeoPixel pixels = Adafruit_NeoPixel(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);
    
    void setup()
    {
        Serial.begin(115200);
    
        pinMode(LED_BUILTIN, OUTPUT);
        digitalWrite(LED_BUILTIN, LOW);
        
        Blinker.begin();
        Blinker.wInit(RGB1, W_RGB);
        Blinker.wInit(SLIDER_1, W_SLIDER);
        pixels.begin();
    }
    
    void loop()
    {
        Blinker.run();
    
        if (Blinker.available()) {
            BLINKER_LOG2("Blinker.readString(): ", Blinker.readString());
    
            Blinker.vibrate();
            
            uint32_t BlinkerTime = millis();
            Blinker.print(BlinkerTime);
            Blinker.print("millis", BlinkerTime);
        }
    
        uint8_t colorR = Blinker.rgb(RGB1,R);
        uint8_t colorG = Blinker.rgb(RGB1,G);
        uint8_t colorB = Blinker.rgb(RGB1,B);
    
        uint8_t brightness = Blinker.slider(SLIDER_1);
    
        BLINKER_LOG2("Red color: ", colorR);
        BLINKER_LOG2("Green color: ", colorG);
        BLINKER_LOG2("Blue color: ", colorB);
        BLINKER_LOG2("brightness: ", brightness);
    
        colorR = map(colorR, 0, 255, 0, brightness);
        colorG = map(colorG, 0, 255, 0, brightness);
        colorB = map(colorB, 0, 255, 0, brightness);
    
        for(int i=0;i<NUMPIXELS;i++){
            pixels.setPixelColor(i, pixels.Color(colorR,colorG,colorB));
            pixels.show();
        }
    
        Blinker.delay(100);
    }



    控制设备
    1. 在**我的设备**页面点击设备,进入控制面板
    2. 点击右上角 编辑界面 按钮
    3. 添加 **RGB组件**和**滑动条组件**
    4. 点击**RGB组件**将数据键名修改为“rgb”;点击**滑动条组件**将数据键名修改为“SliderKey”
    5. 点击界面右上角保存界面布局
    6. 操作组件即可控制彩灯了
    如果以上内容对你有帮助,你可以通过打赏支持作者
  • TA的每日心情
    擦汗
    2018-6-5 16:41
  • 签到天数: 40 天

    [LV.5]常住居民I

    发表于 2018-4-24 08:27 | 显示全部楼层
    不错,看看大佬操作。
    打赏作者鼓励一下!
  • TA的每日心情
    无聊
    2018-5-9 13:38
  • 签到天数: 1 天

    [LV.1]初来乍到

    发表于 2018-4-24 10:50 | 显示全部楼层
    厉害了 大佬
  • TA的每日心情
    无聊
    2018-9-13 10:51
  • 签到天数: 3 天

    [LV.2]偶尔看看I

    发表于 2018-9-6 13:13 | 显示全部楼层
    感觉挺有意思的 学习一下!!!
    您需要登录后才可以回帖 登录 | 立即注册  

    本版积分规则

    热门推荐

    OLED 128*64自制可达10000000个选项的菜单(已更新)
    OLED 128*64自制可达10000
    OLED 128*64自制可达10000000个选项的菜单 温馨提示: 建议占个楼再食用本帖子
    这个怎么整?标点都是英文的
    这个怎么整?标点都是英文
    a=a+1改成a++也不行
    [WiFiduino-8266开发板测试]三、测试IO口
    [WiFiduino-8266开发板测
    首先测试IO口的关系,板载正面的D0~D15[D14,D15没有,相同的位置写的是D4,D5],反面
    求助,arduino nano发热严重
    求助,arduino nano发热严
    我有一块arduino nano板,装在一个扩展板上(如下图),用扩展板上的外接电源接口(资
    [限时福利]5分钟带你快速了解新一代开发板:M5STACK
    [限时福利]5分钟带你快速
    一、什么是M5Stack M5Stack是一种模块化、可堆叠扩展的开发板,每个模块
    Copyright   ©2015-2016  Arduino中文社区  Powered by©Discuz!   ( 蜀ICP备14017632号-3 )
    快速回复 返回顶部 返回列表