Winter Themed Light Display Shadow Box
350 Views, 1 Favorites, 0 Comments
Winter Themed Light Display Shadow Box
Hi my name is Kristen and I made a winter themed light display shadow box! Winter is my favorite season, so I designed a winter scene alongside lights for a nice display. Every time a button on the CPB is pressed, the light changes color and if the button is held down, the lights will continuously change color. The user can change the brightness of the light using the dial on the potentiometer. The user can also turn off the lights by tapping a touchpad on the CPB.
Supplies
For the box:
- Laser Cutter
- 1/8" Baltic Birch
- Clear Acrylic
- Clear glue/Hot glue
- Wood glue
- Paint
- Paper
- Marker
For the circuit:
- Circuit Playground Bluefruit with Circuit Python installed
- Potentiometer
- LED light strip
- Battery pack
- 3 AAA batteries
- Alligator clips
Laser Cut the 1/8" Baltic Birch Materials
The wood materials consist of the main box that holds everything in, a smaller box and a square wood panel with snowflake cutouts in them.
You will laser cut a 6x4x6 box, a 6x4x2 box, and a 5.9x5.9 panel with snowflake cutouts. (When laser cutting the snowflake panel, save about 6 snowflake scraps for later)
Laser Cut the Acrylic Materials
The acrylic materials consist of the two winter themed graphics: the house and the tree. First, you will find graphics of your choosing online. Then, you will create borders around them to cut them out as panels.
Putting the Box Together
The box will fit together with its grooves, but it is best to use wood glue for this project so that everything is secure. Line the edges of the box with wood glue and press them together. Leave alone until dry. Do the same with the smaller box on top. Once both are dry, glue the smaller box on top of the larger box, with its opening facing the opposite way of the opening of the large box.
Once dry, line the LED strip along the edges of the box. It should wrap around completely, fitting perfectly well, without having to tape them to the sides. Feed the wires through the small hole at the top of the box. Next, place your snowflake wood panel on top of where the LEDs lie and use clear glue to glue the panel to the base of the box. Take a piece of printer paper and measure it to the size of snowflake panel. Glue this sheet of paper (using clear glue) onto the snowflake panel.
Before gluing the house acrylic panel to the base of the box with clear glue, take a black marker (sharpie) and draw over the white engraved house that was just laser cut. This will ensure that it can be seen with the lights and design in the background. Space this panel out from the panel you just glued. Do the same with the next smaller tree acrylic panel. You do not need to draw over the tree with marker. Allow to dry.
Decorate and Paint!
Place your snowflake scraps as you wish and glue them using wood glue. I placed mine on the sides of the box. Use a paint color of your choosing and paint your box! I chose to do blue paint and use an ombre design as I painted towards the top of the box. Then, I painted the snowflakes on the sides white to contrast with the blue paint.
Write Your Code
# Kristen Chung MakeArt Proj
import board, neopixel, time
import digitalio, touchio
import adafruit_lis3dh
import busio
from rainbowio import colorwheel
from analogio import AnalogIn
from adafruit_led_animation.color import (
AMBER, #(255, 100, 0)
AQUA, # (50, 255, 255)
BLACK, #OFF (0, 0, 0)
BLUE, # (0, 0, 255)
CYAN, # (0, 255, 255)
GOLD, # (255, 222, 30)
GREEN, # (0, 255, 0)
JADE, # (0, 255, 40)
MAGENTA, #(255, 0, 20)
OLD_LACE, # (253, 245, 230)
ORANGE, # (255, 40, 0)
PINK, # (242, 90, 255)
PURPLE, # (180, 0, 255)
RED, # (255, 0, 0)
TEAL, # (0, 255, 120)
WHITE, # (255, 255, 255)
YELLOW, # (255, 150, 0)
RAINBOW # a list of colors to cycle through
# RAINBOW is RED, ORANGE, YELLOW, GREEN, BLUE, and PURPLE ((255, 0, 0), (255, 40, 0), (255, 150, 0), (0, 255, 0), (0, 0, 255), (180, 0, 255))
)
INDIGO = (63, 0, 255)
VIOLET = (127, 0, 255)
colors = [RED, MAGENTA, ORANGE, YELLOW, GREEN, JADE, BLUE, INDIGO, VIOLET, PURPLE, BLACK]
strip_pin = board.A1
strip_num_lights = 30
strip = neopixel.NeoPixel(strip_pin, strip_num_lights)
button_A = digitalio.DigitalInOut(board.BUTTON_A)
button_A.switch_to_input(pull=digitalio.Pull.DOWN)
touchpad = touchio.TouchIn(board.A5)
potentiometer = AnalogIn(board.A3)
def lights():
global wheel_running
global wheel_value
brightness = potentiometer.value * (1.0/65520)
strip.brightness = brightness
if wheel_running:
strip.fill(colorwheel(wheel_value))
time.sleep(0.01)
wheel_value += 1
if wheel_value > 255:
wheel_value = 0
if button_A.value == False:
while button_A.value == False:
pass
wheel_running = True
if touchpad.value:
if wheel_running:
strip.fill((0, 0, 0))
wheel_running = False
print("lights off")
return
return
wheel_running = False
wheel_value = 0
strip.fill((0, 0, 0))
while True:
lights()
Put Your Code on Your CPB and Wire Everything
Plug in your CPB to your computer and save the code to your CPB as code.py. Run it to ensure that it works while plugged in to the box and your computer. Now, you can unplug it from your computer and the code is saved on your CPB! Wire everything to the CPB as shown and described below.
Wiring for the LED strip
- Black to GND
- White to A1
- Red to VOUT
Wiring for the Potentiometer
- Black to GND
- White to A3
- Red to 3.3v
Place all your devices and materials in the small box above the large, main box so that they can still be accessed by the user, but hidden from the main display.
Final Project!
Congrats! You made your very own shadow box light display. Here is a video of mine!