Introduction: Mini Concert Stage With Lights for Lego Minifigures
Materials Needed:
2 Sheets of 1/4inch foam core
1 Piece 8.5x11inch card stock
Tin foil
4 Neopixel lights
Gemma Arduino board
Conductive thread
Hot glue gun
Metal straight edge
X-Acto knife
Black Felt
School glue
Scotch Tape
Step 1: Building Main Stage Base
For this I cut out a 14x10inch rectangle. This will be what everything goes on top of. I then cut out two 14x1.5inch and 3 9 5/8x1.5inch piece of foam core. These will be the raising/support piece of the stage. Use your hot glue gun to attach these pieces to whichever side of your main rectangle you wish to be the bottom. Make sure you use your metal straight to cut all of the pieces so they stay straight and clean.
Step 2: Making Raised Platform on Stage
This next step is tricky. It involves LOTS of measuring and careful cutting. The top piece with the ramps of the platform is made from one single piece of foam core cut to 11x3.25inches. You want to cut a slit in the foam core to make it so you have ramps to fold down. My ramps are 2.75 inches long and 1.25 inches wide. In order to make them fold nice and easy you're going to want to cut away some of the underside foam where you are making the fold. The rest of this step is to just cut pieces of foam core for this top platform to sit on. I made sure to make the height 1.5 inches again. Secure everything to the main stage with your hot glue gun.
Step 3: Making the Columns/Supports and Attaching Them
You will need eight 1.5x8 inch foam core pieces for this. You will then need to cut these each in half hot dog style so that you have sixteen .75x8 inch pieces. Four of the supports are made my hot gluing two of these piece at each corner of the main stage. Then two of these supports are made from four of the pieces so that they for a square support. Hot glue These bigger square support pieces to the main stage so they line up with the front of the raised platform.
Step 4: Adding Ceiling to the Stage
This is simple. You just need to cut another 14x10 inch piece of foam core and hot glue it to each of the supports.
Step 5: Working on the Lights
You will need the card stock and the tinfoil for this step. I first made the fixtures for the neopixels before I sewed the circuit. This is done by cutting four 1x2 inch pieces of card stock and four .75x2 inch pieces of tinfoil. Glue the tinfoil to the card stock so that it lines up with one of the long edges of the card stock. This will make it so you have a side with no tinfoil which is what you want so it won't touch the circuit. Now you need to roll these four pieces of card stock/tinfoil into cylinders with the tinfoil on the inside and tape them with the Scotch tape. These are your four light fixtures that will go around your neopixels.
Step 6: Sewing the Circuit and Neopixels and Attaching Light Fixtures
You will need card stock, conductive thread, the gemma board, a needle, the neopixels, and the light fixtures for this step. Cut a 11x1.5 inch piece of card stock. Evenly space the four neopixels apart on the card stock and mark their spots. Now it's time to start sewing. I started sewing the negative line first. You want to make sure you space your thread lines far enough apart so they don't touch each other; meaning don't let the positive and negative lines touch. After you have all your stitching done, your neopixels should stay in place. Make sure you have your negative line going to the ground on your gemma board, your positive going to the 3vo pin, and the line the code is read on to the D1 pin or whichever pin you want your code set on(I used D1). Now you need to place a light fixture over each neopixel and hot glue them all in place. Make sure you have the side with no tinfoil touching the circuit/neopixel.
Step 7: Attaching the Row of Lights and Back Sheet of Felt
I wanted to give the lights a central focus point on the stage. To do this you will need a piece of foam core cut to 14x1.75 inches and then two small pieces cut to 1.5x5/8 inches. Center the card stock circuit on the foam core and hot glue the middle of it to the foam core. Then hot glue the small pieces to each side of the card stock and then glue them to the bigger piece of foam core. After everything has dried, you want to hot glue the bigger piece of foam core to the front of the stage ceiling and angle it to your liking. Now just glue a sheet of black felt to the back of the stage, and you have your Lego Minifigure stage! One last step and we're done!
Step 8: Code for Your Gemma Board
You need the arduino program on your computer in order to load code to your gemma board. You can get info on how to do that from http://www.arduino.cc/en/main/Software. Here is some sample code you can upload to your gemma board. Enjoy your mini concert stage!
#include
#define PIN 1
// Parameter 1 = number of pixels in strip // Parameter 2 = pin number (most are valid) // Parameter 3 = pixel type flags, add together as needed: // NEO_KHZ800 800 KHz bitstream (most NeoPixel products w/WS2812 LEDs) // NEO_KHZ400 400 KHz (classic 'v1' (not v2) FLORA pixels, WS2811 drivers) // NEO_GRB Pixels are wired for GRB bitstream (most NeoPixel products) // NEO_RGB Pixels are wired for RGB bitstream (v1 FLORA pixels, not v2) Adafruit_NeoPixel strip = Adafruit_NeoPixel(4, PIN, NEO_GRB + NEO_KHZ800);
void setup() { strip.begin(); strip.show(); // Initialize all pixels to 'off' }
void loop() { // Some example procedures showing how to display to the pixels: colorWipe(strip.Color(255, 0, 0), 50); // Red colorWipe(strip.Color(0, 255, 0), 50); // Green colorWipe(strip.Color(0, 0, 255), 50); // Blue rainbow(20); rainbowCycle(20); }
// Fill the dots one after the other with a color void colorWipe(uint32_t c, uint8_t wait) { for(uint16_t i=0; i
void rainbow(uint8_t wait) { uint16_t i, j;
for(j=0; j<256; j++) { for(i=0; i
// Slightly different, this makes the rainbow equally distributed throughout void rainbowCycle(uint8_t wait) { uint16_t i, j;
for(j=0; j<256*5; j++) { // 5 cycles of all colors on wheel for(i=0; i< strip.numPixels(); i++) { strip.setPixelColor(i, Wheel(((i * 256 / strip.numPixels()) + j) & 255)); } strip.show(); delay(wait); } }
// Input a value 0 to 255 to get a color value. // The colours are a transition r - g - b - back to r. uint32_t Wheel(byte WheelPos) { if(WheelPos < 85) { return strip.Color(WheelPos * 3, 255 - WheelPos * 3, 0); } else if(WheelPos < 170) { WheelPos -= 85; return strip.Color(255 - WheelPos * 3, 0, WheelPos * 3); } else { WheelPos -= 170; return strip.Color(0, WheelPos * 3, 255 - WheelPos * 3); } }