This example takes the Wemos Mini Ws2812B example a bit further on and use an 8 LED Neopixel strip
Here is an image of the strip we used
Layout
A simple connection required for this one, you connect 3v3 to 5v / Vcc of the strip, Gnd goes to Gnd and you need an I/O line to go to the DIN. I use D8 in the examples below.
Here is a layout to give you the idea
Code Examples
A couple of code examples
[codesyntax lang=”cpp”]
#include <Adafruit_NeoPixel.h> #define PIN D8 //the Wemos WS2812B RGB shield has 1 LED connected to pin 2 Adafruit_NeoPixel pixels = Adafruit_NeoPixel(8, PIN, NEO_GRB + NEO_KHZ800); void setup() { pixels.begin(); // This initializes the NeoPixel library. } void loop() { int led; for(led=0; led <=8; led++) { setColor(led,255,0,0,100); //red } for(led=0; led <=8; led++) { setColor(led,0,255,255,100); // } for(led=0; led <=8; led++) { setColor(led,255,0,255,100); // } } //simple function which takes values for the red, green and blue led and also //a delay void setColor(int led, int redValue, int greenValue, int blueValue, int delayValue) { pixels.setPixelColor(led, pixels.Color(redValue, greenValue, blueValue)); pixels.show(); delay(delayValue); }
[/codesyntax]
And another example
[codesyntax lang=”cpp”]
#include <Adafruit_NeoPixel.h> #define PIN D8 Adafruit_NeoPixel pixels = Adafruit_NeoPixel(8, PIN, NEO_GRB + NEO_KHZ800); void setup() { pixels.begin(); // This initializes the NeoPixel library. } void loop() { int led; for(led=0; led <=7; led++) { setColor(led,255,0,0,100); //red } for(led=0; led <=7; led++) { setColor(led,0,0,0,100); //switch them off } } //simple function which takes values for the red, green and blue led and also //a delay void setColor(int led, int redValue, int greenValue, int blueValue, int delayValue) { pixels.setPixelColor(led, pixels.Color(redValue, greenValue, blueValue)); pixels.show(); delay(delayValue); }
[/codesyntax]
a random color example
[codesyntax lang=”cpp”]
#include <Adafruit_NeoPixel.h> #define PIN D8 //the Wemos WS2812B RGB shield has 1 LED connected to pin 2 Adafruit_NeoPixel pixels = Adafruit_NeoPixel(8, PIN, NEO_GRB + NEO_KHZ800); void setup() { pixels.begin(); // This initializes the NeoPixel library. randomSeed(analogRead(0)); } void loop() { rndColor(100); } //simple function which takes values for the red, green and blue led and also //a delay void setColor(int led, int redValue, int greenValue, int blueValue, int delayValue) { pixels.setPixelColor(led, pixels.Color(redValue, greenValue, blueValue)); pixels.show(); delay(delayValue); } void rndColor(int delayValue) { int led = random(0,7); int redValue = random(0, 255); int greenValue = random(0, 255); int blueValue = random(0, 255); pixels.setPixelColor(led, pixels.Color(redValue, greenValue, blueValue)); pixels.show(); delay(delayValue); }
[/codesyntax]
Electronics Projects with the ESP8266 and ESP32: Building Web Pages, Applications, and WiFi Enabled Devices
https://lededitpro.com/product/electronics-projects-with-the-esp8266-and-esp32-building-web-pages-applications-and-wifi-enabled-devices-pdf/