The neopixel module lets you use Neopixel (WS2812) individually addressable RGB LED strips with the Microbit. Note to use the neopixel module, you need to import it separately with:
import neopixel
I used the following module which has 8 LEDs on it
Connection is straight forward 0v on the module to 0v on the Micro:bit, Vcc or 5v on the module can go to 3.3v on the Microbit and then connect the DIN on the module to Pin 0 of your Microbit
Now for various simple code examples
Code
This example will set each WS2812 to a different colour
from microbit import *
import neopixel
from random import randint
#Neopixel with 8 LEDs
neo = neopixel.NeoPixel(pin0, 8)
while True:
neo[0] = (255, 0, 0)
neo[1] = (0, 255, 0)
neo[2] = (0, 0, 255)
neo[3] = (128, 0, 0)
neo[4] = (0, 128, 0)
neo[5] = (0, 0, 128)
neo[6] = (128, 128, 0)
neo[7] = (0, 128, 128)
neo.show()
sleep(250)
This example will loop through all WS2812 LEDs and set them to red
from microbit import *
import neopixel
from random import randint
#Neopixel with 8 LEDs
neo = neopixel.NeoPixel(pin0, 8)
while True:
#Iterate over each LED in the strip
for pixel_id in range(0, len(neo)):
neo[pixel_id] = (255, 0, 0)
neo.show()
sleep(250)
Now we will loop through all Ws2812’s and set them to red, green and blue individually
from microbit import *
import neopixel
from random import randint
#Neopixel with 8 LEDs
neo = neopixel.NeoPixel(pin0, 8)
while True:
#Iterate over each LED in the strip
for pixel_id in range(0, len(neo)):
neo[pixel_id] = (255, 0, 0)
neo.show()
sleep(250)
neo[pixel_id] = (0, 255, 0)
neo.show()
sleep(250)
neo[pixel_id] = (0, 0, 255)
neo.show()
sleep(250)
And last but not least random colours, this is my favourite
from microbit import *
import neopixel
from random import randint
#Neopixel with 8 LEDs
neo = neopixel.NeoPixel(pin0, 8)
while True:
#Iterate over each LED in the strip
for pixel_id in range(0, len(neo)):
red = randint(0, 255)
green = randint(0, 255)
blue = randint(0, 255)
neo[pixel_id] = (red, green, blue)
neo.show()
sleep(250)
Links
10PCS/LOT WS2812 RGB LED Breakout Module For Arduino
WS2812 serial 5050 full-color LED Expansion Module
WS2812 WS 2811 5050 RGB LED Driver Module Board 8-Bit New