Introduction: Tardis Bookshelf With Sound and Lights

This is an instructable of how to make an 3/4 scale, 1/2 depth Tardis Bookshelf. It is modeled after the 10th Doctors Tardis from the British BBC America and BBC show "Doctor Who". It was a graduation present for my sister and took my parents and me about one month and $550-$650 to build.

The main system lights up about 5 meters of LED light strips and powers a speaker which plays audio. There are lights in the "Police Public Call Box" sign, top light, inside the main box, and inside the small shelves built into the door. The overall size is about 6' tall and 1 3/4' deep.

Step 1: Parts List

Here's the list of parts I used:

MAIN TARDIS
------------------

2 - 2"x6"x 6'
2 - 2"x4"x 6'
2 - 3/4"x 4'x 8' Sheets of plywood (AB or AC (depends on the wood grain you want to see and how much money you have))
1 - 1/2"x 4'x 8' Sheet of plywood (AB or AC (depends on the wood grain you want to see and how much money you have))
8 - 1/2"x 3"x 6' Pieces of lumber (or something that can be made to that size of wood (eg. 1/2 Plywood))
1 lb box of 8x2" Screws
16 gallon wet/dry craftsman shopvac cage float (image later) this was an easy way to make the light on top since we had one laying around from an old shopvac.
Plastic Water Bottle
Acrylic sheets(got custom cut at a shop in Topeka KS)
Black spray paint(must be made for plastics)
BEHR Premium Plus Sapphire Lace Paint in Eggshell (1 Gallon)
Valspar Signature Golden Flame in Semi-Gloss (1 quart)
Clear Gloss Defthane Spray (for protection of PULL TO OPEN sign)
3" c/c Wire Pull (small handle)
Black Pull Handle
1/2" Lock
2 - Malamine edge ironon 3/4 x 8 White
1 - Malamine 3/4" Sheet 4'x 8'
1 - Door catch (metal hook type)
1 - Magnetic Door Catch
1 can of Spray adhesive
1 can of fixative
6 - Blum 95 Degree Thick Door Clip Top Frameless Inset Hinges
2 - Small hinges
1"x18 gauge Brad nails
A small Metal Bowl or some other rounded object to use as the top of the top light
1 Outlet Box and Outlet
16' Extension Cord (for Power)


ELECTRONICS
---------------------

