智能家居应用教程3——调色盘-Arduino中文社区 - Powered by Discuz!

Arduino中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 958|回复: 0

智能家居应用教程3——调色盘

[复制链接]
发表于 2022-1-21 11:35 | 显示全部楼层 |阅读模式
[md]## 简介

Blinker APP中自带颜色插件,当添加颜色插件后,可以通过调整调色盘来控制实际应用中灯条对应的不同颜色。

## 器材准备

+ wifiduino主板 * 1

+ wifiduino拓展板 * 1

+ RGB灯条模块 * 2

+ 3.7V可充电电池 * 1

## 程序下载

下载程序RGBled.ino到wifiduino中

注意程序中的引脚定义及设置灯的颗数[/md]
  1. #define PIN D13 //连接RGB灯的引脚IO
  2. #define NUMPIXELS 6 //RGB灯的颗数
  3. #define RGB_1 “RGBKey” //app中颜色插件的键名
复制代码
[md]
修改程序中的 auth[]值和要连接的wifi的ssid及密码

01.jpg

下载程序到wifiduino板中。下载结束后,IDE提示栏中显示“上传成功”

02.jpg

## 完整程序[/md]
  1. #define BLINKER_WIFI

  2. #include <Blinker.h>

  3. char auth[] = "Your Device Secret Key";
  4. char ssid[] = "Your WiFi network SSID or name";
  5. char pswd[] = "Your WiFi network WPA password or WEP key";

  6. // Download Adafruit_NeoPixel library here:
  7. // https://github.com/adafruit/Adafruit_NeoPixel
  8. #include <Adafruit_NeoPixel.h>
  9. #ifdef __AVR__
  10.   #include <avr/power.h>
  11. #endif

  12. #define PIN            D13
  13. #define NUMPIXELS      6
  14. Adafruit_NeoPixel pixels = Adafruit_NeoPixel(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);

  15. #define RGB_1 "RGBKey"

  16. BlinkerRGB WS2812(RGB_1);

  17. void ws2812_callback(uint8_t r_value, uint8_t g_value, uint8_t b_value, uint8_t bright_value)
  18. {
  19.     digitalWrite(LED_BUILTIN, !digitalRead(LED_BUILTIN));
  20.     BLINKER_LOG("R value: ", r_value);
  21.     BLINKER_LOG("G value: ", g_value);
  22.     BLINKER_LOG("B value: ", b_value);
  23.     BLINKER_LOG("Rrightness value: ", bright_value);

  24.     pixels.setBrightness(bright_value);

  25.     for(int i = 0; i < NUMPIXELS; i++){
  26.         pixels.setPixelColor(i, r_value, g_value, b_value);
  27.     }
  28.     pixels.show();
  29. }

  30. void setup()
  31. {
  32.     Serial.begin(115200);
  33.     BLINKER_DEBUG.stream(Serial);

  34.     pinMode(LED_BUILTIN, OUTPUT);
  35.     digitalWrite(LED_BUILTIN, LOW);

  36.     Blinker.begin(auth, ssid, pswd);

  37.     pixels.begin();

  38.     WS2812.attach(ws2812_callback);
  39. }

  40. void loop()
  41. {
  42.     Blinker.run();
  43. }
复制代码
[md]
## 图形化编程程序
03.jpg
## blinker制定软件界面

Blinker下方添加颜色插件

04.jpg

修改数据键名,键名需要与程序里定义的一致。这里我们将其取名为“RGBKey”,显示文本为“颜色拾取”

05.jpg

编辑好后,点击右上角的勾确认编辑结束。

## 连接硬件模块

1、扩展板堆叠在wifiduino主板上

2、在程序中我们定义的是6颗RGBled,但模块上只有3课RGBled,可以将两个灯条模块进行级联。1号模块的out接口(通过3P数据线)连接在2号模块的in接口中。然后将1号模块的in接口连接在传感器扩展板上的D13接口(程序中定义)中。

3、连接完成后,插上电池,并将开关打开供电

06.jpg

## 观察现象

操作blinker app,通过拾取调色盘中的颜色,控制RGB灯的显示情况。[/md]
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-12-27 14:11 , Processed in 0.074780 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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