【已废弃】使用blinker制作一个手机控制的蓝牙氛围灯-Arduino中文社区 - Powered by Discuz!

Arduino中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 10442|回复: 3

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

 关闭 [复制链接]
发表于 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中  
蓝牙氛围灯示例程序如下:  

[mw_shl_code=cpp,true]#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);
}[/mw_shl_code]


控制设备
1. 在**我的设备**页面点击设备,进入控制面板
2. 点击右上角 编辑界面 按钮
3. 添加 **RGB组件**和**滑动条组件**
4. 点击**RGB组件**将数据键名修改为“rgb”;点击**滑动条组件**将数据键名修改为“SliderKey”
5. 点击界面右上角保存界面布局
6. 操作组件即可控制彩灯了
发表于 2018-4-24 08:27 | 显示全部楼层
不错,看看大佬操作。
发表于 2018-4-24 10:50 | 显示全部楼层
厉害了 大佬
发表于 2018-9-6 13:13 | 显示全部楼层
感觉挺有意思的 学习一下!!!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|Archiver|手机版|Arduino中文社区

GMT+8, 2024-11-28 03:30 , Processed in 0.309763 second(s), 19 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表