Proto-PIC

MicroPixel Edge RGB LED Add-on Board for BBC microbit

(2 reviews) Write a Review
SKU:
PPMB00116
  • MicroPixel Edge RGB LED Add-on Board for BBC microbit
  • MicroPixel Edge RGB LED Add-on Board for BBC microbit
  • MicroPixel Edge RGB LED Add-on Board for BBC microbit
  • MicroPixel Edge RGB LED Add-on Board for BBC microbit
£8.10

Description

MicroPixel Edge RGB LED Add-on Board for BBC microbit


Part of our range of microbit accessories and addons, the micropixel EDGE has 10  WS2812B (NeoPixel) RGB LEDs.
Each one of the 10 RGB LEDs are individually addressable which means you have full control to create complex lighting patterns.
Simply plug your microbit into the connector, upload your code using the neopixel library and you're good to go!
This little board goes great with our bat:bit which makes the whole thing compact and mobile.
The BBC microbit itself is not included - you will need one to get this product running and you can pick one up here!

Example code:


[code language="python" title="Random Colours micropython example"]
from microbit import *
from random import randint
import neopixel
# Setup the Neopixel strip on pin0 with a length of 10 pixels
np = neopixel.NeoPixel(pin0, 10)
while True:
for thisloop in range(0,100):
for pixel_id in range(0, 10):
red = randint(0, 50)
green = randint(0, 50)
blue = randint(0, 50)
np[pixel_id] = (red, green, blue)
np.show()
sleep(randint(10,100))
for colour in range (0,128):
for pixel_id in range(0, 10):
np[pixel_id] = (colour, 0, 0)
np.show()
sleep(10)
for colour in range (0,128):
for pixel_id in range(0, 10):
np[pixel_id] = (128 - colour, colour, 0)
np.show()
sleep(10)
for colour in range (0,128):
for pixel_id in range(0, 10):
np[pixel_id] = (0, 128-colour, colour)
np.show()
sleep(10)
[/code]
[code language="python" title="Realistic Flame Effect example in micropython (nice orange candle effect)"]
from microbit import *
import neopixel
from random import randint
# Setup the Neopixel strip on pin0 with a length of 10 pixels
np = neopixel.NeoPixel(pin0, 10)
r = 255
g = r-40
b = 40
while True:
for pixel in range(0,10):
flicker = randint(0,200)
r1 = r - flicker
g1 = g - flicker
b1 = b - flicker
if g1 < 0:
g1 = 0
if r1 < 0 :
r1 = 0
if b1 < 0 :
b1 = 0
np[pixel] = (r1 ,g1 ,b1)
np.show()
sleep(randint(0,150))
[/code]
[code language="python" title="Spooky Colours Effect example in micropython(random halloween colours)"]
from microbit import *
import neopixel
from random import randint
# Setup the Neopixel strip on pin0 with a length of 10 pixels
np = neopixel.NeoPixel(pin0, 10)
while True:
for thisloop in range(0,100):
for pixel_id in range(0, 32):
red = randint(0, 50)
green = randint(0, 50)
blue = randint(0, 50)
np[pixel_id] = (red, green, blue)
np.show()
sleep(randint(10,100))
for colour in range (0,128):
for pixel_id in range(0, 32):
np[pixel_id] = (colour, 0, 0)
np.show()
sleep(10)
for colour in range (0,128):
for pixel_id in range(0, 32):
np[pixel_id] = (128 - colour, colour, 0)
np.show()
sleep(10)
for colour in range (0,128):
for pixel_id in range(0, 32):
np[pixel_id] = (0, 128-colour, colour)
np.show()
sleep(10)
[/code]
 
[code language="jscript" title="simple accelerometer game in javascript"]
let roll = 0
let levelup = 1
let scored = 0
let position = 5
let edge = neopixel.create(DigitalPin.P0, 10, NeoPixelMode.RGB)
edge.setPixelColor(position, neopixel.colors(NeoPixelColors.Red))
edge.setBrigthness(120)
edge.show()
game.setScore(0)
basic.forever(function () {
if (position > 1 && position < 10) {
scored = 0
}
roll = input.rotation(Rotation.Roll)
if (roll < -10) {
edge.rotate(-1)
position = position + -1
edge.show()
}
if (roll > 10) {
edge.rotate(1)
position = position + 1
edge.show()
}
if (position == 0) {
position = 10
}
if (position == 11) {
position = 1
}
if (position == 1 && scored < 1) {
game.addScore(1)
scored = 1
}
if (position == 10 && scored < 1) {
game.addScore(1)
scored = 1
}
if (game.score() == 10 && levelup == 1) {
edge.clear()
edge.setPixelColor(position, neopixel.colors(NeoPixelColors.Orange))
levelup = 2
}
if (game.score() == 20 && levelup == 2) {
edge.clear()
edge.setPixelColor(position, neopixel.colors(NeoPixelColors.Yellow))
levelup = 3
}
if (game.score() == 30 && levelup == 3) {
edge.clear()
edge.setPixelColor(position, neopixel.colors(NeoPixelColors.Green))
levelup = 4
}
if (game.score() == 40 && levelup == 4) {
edge.clear()
edge.setPixelColor(position, neopixel.colors(NeoPixelColors.Blue))
levelup = 5
}
if (game.score() == 50 && levelup == 5) {
edge.clear()
edge.setPixelColor(position, neopixel.colors(NeoPixelColors.Indigo))
levelup = 6
}
if (game.score() == 60 && levelup == 6) {
edge.clear()
edge.setPixelColor(position, neopixel.colors(NeoPixelColors.Violet))
levelup = 7
}
if (game.score() == 70 && levelup == 7) {
edge.clear()
edge.setPixelColor(position, neopixel.colors(NeoPixelColors.Purple))
levelup = 8
}
if (game.score() == 80 && levelup == 8) {
edge.clear()
edge.setPixelColor(position, neopixel.colors(NeoPixelColors.White))
levelup = 9
}
if (game.score() == 90 && levelup == 9) {
edge.clear()
edge.showRainbow(position, 360)
levelup = 10
}
if (game.score() == 100 && levelup == 10) {
edge.clear()
edge.showRainbow(1, 360)
levelup = 11
game.gameOver()
}
})
[/code]

CAD Resources:

View AllClose

Additional Information

Brand:
Proto-PIC
Part Number:
PPMB00116
Barcode:
5055421084660
View AllClose

2 Reviews

  • 4
    Title of review 818

    Posted by Matt Sendorek on 22nd May 2017

    A robust and exceedingly bright display element which seems to work on the microbit either way round. My suggested improvement is to indicate more clearly which end is which for addressing!

  • 5
    Title of review 817

    Posted by Romilly Cocking on 29th Mar 2017

    I love this little add-on! It's a great way to enhance the micro:bit's display capabilities. And it's backed by Proto-Pic's super service.

View AllClose