adafruit / Adafruit_NeoPixel

Arduino library for controlling single-wire LED pixels (NeoPixel, WS2812, etc.)
GNU Lesser General Public License v3.0
3.04k stars 1.26k forks source link

Can't control Neopixel/WS2812B led strip on ESP32 #246

Closed BJ4K3 closed 4 years ago

BJ4K3 commented 4 years ago

I have problems controlling a WS2812B led strip with the ESP32 Dev Module board. I used the sketch below (the simple example)

include

// Which pin on the Arduino is connected to the NeoPixels?

define PIN 5 // On Trinket or Gemma, suggest changing this to 1

// How many NeoPixels are attached to the Arduino?

define NUMPIXELS 10 // Popular NeoPixel ring size

// When setting up the NeoPixel library, we tell it how many pixels, // and which pin to use to send signals. Note that for older NeoPixel // strips you might need to change the third parameter -- see the // strandtest example for more information on possible values. Adafruit_NeoPixel pixels(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);

define DELAYVAL 500 // Time (in milliseconds) to pause between pixels

void setup() { pixels.begin(); // INITIALIZE NeoPixel strip object (REQUIRED) }

void loop() { pixels.clear(); // Set all pixel colors to 'off'

// The first NeoPixel in a strand is #0, second is 1, all the way up // to the count of pixels minus one. for(int i=0; i<NUMPIXELS; i++) { // For each pixel...

// pixels.Color() takes RGB values, from 0,0,0 up to 255,255,255
// Here we're using a moderately bright green color:
pixels.setPixelColor(i, pixels.Color(0, 150, 0));

pixels.show();   // Send the updated pixel colors to the hardware.

delay(DELAYVAL); // Pause before next pass through loop

} }


Once uploaded the code above, the leds are white not green and the for loop doesn't happen.

Watching with a logic analyzer I saw this:

![Neopixel Library](https://user-images.githubusercontent.com/24866089/90913936-48fc6700-e3dd-11ea-96f4-795afd902213.PNG)

The timings are wrong, aren't they?

Uploading the same sketch in an Arduino Uno Official board all works fine (naturally using the same leds).

How can I make it works? Thank you.
ladyada commented 4 years ago

https://github.com/adafruit/Adafruit_NeoPixel/issues/139