【搬运】Blynk控制Atom灯光动画-Arduino中文社区 - Powered by Discuz!

Arduino中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 2082|回复: 0

【搬运】Blynk控制Atom灯光动画

[复制链接]
发表于 2020-4-26 13:41 | 显示全部楼层 |阅读模式
本帖最后由 vany5921 于 2020-4-26 13:44 编辑

『Blynk』应用程序设置
在智能手机上安装 Blynk 应用程序。
您需要注册一个帐户。
https://blynk.io/en/getting-started
创建新项目。 HARDWRE MODEL 选择 ESP32 开发板。
连接类型已选择 BLE。 当然,WiFi 通信也是可能的。
AUTH TOKEN 在创建 Arduino 代码时使用(发送到您注册的帐户的电子邮件地址)。
Screenshot_20200422_152441_cc.blynk_.jpg

放置 BLE 和 zeRGBa 和文本输入小部件。

Screenshot_20200422_152552_cc.blynk_.jpg
允许在 zeRGBa 小部件中设置 LED 颜色。
OUTUPUT 选择 MERGE。 每个最小值为 0,最大值为 255。
SEND ON RELEASE 已关闭,以便随时传输数据。
在这里,我们将其输出到虚拟引脚 V0。
Screenshot_20170618-193259.png
设置文本输入小部件中显示的字符。
在这里,我们将其输出到虚拟引脚 V1。
Screenshot_20200422_152622_cc.blynk_.jpg

『Arduino代码』
使用以下 Blynk Arduino 库进行编程。 版本为 0.6.1。
我们还使用FastLED_NeoMatrix库在 M5ATOM 矩阵 LED 上显示字符。要使用 FastLED NeoMatrix 库,还需要Adafruit-GFX。在 Arduino IDE 的库管理器中安装 FastLED NeoMatrix 时,将同时安装所需的库。使用草图示例 -> Blynk -> Boards_Bluetooth ->ESP32_BLE代码。我们还使用 Adafruit-GFX 库的 Org_01字体作为显示字体。
[mw_shl_code=arduino,true]#define BLYNK_PRINT Serial
#define BLYNK_USE_DIRECT_CONNECT

#include <FastLED.h>
#include <FastLED_NeoMatrix.h>
#include <Fonts/Org_01.h>

#include <BlynkSimpleEsp32_BLE.h>
#include <BLEDevice.h>
#include <BLEServer.h>

// You should get Auth Token in the Blynk App.
// Go to the Project Settings (nut icon).
char auth[] = "Blynk 密钥";

#define PIN 27
#define mw 5
#define mh 5
#define NUMMATRIX (mw*mh)
#define Bright 20

CRGB matrixleds[NUMMATRIX];

FastLED_NeoMatrix *matrix = new FastLED_NeoMatrix(matrixleds, mw, mh,
  NEO_MATRIX_TOP     + NEO_MATRIX_LEFT +
    NEO_MATRIX_ROWS + NEO_MATRIX_PROGRESSIVE );

int ledR = 255;
int ledG = 0;
int ledB = 0;
int x    = mw;
String textIn = "H M G";


//ヴァーチャルピンV0 LED色情報
BLYNK_WRITE(V0) {
  ledR = param[0].asInt();
  ledG = param[1].asInt();
  ledB = param[2].asInt();
  Serial.print(  "ledR: ");
  Serial.print(ledR);
  Serial.print(  " ledG: ");
  Serial.print(ledG);
  Serial.print(  " ledB: ");
  Serial.println(ledB);
}

//Text Inputデータ受信
BLYNK_WRITE(V1) {
  textIn = param.asStr();
  Serial.println(textIn);
}


void setup(){
  // Debug console
  Serial.begin(115200);
  Serial.println("Waiting for connections...");

  Blynk.setDeviceName("Blynk");
  Blynk.begin(auth);

  matrix->setFont(&Org_01);

  FastLED.addLeds<NEOPIXEL,PIN>(matrixleds, NUMMATRIX);
  matrix->begin();
  matrix->setTextWrap(false);
  matrix->setBrightness(Bright);
  matrix->setTextColor(matrix->Color(ledR, ledG, ledB));
}

void loop(){
  Blynk.run();
  
  matrix->fillScreen(0);
  matrix->setCursor(x, 4);
  matrix->print(textIn);
  int len = -6*textIn.length();
  if(--x < len) {
    x = matrix->width();
    matrix->setTextColor(matrix->Color(ledR, ledG, ledB));
  }
  matrix->show();
  delay(100);
}[/mw_shl_code]

LED 亮度设置为 20。在虚拟引脚 V0 中,从 Blynk 应用程序获取 LED颜色信息,并在虚拟引脚 V1 中接收文本输入小部件的字符数据。L. 24-26 设置 LED 矩阵。在此处指定矩阵的宽度、高度(5 x 5)和配置。有关详细信息,请参阅https://github.com/marcmerlin/FastLED_NeoMatrix

『BLE连接』
单击 Blynk 项目的 BLE 小部件进行设置。
Screenshot_20171222-211651-756x1024.png
单击"连接 BLE 设备",然后在显示"Blynk"时选择"确定"以连接。 Screenshot_20171222-211659-792x1024.png
Screenshot_20171222-211718-748x1024.png


Screenshot_20171222-211651-756x1024.png
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-11-28 08:25 , Processed in 0.079436 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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