使用 Blynk 和 FastLED 无法通过 NodeMCU 点亮 ws2812b SMD LED

问题描述

接线图:

enter image description here

抱歉我的图表很烂,我是新手。

我有一个 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 欧姆电阻器,因为板上有一个电阻器。