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

    本版积分规则

    热门推荐

    【项目】基于Arduino Nano的多功能桌面感应垃圾桶
    【项目】基于Arduino Nano
    基于Arduino Nano的多功能桌面感应垃圾桶随着大学生活不断往前迈进,宿舍桌面上的杂物
    智能物联网花盆
    智能物联网花盆
    打坏了一个费时5小时 3D打印的花盆,耗时22小时 下载:Kittenblock软件,安装、运
    呼吸灯实验
    呼吸灯实验
    本文节选自《Arduino程序设计基础》 之前的章节已经介绍了多种方法控制LED,但单是开
    为开发板 Generic ESP8266 Module 编译时出错
    为开发板 Generic ESP8266
    第一次尝试Arduino UNO软串口通信,编译一直通不过,错误信息 “开发板 generic (平
    Arduino Uno 无法上传程序
    Arduino Uno 无法上传程序
    原来可以正常使用的Arduino Uno 板子突然不能上传程序了,硬件驱动正常,TX和RX指示灯
    Copyright   ©2015-2016  Arduino中文社区  Powered by©Discuz!   ( 蜀ICP备14017632号-3 )
    快速回复 返回顶部 返回列表