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

vany5921 发表于 2020-4-26 13:41

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

本帖最后由 vany5921 于 2020-4-26 13:44 编辑

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


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


允许在 zeRGBa 小部件中设置 LED 颜色。
OUTUPUT 选择 MERGE。 每个最小值为 0,最大值为 255。
SEND ON RELEASE 已关闭,以便随时传输数据。
在这里,我们将其输出到虚拟引脚 V0。

设置文本输入小部件中显示的字符。
在这里,我们将其输出到虚拟引脚 V1。


『Arduino代码』
使用以下 Blynk Arduino 库进行编程。 版本为 0.6.1。
https://github.com/blynkkk/blynk-library我们还使用FastLED_NeoMatrix库在 M5ATOM 矩阵 LED 上显示字符。要使用 FastLED NeoMatrix 库,还需要Adafruit-GFX。在 Arduino IDE 的库管理器中安装 FastLED NeoMatrix 时,将同时安装所需的库。使用草图示例 -> Blynk -> Boards_Bluetooth ->ESP32_BLE代码。我们还使用 Adafruit-GFX 库的 Org_01字体作为显示字体。#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;

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.asInt();
ledG = param.asInt();
ledB = param.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);
}
LED 亮度设置为 20。在虚拟引脚 V0 中,从 Blynk 应用程序获取 LED颜色信息,并在虚拟引脚 V1 中接收文本输入小部件的字符数据。L. 24-26 设置 LED 矩阵。在此处指定矩阵的宽度、高度(5 x 5)和配置。有关详细信息,请参阅https://github.com/marcmerlin/FastLED_NeoMatrix
『BLE连接』单击 Blynk 项目的 BLE 小部件进行设置。
单击"连接 BLE 设备",然后在显示"Blynk"时选择"确定"以连接。



页: [1]
查看完整版本: 【搬运】Blynk控制Atom灯光动画