如何解决使用 Blynk 和 FastLED 无法通过 NodeMCU 点亮 ws2812b SMD LED
接线图:
抱歉我的图表很烂,我是新手。
我有一个 2.2A 的 5V 输入(使用万用表检查),我的数据引脚与 220Ω 电阻串联。
我能够成功连接到我的 WiFi 网络和 Blynk 的云服务器,但无法让 LED 开启或改变颜色。当我查看代码时,LED 亮了一会儿,我不知道为什么,但此后一直无法打开。
目前我只驱动 1 个 ws2812b LED。
Main.cpp:
#define BLYNK_PRINT Serial
#include <BlynkSimpleEsp8266.h>
#define FASTLED_ESP8266_RAW_PIN_ORDER
#include "FastLED.h"
#define NUM_LEDS1 60
#define LED_TYPE WS2812
#define COLOR_ORDER GRB
CRGB leds1[NUM_LEDS1];
char auth[] = "xxxxx";
char ssid[] = "xxx";
char pass[] = "xxxx";
#define PIN1 D2
int data=255;
int r,g,b;
void setup() {
Serial.begin(9600);
WiFi.begin(ssid,pass);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println("");
Serial.println("WiFi connected");
Serial.println("IP address: ");
Serial.println(WiFi.localIP());
Blynk.begin(auth,ssid,pass);
Blynk.connect(3333);
while (Blynk.connect() == false) {
// Wait until connected
}
Serial.println("Connected to Blynk server");
FastLED.addLeds<LED_TYPE,PIN1,COLOR_ORDER>(leds1,NUM_LEDS1).setCorrection( TypicalLEDStrip );
}
void static1(int r,int g,int b,int brightness) {
FastLED.setBrightness(brightness);
for (int i = 0; i < NUM_LEDS1; i++) {
leds1[i] = CRGB(r,b);
}
FastLED.show();
}
BLYNK_WRITE(V3) {
r = param[0].asInt();
g = param[2].asInt();
b = param[2].asInt();
static1(r,b,data);
}
void loop() {
Blynk.run();
}
BLYNK_WRITE(V2) {
data = param.asInt();
static1(r,data);
}
解决方法
已解决...不需要 220 欧姆电阻器,因为板上有一个电阻器。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。