This is a remix I just had to do ever since I saw two awesome instructables and couldn't stop thinking about combining the two! This mashup basically combines the interface of the Light Switch Box with simple games (Simon, Whack-a-Mole, etc...) on the Arduino. Like the original author of the Light Switch Box mentions, I have no idea why toddlers love to play with light switches so much, but this project gives them their fix! I adapted the simple electronics to add the Simon Arduino game and then multiple game modes so my older kids can play too! I also made one major enhancement for the LEDs and used ping pong balls to diffuse the LEDs because it looks so much cooler than the original!
It should be an easy way to get into electronics and take it one notch further to simple Arduino'ing. Check out the original inspiration - here are the links!
Aside - My Motivation:
My 4 kids mean everything to me.
At their young ages right now (7,5,3,and 1) it takes a lot of attention and work to keep everyone sane! That doesn't leave much time for tinkering, Arduino'ing, writing Instructables, etc. But oddly enough it's those types of projects and hobbies that keep me sane. Anyone else feel similarly? For whatever sad, strange reason that my wife tries really hard to comprehend (bless her heart), I absolutely love getting sucked into a good project for hours on end that gets my creative thinking going, makes me problem-solve, and gives me the opportunity for hand's-on engineering.
And that's what I love about Instructables!!!
I get to see the passion in other's projects - so many great ideas and my mind starts racing! So at least when I gear the project towards my kids right now and involve them in the process I feel like I'm giving them a taste of the hobbies that I love. And who knows? Maybe one day they'll turn out to be some famous inventor, designer, entrepreneur, hacker, etc. But as long as they can be creative, finding passion in their work, it will all be worth it.
Let's get started!!!
Step 1: Materials and Tools
--- Hardware Store ---
- (1) 1"x10" board (Need about 12"-18")
- (4) single pole light switches
- (4) light switch wall plates
- (4) plastic "old work" electric boxes
--- Walmart or Amazon---
- (2) white ping pong balls
- (4) AA batteries
--- Electronic Components Online ---
- (4) RGB 10mm LEDs
- (1) Push button switch
- (1) Piezo buzzer (or speaker)
- (5) 100 ohm resistors
- (1) 220 ohm resistor
- (1) 4xAA battery holder
- (1) Slide switch
- (1) Arduino Uno
--- Workshop ---
- Drill with bits (1 1/2" flat boring bit, 1/2" flat boring bit, then standard 1/2", 1/4", 1/16")
- Screwdrivers (phillips and flat head)
- Tape measure
- Utility knife
Sandpaper and paint (optional)
--- Home and Electronics ---
- Soldering iron and solder
- Wire strippers
- Hot glue gun
Step 2: Draft Main Panel Layout
To create the panel you'll need a board or a box that at least has room on the main panel for 4 light switches and 4 ping pong balls. About 14" by 8" is the smallest you'd want to go to fit this. In the original Child's Toy Light Switch Box instructable Ben recommends buying a wooden box for this project, but I made do with a 1" x 10" board for now.
- Take the board (or box lid) and layout the switches and ping pong balls (18" by 9 1/4" in my design)
- Measure from the bottom of the board and mark how far up you want the switches set (1 1/2" in my design)
- Using a ruler draw in pencil a straight line across those markings
- Do the same for the top line where you want to center the ping pong balls (2" in my design)
- Next find the center of the board by measuring across the length and mark the center line
- Use symmetrical distances from the middle on each side with equal spacing between electric boxes and ping pong balls
- Sketch out the switch boxes and mark on the top line equal to the center of each switch where the ping pong ball will go
- (Note: Don't worry about the pencil lines assuming you will paint or sand the completed board.)
Step 3: Drill and Cut Panel Holes
Cutting out the electric box rectangles:
- Drill 1/4" holes in each corner of each rectangle as shown
- Cut out each rectangle using a jigsaw to connect the holes along the sides, top and botto
Preparing the Ping Pong Ball holes:
- On each of the 4 ping pong marks, first use the 1 1/2" drill bit to start the hole where the cover will go
- Warning: Here you only drill about 1/8" down into the wood!!! Just enough for a lip.
- After prepping the 1 1/2" hole, drill through the center of each hole with 1/4" bit
Step 4: Mount Electric Boxes on Panel
- Next mount each electrical box by sliding them into the hole making sure the tabs on top and bottom are tucked in next to the box.
- After making sure the electric box is completely in (flush with the front face), screw in the top and bottom.
- Make sure the tabs for these "old work" boxes end up out and grab the back of the board, making it snug.
- Warning: Don't over-tighten or you may break the plastic!!
Step 5: Wire the Switches
- Cut and strip about 1/2" off the edges of 2 wires for each light switch.
- (About 12" - 14" is the most you'll need so it can reach across the panel).
- Connect a wire to each side screw of the light switch.
Step 6: Attach Switches to Electric Boxes
- Flipping the panel over to the backside, use a screwdriver or pliers to pop out one of the top wire tabs on each of the 4 electrical boxes.
- Turning the panel back over to the front, thread the wire ends through the open tab and screw in each switch.
Step 7: Cut RGB LED Leads
I find it simplest (and maybe even cheapest) to just buy a bulk amount of RGB LEDs and then I can pick whatever color(s) I want for a project. If you already have red, blue, green, and yellow LEDs, ignore this step. For everyone else, clipping off the leads we won't be using from each LED will help us not get confused.
- On each common cathode RGB LED the longest lead is GND and will always be used
- For each LED use wire cutters/snippers to cut off the unneeded leads shown in the diagram
- As you can see in the diagram yellow is made using the red and green leads
- Note: Try not to mix up the LEDs after snipping the leads, but if you do, just refer back to diagram to tell them apart.
Step 8: Mount LEDs to Panel
Using a hot glue gun, add glue to the underside of each LED and stick the leads through the hole, gluing it to the front of the panel. (Here you will want to make sure you are putting the LED colors in the order you choose).
Step 9: Drill Holes for Push Button and Piezo
At this point I decided to add a push button switch (latching kind) to the front of the panel to assist with changing modes. If you only want to do one mode on the Arduino, you can ignore this switch.
- Drill 1/2" hole for push button switch where desired (for mine it was in line with the LEDs and center of the panel)
- Next, flip the panel over and using a 1/2" flat boring bit, drill most of the way through the wood until just the tip of the bit breaks through to the front side. (This hole is for the piezo - without a small hole the sound will be muffled.)
Step 10: Paint the Panel
Next, paint or spray paint the panel. If like me, you don't want to remove the switches, just cover them with tape. (Or if I had thought about it earlier I suppose I would have painted before mounting LEDs and Switches)
Step 11: Cut and Mount Ping Pong Ball LED Covers
Used ping pong balls will work just fine here, but should be cleaned first. For dirty ping pong balls use a little dish soap and wash with your fingers and then dry. (The ping pong balls in these pictures were very used and looked much different before I washed them!)
- Take each ping pong ball and carefully use a utility or exacto knife to cut the ball down the middle seam. (Holding the ball up to the light you should be able to see the seam).
- Next, use scissors to cut around the edge, trimming about another 1/8" - 1/4" further until the cover is able to fit into the 1 1/2" round slot.
- To mount each ping pong ball gently press one side into the slot, then ease in around the ball the edges into the slot.
- Mine fit so snugly that no glue was needed. If needed add a dab of hot glue on the back when putting them in the slot.
- Note: If the ball cover doesn't fit, keep trimming a bit off the bottom edge until you can get it in the slot. It may be good to practice mounting one of the balls to get the right size, then trim the others similarly.
Step 12: Mount the Switch Plate Covers
Mount the switch plate covers using a flat-head screwdriver.
Step 13: Attach Push Button and Piezo
- Put the push button through the front hole and hold in place to add hot glue to the back until dry.
- Remove any cover from the piezo and slide into the slot. Use hot glue to hold in place.
Step 14: Mount and Solder Resistors
So for simple electronics projects like this with a minimal number of components, I prefer a simple method of connecting resistors and wires directly to the wood board. Drilling small holes in board for the component leads allows them to hold in place easily while soldering!
- First, on the back of the board label the colors of the LEDS, and the leads with a + and - (remember the neg- side is the longest)
- Also, for the yellow LED label both positive terminals with R (red) and G (green) since it will have two leads
- Drill a 1/8" or 1/16" small hole in the wood right next to each LED lead coming out of the hole in the board
- Warning: Make sure to not drill all the way through the board to the front! Just a 1/4" - 1/2" hole where you can feed in wires.
- Gently bend over the LED leads and insert into the hole
- Next, drill a 1/8" or 1/16" small hole about an inch away from the positive+ terminal(s) on each LED
- Write the resistor size that will span this gap based on the diagram
- Next, fold or trim the resistor leads and span each gap with the appropriate resistor
- Using a soldering iron and solder, the component leads should be touching and you can now simply solder at each hole
- Last, put a dab of hot glue on each connection to better hold the components and leads to the board.
Step 15: Wire the Circuit
Follow the diagram to make connections between the LEDs, resistors, push button, piezo, light switches and Arduino. Each line that is black in the diagram is connected to ground (GND) on the Arduino. Similar to the resistors, it is easiest to drill a hole in the wood, feed all the ground wires into the hole to solder together with a single wire that will lead from the bunch to the arduino. Again, use hot glue to pin the wires to where you want on the board.
Step 16: Mount the Arduino
Position the Arduino on the back of the panel and attach to the board using screws through the small holes in the sides or strong tape.
Step 17: Add Batteries and Power Switch
If you don't want to run the board off USB power, add 4AA batteries to the circuit using a battery pack. Adding a small slide switch between the positive terminal and the Arduino will allow you to turn on and off power since a regular Arduino Uno and the LEDs will quickly run down batteries.
Step 18: Code the Arduino
The original code for Simon Says worked great for this project, but I needed to make some modifications to include a simple pass the switch through to the LEDs as well as other modes. The video shows the functionality and below is the code for the completed games.
Step 19: Test, Enjoy, and Even Customize!
With everything connected, test the circuit and functionality. I haven't yet added a back (the box) part for mine, but the kids love it! I'll end up just enclosing it with a few pieces of wood or putting the panel in a play area. Happy kid gaming! Feel free to add your own logic and games to this simple setup!