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

奈何col 发表于 2018-4-23 22:45

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

blinker升级到全新的2.0版本,本教程基于1.0,现已废弃


本示例将展示如何制作一个蓝牙控制的可调光变色的灯
https://doc.blinker-iot.com/assets/004/01-1524476759000.gif


准备工作
硬件准备

[*]Arduino UNO
[*]ble蓝牙串口模块 [点击查看可用的蓝牙模块]
[*]ws2812灯条

将串口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中
蓝牙氛围灯示例程序如下:

#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. 操作组件即可控制彩灯了

zendhao 发表于 2018-4-24 08:27

不错,看看大佬操作。

dydhyh 发表于 2018-4-24 10:50

厉害了 大佬

DoMagic 发表于 2018-9-6 13:13

感觉挺有意思的 学习一下!!!
页: [1]
查看完整版本: 【已废弃】使用blinker制作一个手机控制的蓝牙氛围灯