2 - MicroSwitches with lever
6 - Terminal connectors (Large flat sockets(depends on switch size (used to hook up the switch without solder)))
A Arduino Uno
A ElecHouse MP3 Shield (Image Later)
A 1 GB SD Card
A 5 Meter roll of cutable LED Strip
2 Adapters (12V 120 - 300 Ma and an arduino compatible Power cord (look At Arduino website)
4 or more 1/2"x2 gauge brass screws (to hold the switches)
Two NPN Transistors (pn2222 or other small one that can handle more than or equal to 12V)
A small BreadBoard 300 or more points of connection or perforated board
20 ft. of telephone wire (stripped into four strands) or 80 ft. 22 gauge wire (approximately)
A pair of old or cheap computer speakers (check Update 1 for details)
A diode rated equal to or greater than 12V 1A. (check Update 2 for details)
A 1000 Ohm Resistor also rated at or greater than 12V 1A. (check Update 2 for details)

###[UPDATE 1 | POSTED 1.21.2016]###

There were no speakers listed in this list but due to some though, I need to include some Info on what you'll need for the audio output. (view step 5 for description of issue being resolved in this edit)

For the audio playback, a set of powered/amplified speakers is needed. Anything cheap like the AmazonBasics AC Powered Computer Speakers (A150), or something as cheep as these Harman Kardon Rev A00 Computer and Laptop Speakers will do. Just remove the speaker's insides and mount them to the holes you make in step 5.

###[UPDATE 2 | POSTED 1.21.2016]###

In the schematic, I also had a diode and a resistor. The diode needs to be able to withstand a minimum of 12V 1A.

The resistor as it states must be a 1000 Ohm or higher resistor that is rated either 12V 1A or higher..

Step 2: Main Box

I'm not going to go into that much detail since it was built as we went for the most part.
The first picture is the design diagram we used (the dimensions in the image are full sized and we converted it to 3/4 size). I am also uploading a google sketchup model of the tardis to the 3Dwarehouse (link to model). There are three sizes, full, three quarter, and half size.


We put a piece of melamine in the top of the unit to add rigidity before putting on the roof and it has to be flush with the top of the box.

There are blocks behind the hinges for the main doors that have to have holes drilled through them to get the power cord to the electronics.

The new picture is a blueprint my mom made up that I digitized. To use it, open it on your favorite Image Processing software, set the measurements to inches, and measure the parts you need.

### UPDATE 1 | POSTED 1.21.2016 ###

Link to 3D warehouse model has been fixed. Here is a link to it in Google Drive as Backup

Step 3: Finishing the Box

After we built the box, we puttied all the large dings and cracks with wood putty. To put the sign on the door (first image), my dad used fixative to keep the ink from smearing, then used the spray adhesive to stick it to the door. After that we used the clear gloss defthane spray to protect it.

We used the blue paint for the outside and the gold paint for the inside (since it is the usual color for the inside of the Tardis. To make the signs around the top, we bought some sheets of acrylic plastic (glossy but translucent(make sure there is a paper backing on the plastic for this is vital)). We then sprayed adhesive onto each of the paper backings (only on one side) of each sign and then pasted the picture of the "Police Box" sign to each one and cut out the letters with a sharp hobbie knife (leave the letters on the plastic and peel off the rest). Then spray paint the signs with the black paint and then peel off the letters to finish the signs.

Step 4: Box Details

These are just a couple images of the details.

The fourth, fifth and eighth images are of the lights, and as you can see, there is reflective metal tape on the inside of the lights to increase their brightness.

In the sixth image, you can see the electronics box and the adapters.

In the seventh image you can see the power cord running through the wooden blocks and the lights running down and then wires running around the blocks of wood to the next strand.

In the last image you can see the top shelf is cut short in the middle to make it easier to put books up there.

Step 5: Main Electronics

Now, the electronics.

First we need to install the lights. For the top light, we put a strip of lights across the top and bottom curve of the light.
For the POLICE PUBLIC CALL BOX sign, we put a strip of lights on the bottom of each sign.
For the inside, run sections of leds cut to fit a little short. There will be three sections of leds on each side of the door. connect these with sections of wire that go around the wood blocks. Run all the light wires (keep the positives and negatives seperate) to one point and solder them all together or use a connector of some sort to fasten them all together. Attach a single wire to the ground and another from the positives.

Take two strips of LED's and put them on the top of each shelf in the door. Run their wires into each other (again positive to positive and negative to negative) and run the wires to the area where the electronics box is going to go. Put the other switch at the top of the door in the door (refer to pic).

Next, cut a hole in the flat roof just as big as the speaker you got (see update 1 at bottom of this steps page) and then mount the speaker over it with screws. Run the wires down through the air vent closest to where you want to put the electronics (there will be a box for them (I put mine in the front right hand corner of it)).

Put the switch on the side of the wooden stop-block. Use 2, 2 gauge screws to fasten it in. Connect the phone line wire to the switches using the terminal connectors.

Run the extension cable (cut off and discard the male end) through a whole drilled in the base and the wholes drilled into the three blocks. Use staples to fasten it in place. Wire it into the outlet inside the Tardis and then put it in its box and put on the cover.

###[UPDATE 1 | Posted 1.21.2016]###

After being used for a few weeks, the voltage regulator on the Iduino/Arduino failed. I never gave it much thought until just recently. Whenever the sound kicks in, the speakers draw such a large amount of power that it sometimes causes the Iduino/Arduino to glitch out due to low voltage. A possible fix would be to use a pair of powered/amplified computer speakers and their respective circuitry in the upper compartment to allow more volume without straining the Iduino's/Arduino's voltage regulator. This Is hypothetical for I just hardwired the lights to the switches afterwards to allow my sister (whom I gave it to) to use it. (she wouldn't allow me to try and fix it again)

Step 6: Programming the Arduino and Interfacing the Elechouse MP3 Shield

Plug the Mp3 Shield into the Arduino(or equivlent). If you already have an arduino Uno set up on your computer, just hook this one in and install it like the last one and then skip the next section.

Then plug the Arduino into your computer. After the check system for hardware comes up, close it.
Follow this link and this link to the Arduino website and follow their instructions on how to install it.

Install the MP3 shield Library from this link.

Open the Arduino IDE and copy and paste this code:

#
const int bswitchPin = 2;
const int sswitchPin = 4;
const int lightPin = 3;
const int llightPin = 5;
const int checkPin = 6;
const int checkinPin = 7;
unsigned char cmd_buf[10];
unsigned char i;

void ArduinoMP3Shield_SendCMD(unsigned char *cmd_buf, unsigned len)
{
unsigned i;
for(i=0; i Serial.write(cmd_buf[i]);
}
}

void setup(void)
{
pinMode(bswitchPin, INPUT);
pinMode(sswitchPin, INPUT);
pinMode(lightPin, OUTPUT);
pinMode(checkPin, OUTPUT);
pinMode(checkinPin, INPUT);

delay(1000);
}

void loop(void)
{
if(digitalRead(bswitchPin) == HIGH && digitalRead(checkinPin) == LOW)
{
digitalWrite(lightPin, HIGH);
digitalWrite(checkPin, HIGH);

Serial.begin(9600);

/** set volume */
cmd_buf[0] = 0x7E; // START
cmd_buf[1] = 0x03; // Length
cmd_buf[2] = 0xA7; // Command
cmd_buf[3] = 0x26; // new volume
cmd_buf[4] = 0x7E; // END
ArduinoMP3Shield_SendCMD(cmd_buf, 5);

/** set play mode repeat all */
cmd_buf[0] = 0x7E; // START
cmd_buf[1] = 0x03; // Length
cmd_buf[2] = 0xA9; // Command SET MODE
cmd_buf[3] = 0x00; // set mode
cmd_buf[4] = 0x7E; // END
ArduinoMP3Shield_SendCMD(cmd_buf, 5);

/** select SD card first music and play */
cmd_buf[0] = 0x7E; // START
cmd_buf[1] = 0x04; // Length
cmd_buf[2] = 0xA0; // Command
cmd_buf[3] = 0x00; // file number high byte
cmd_buf[4] = 0x01; // file number low byte
cmd_buf[5] = 0x7E; // END
ArduinoMP3Shield_SendCMD(cmd_buf, 6);
}
else
{
if(digitalRead(bswitchPin) == LOW && digitalRead(checkinPin) == HIGH)
{
digitalWrite(lightPin, HIGH);
digitalWrite(checkPin, HIGH);

Serial.begin(9600);

/** set volume */
cmd_buf[0] = 0x7E; // START
cmd_buf[1] = 0x03; // Length
cmd_buf[2] = 0xA7; // Command
cmd_buf[3] = 0x26; // new volume
cmd_buf[4] = 0x7E; // END
ArduinoMP3Shield_SendCMD(cmd_buf, 5);

/** set play mode repeat all */
cmd_buf[0] = 0x7E; // START
cmd_buf[1] = 0x03; // Length
cmd_buf[2] = 0xA9; // Command SET MODE
cmd_buf[3] = 0x00; // set mode
cmd_buf[4] = 0x7E; // END
ArduinoMP3Shield_SendCMD(cmd_buf, 5);

/** select SD card first music and play */
cmd_buf[0] = 0x7E; // START
cmd_buf[1] = 0x04; // Length
cmd_buf[2] = 0xA0; // Command
cmd_buf[3] = 0x00; // file number high byte
cmd_buf[4] = 0x02; // file number low byte
cmd_buf[5] = 0x7E; // END
ArduinoMP3Shield_SendCMD(cmd_buf, 6);

delay(25000);
digitalWrite(lightPin, LOW);
digitalWrite(checkPin, LOW);
}
else
{
}
}
if(digitalRead(sswitchPin) == HIGH)
{
digitalWrite(llightPin, HIGH);
}
else
{
digitalWrite(llightPin, LOW);
}
}

#

Then, make sure that the right COM port is selected and upload the sketch.
Disconnect the power once the lights on the arduino stop blinking and get your SD card (if you have a laptop with a built in port you're good to go but if you don't, you will need an adapter of some sort).
Copy and paste the three files onto a file.
If you want different sound files, then save those files (Doctor Who theme song (saved as 0000-doctorwhotheme), and the disappearing sounds (saved as 0001-takeoffsounds(make sure the prefix ####- is in that form(####-)))) to the SD card (you will have to download these sounds in mp3 format or you will need to convert them to mp3 format*).
(Make SURE you save all the files to a folder before copying to the SD card)
Then copy the files to the SD card all at once.

Plug the card into the MP3 Shield (Without the adapter).
Then hold down the copy button on the shield and plug in the arduino to the computer.
Hold down the button until the light on the shield starts blinking,
Once it stops, Test it with one of the buttons, a pair of head phones, and an LED from pin 4 to the ground pin (hook the button up like it is in the schematic).
Hold the button for a couple seconds until the system powers up, then let go of the button, the theme song should play. If it works, push and hold the button again, and the takeoff noise should play. If something doesn't work, look over your wiring, and if nothing seems to be wrong contact me by leaving a comment.

The Tardis.sch file is a schematic that can be read with ExpressSCH(accomponies the ExpressPCB program(link to website; download)

*Here is the user guide for the shield.

Step 7: Plugging in the System and Checking It's Functionality

Connect the lights positive and negative wires from the lights to pins 1A(+) and 1B(-) on the bread Board.

Connect the power adapter for the arduino to the outlet box and the arduino(or equivalent). Plug in the other adapter and run the two ends to the left hand side + and - rails.

Run the Arduino's pin D4 to the transistor on pin 4D of the breadboard. Run the arduino's GND pin to the - pin on the right hand side of the breadboard.

Connect the speaker to an audio plug that is compatible to the headphone jack on the MP3 Shield and plug in the plug to the headphone jack on the board.

Connect the switches always connected pin into pin D2 of the Arduino, the Normally connected pin to the 5V of the Arduino, and the normally open switch to the ground pin of the Arduino.

Put a jumper from pin D6 to pin D7.

Plug the extension cord into a wall outlet (120VAC).
Open the door, the theme should play, if not check the wiring.
Shut the door and the takeoff sound should play.

Step 8: Finished Project

Here are just a few images and videos of the finished project:

Kit Contest

Second Prize in the
Kit Contest