查看: 2788|回复: 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 | 显示全部楼层
    感觉挺有意思的 学习一下!!!
    您需要登录后才可以回帖 登录 | 立即注册  

    本版积分规则

    热门推荐

    今晚闲来无事搞了下STM32 Ardunio 的SPI2 SD卡的通讯
    今晚闲来无事搞了下STM32
    看到Ardunio很火,就想用STM32F103RBT6的板子试一下。之前移植网上带系统的,竟然说超
    arduino之串口通讯
    arduino之串口通讯
    总操流程: 1、写入程序 2、测试[hr][/backcolor] 写程序[/backcolor] [*]void s
    四位数码管动态显示
    四位数码管动态显示
    代码如下;从9990到9999,然后再从9898开始 代码撸起; const unsigned char dofly_Du
    求助!GM65二维码扫描模块怎么用?
    求助!GM65二维码扫描模块
    求助!GM65二维码扫描模块怎么用? 卖家给的资料真的看不懂该怎么弄。。( ̄▽ ̄)~*
    Arduino Pro Micro 打造USB音频转 3.5mm音频转接板
    Arduino Pro Micro 打造US
    3.5mm耳机接口是PC上最常见的音频接口,因为它工艺简单、价格低廉在涉及到声音输入输
    Copyright   ©2015-2016  Arduino中文社区  Powered by©Discuz!   ( 蜀ICP备14017632号-3 )
    快速回复 返回顶部 返回列表