Introduction: Tech for Good: CPB Disney Entertainment Stand

About: Boston College Student

One of the coolest aspects of the BC Physical Computing class is that we get to partner and build projects for the Campus School. We wanted to create a fun standing entertainment gadget for a specific student that lies on a gurney everyday. Since she loves Disney and 80s music, we created a special capacitive-touch activated stand just for her to enjoy. Of course, we wanted to go big or go home and figured that lights and music was not enough. Thankfully, we were able to 3D print awesome Disney-inspired figurines and created a heaven-like mobile to spice out the stand! So excited to see her reaction and hope that it will bring her some form of joy!

Supplies

→ Essentials:

- CPB

- LED Strip

- Battery Pack and Batteries

- Speaker

- Alligator Clips

- Hot Glue Gun

- PVC Pipes

- Pool Noodle

- Capacitive Paint

→ Decorations

- Boa

- Star strings

- Colored Paper

Step 1: Physical Build Planning

This guide will break down the steps in 2 parts: physical build followed by coding and soldering gears. We thought it would be easier to follow with this breakdown!

Step 2: Acquiring Materials

Funny story.. both of us had never really build anything of such a scale before, yet we were very excited for this opportunity. We started out by doodling out our concept and proceeded to home depot to gather some pvc pipes, pool noodles, and etc.

Step 3: Cutting PVC Pipes & Circular Diorama

Once we had our materials, we headed to BC’s Maker’s Space where we learned how to cut the pvc pipes to the right sizes (we ended up cutting 4 of the pipes in half to create the base of our stand).

Next, we needed to create a light base for the diorama of 3D printed figurines. We ended up laser cutting an acrylic circle with a small hole in the middle that fits around the pvc pipes. As you can see from the picture, the blue acrylic circle was just the right size to stay upright when we attached them to the pipes.
Since we didn’t want our structure to fall forward, we decided to add more back support to the standing post.

Step 4: 3D Printing

Words cannot describe just how much we love https://www.thingiverse.com

Here are the list of figurines we gathered from this extremely useful website:

Descendants Apple: https://www.thingiverse.com/thing:3933379 Castle: https://www.thingiverse.com/thing:127748 Pirate Ship:https://www.thingiverse.com/thing:1405830 Dragon: https://www.thingiverse.com/thing:854575 Crown:https://www.thingiverse.com/thing:4380880 Treasure chest https://www.thingiverse.com/thing:3674757 Fantasy figures: https://www.thingiverse.com/thing:1779128 Mickey Mouse:https://www.thingiverse.com/thing:711926 Minnie Mouse: https://www.thingiverse.com/thing:1383833 Princess: https://www.thingiverse.com/thing:3620596

Step 5: Creating a Hanging Mobile

Get your glue guns ready! Creating this hanging mobile was extremely fun. We ended up laser cutting a thin rim to support our decorations. Our student likes pastel colors, specifically purple, so we created some origami animals as well as attached a sparkly boa to make it more festive. You could definitely create different decorations!

Our main goal was to make this stand as mesmerizing as possible, even before we attach the CPB and other gadgets (which we intend to enhance the final product). You should definitely make sure that the stand is stable before adding your attachments.

Step 6: Setting Up the CPB

Now it’s time to set up the code that will make our whole entertainment stand more interactive! There are multiple parts we incorporated into our code on the Circuit Playboard: music through speakers, lights through the striplight, and activation through a touchpad. We used Mu Editor & Circuit Python for our code. The girl we were making this for really loved 80s rock music so we chose to incorporate music to that taste. To make our audio fit into our CPB, we used Audacity to format the sound files.

Step 7: Check Out This Code That We Used

import board
import neopixel

import time

import random, digitalio, touchio

from audiopwmioimport PWMAudioOut as AudioOut

from audiocore import WaveFile

from digitalio import DigitalInOut, Direction, Pull

speaker = digitalio.DigitalInOut(board.SPEAKER_ENABLE)

speaker.direction = digitalio.Direction.OUTPUT speaker.value = True

audio = AudioOut(board.SPEAKER)

pixels = neopixel.NeoPixel(board.NEOPIXEL, 10, brightness = 0.5, auto_write=True) pixels_pin=board.NEOPIXEL pixels_num_of_light = 10

strip_pin = board.A1

strip_num_of_lights= 30

strip = neopixel.NeoPixel(strip_pin, strip_num_of_lights, brightness = 0.5, auto_write=True)

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)

MAROON = (128, 0, 0)

colors = [RED,MAGENTA, ORANGE,YELLOW,GREEN,JADE, BLUE,INDIGO,VIOLET, PURPLE]

button_A = digitalio.DigitalInOut(board.A2)

button_A.direction = digitalio.Direction.INPUT

button_A.pull = digitalio.Pull.UP

path = "drumSounds/"

def play_sound(filename):

with open(path + filename, "rb") as wave_file:

wave = WaveFile(wave_file)

audio.play(wave)

while audio.playing:

for i in range(len(colors)):

pixels.fill(colors[i])

strip.fill(colors[i])

time.sleep(0.25)

strip.fill(BLACK)

diana_sounds = ["80s.wav", "magnetic.wav"]

while True:

random_number = random.randint(-1,1)

if not button_A.value:

print("button pressed")

play_sound(diana_sounds[random_number])

Step 8: Step 6: Creating a Foot Pedal

Assuming our code is already in the CPB, we will first work on setting up the touchpad and making it accessible to Diana who will access the pad with her foot. The wire length is around 8 feet long. Thus, we first used a long wire to connect the CPB to a wooden board layered with capacitive paint. However, we soon realized that the touchpad was not conductive enough. Thus, we created a wooden foot pedal by gluing a button underneath a small wood block that we cut. To connect the wire to the CPB, we needed to sodder on the wires to the A2 touchpad. Now, whenever the wooden board is tapped, our CPB will react accordingly.

Step 9: Step 7: Get Some Soldering Work Done

Once the touchpad is completed, the majority of the work is done! Now you just need to connect the speakers, strip lights, and battery pack to the cpb and enjoy the lights and sound!

Step 10: Step 8: Putting It All Together!

Finally, we can attach all the pieces together. We wanted to make sure that our stand remains portable and cushioned against unforeseen mishaps. Thus, we covered the pipes with some pool noodles. Additionally, the Green and orange pipes are detachable as we glued down everything else but that area to ensure that it is collapsible. You can definitely attach all the pieces permanently though!