loading
We have had tremendous success displaying these "Glowing" devices. This instructable is meant to inspire the maker community by showing easy/cheap ways to create visual effects & even useful appliances (alarm clock, countdown timer) /games (Beat the Clock). More on this later!

Two of these are readily available kits, one of them was used in a popular TV series just last month, while the third example is a home made spin using an off the shelf Arduino UNO. a 20x4 Parallel LCD & a few LEDs. We also added a Real Time Clock for good measure.

Step 1: The Bomb Prop

This is a full featured Alarm clock that comes as a kit.
Designed by Nootropic Design (http://nootropicdesign.com/defusableclock/) , this excellent Arduino compatible Defusable Clock looks so much like a Hollywood Bomb, that it was featured last month in an episode of CW' The Tomorrow People. You can order your kit straight from Nootropic Design like I did or get it from the Maker Shed as they are now carrying it also.

At $33, it's not that expensive as the Arduino is built-in. The kit includes all electronics, but only electronics. I made 2 Dynamite looking sticks by soldering then wrapping 3 C Batteries in each laser printed grocery bag and made the other 5 Dynamite sticks by cutting my wife's broom in sections that were the same total length as the 3 batteries combined.

I cut grocery paper bags in 8 x10 sections & fed them to the laser printer to print "Dynanite" in red for additional effect.



Step 2: The Glowing Countdown Clock

This is the first 7 segment display project I ever made.
It comes as a kit from Samurai Circuits (http://samuraicircuits.com/merch/11-doomsday-clock...) , and at $18, I find it very reasonably priced. They also provide the most detailed, step by step instructions, kit assembly guide I ever saw!

You supply your own Arduino Uno, snap your assembled kit & voila, you are ready to go. A glowing experience!

The folks at Samurai Circuits are really nice to work with & they were able to help me with my project by tweaking the code & even developing a new library for me. Also their very astute use of Charlie-Plexing is a fine example of how to minimize the amount of Arduino pins to light up all these LEDs!

I created the 3 Dynamite sticks here by soldering 2 C batteries per stick & wrapping them in grocery paper bags.


Step 3: Beat the Clock!

Because of recent New events (Boston bombing for example), even though they are not any more dangerous or closer to a bomb than a simple desk clock or cell phone, the previous 2 props can feel threatening to some people and that is 1 reason why we decided to re-create the same "defusable concept" but package it as a simple game.

We call it "Beat the Clock" instead of "Diffuse the Bomb", but really, it uses the same Arduino Uno coupled with a 4 lines by 20 characters LCD and we are using buttons (to stop the clock) instead of offering wires to be cut to stop the clock.

The Arduino Uno is roughly $20, the LCD is less than $10, throw in a few buttons for less than $5 and LEDs and resistors for another $5. The container was free and we re-used a First Aid kit. So for approximately $40, you have a unique multi purpose game. I say multi purpose, because this same product could easily be used to re-create a version of Simon as it was suggested by lots of people.

Here is our code:


/*
* FDR Countdown Clock
* 2/27 Fixed LED so it would be brighter by adding pinMode (led1, OUTPUT);
* Added all LCD lights
* Added LCD Clear, No Backlight and delay to end of code.
* Written by Marc Tessier & Chip Thomas
*/

#include <Time.h>
#include <Wire.h>
#include <DS1307RTC.h> // a basic DS1307 library that returns time as a time_t
#include <LiquidCrystal_I2C.h>

LiquidCrystal_I2C lcd(0x3f,20,4); // set the LCD address to 0x27 for a 20 chars and 4 line display

int i = 0;
int led1 = 12;
int led2 = 11;
int led3 = 10;
int led4 = 8;
int led5 = 7;
int led6 = 6;
const int buttonPin = 2;
int buttonState = 0;

void setup() {
pinMode(led1, OUTPUT);
pinMode(led2, OUTPUT);
pinMode(led3, OUTPUT);
pinMode(led4, OUTPUT);
pinMode(led5, OUTPUT);
pinMode(led6, OUTPUT);
pinMode(buttonPin, INPUT);
Serial.begin(9600);
lcd.init();
lcd.backlight();
lcd.clear();
lcd.setCursor(0,0);
lcd.print("FDR Countdown Clock!");
delay(1000);
setSyncProvider(RTC.get); // the function to get the time from the RTC
if(timeStatus()!= timeSet)
Serial.println("Unable to sync with the RTC");
else
Serial.println("RTC has set the system time");
}

void loop()
{
while (i < 5)
{
digitalClockDisplay();
delay(1000);
i = i + 1;
}
lcd.clear();
lcd.backlight();
lcd.setCursor(0,0);
lcd.print("COUNTDOWN INITIATED!");
delay(1000);
for(int i=150;i>10;i=i-1)

{
buttonState = digitalRead(buttonPin);
lcd.setCursor(8,2);
printDigits(i-1);
if(i < 100)
lcd.setCursor(2,2);
lcd.print(' ');
tone(9, 4500, 80);
digitalWrite(led1, HIGH);
delay (i/2);
digitalWrite(led1, LOW);
delay (i/2);
if (buttonState == LOW)
{
lcd.clear();
lcd.print("Good Job!");
break;
}
}
lcd.setCursor(0,1);
lcd.print(0);
for(int i=0;i<30;i++)
{
digitalWrite(led1, HIGH);
tone(9,5000, 50);
delay(50);
digitalWrite(led1, LOW);
delay(25);
lcd.clear();
lcd.setCursor(0,0);
lcd.print("SORRY");
delay(25);
digitalWrite(led2, HIGH);
delay(25);
digitalWrite(led2, LOW);
delay(25);
lcd.setCursor(5,1);
lcd.print("SORRY");
delay(25);
digitalWrite(led3, HIGH);
delay(25);
digitalWrite(led3, LOW);
delay(25);
lcd.setCursor(10,2);
lcd.print("SORRY");
delay(25);
digitalWrite(led4, HIGH);
delay(25);
digitalWrite(led4, LOW);
delay(25);
lcd.setCursor(15,3);
lcd.print("SORRY");
delay(25);
digitalWrite(led5, HIGH);
delay(25);
digitalWrite(led5, LOW);
delay(25);
lcd.setCursor(15,0);
lcd.print("SORRY");
delay(25);
digitalWrite(led6, HIGH);
delay(25);
digitalWrite(led6, LOW);
delay(25);
lcd.setCursor(0,3);
lcd.print("SORRY");


}


lcd.clear();
lcd.noBacklight();
delay(10000);
// lcd.setCursor(0,0);
// lcd.print("BOOM");
// delay(2000);

}

void digitalClockDisplay(){
// digital clock display of the time
lcd.setCursor(1,1);
lcd.print(month());
lcd.print("/");
lcd.print(day());
lcd.print("/");
lcd.print(year());
lcd.print(" ");
lcd.print(hour());
lcd.print(":");
printDigits(minute());
lcd.print(":");
printDigits(second());
}

void printDigits(int digits){
// utility function for digital clock display: prints preceding colon and leading 0

if(digits < 10)
lcd.print('0');
lcd.print(digits);
}

Step 4: Glowing Products...

We love stuff that glows!

Please visit www.stgeotronics.com where we offer the "Beat the Clock" as a kit & a fully assembled/tested product or, among other things, this simple 4 x 20 LCD soldered to an Arduino Nano, ready to show/build your own project.

Thank You for your time & please vote for us!

<p>WOW, impressive clock!!</p>
<p>WOW, impressive clock!!</p>
<p>Don't accidentally leave this in a subway :\</p>
<p>Excellent Work! I was in the middle of making one of these for a party game when I found your article. The design on this is simply fantastic.</p><p>If you don't mind, let me mention what my game design is supposed to do also. Perhaps it might be of worth to someone: The game design I'm making will have two gaming modes for now: 1. beat the clock scenario via keypad 2. User-Config Wire Sequence </p><p>Game type 1 is fairly obvious, I am using a keypad where you punch in a number to defuse it. You get a certain amount of guesses per game based on a chosen level of difficulty. The LCD screen will report whether or not you need to go higher or lower all the while, the 7-seg counts down like yours does.</p><p>I'm not finished programming yet, but game type #2 is very similar to your setup. This mode can be used when there are 2 players. The trickster &quot;sets&quot; the bomb by choosing game mode 2 and the arduino monitors the insertion or removal of 5 colored wires which are internally mapped to 5 I/O pins. As these are inserted or removed it's status is reported on an I2C LCD for verification. Once all of the wires have been used, the sequence is reported as learned, the screen is cleared and the trickster can then hand the fake bomb off to the party guest. He/she then presses a giant red &quot;go&quot; button to start the timer and begin the game. In summary, to win, they have to pull the wires in the proper order.</p><p>Anyhow, your project documentation and photos gave me some awesome ideas. Thanks for sharing--this is really neat.</p>
M.Hawse, any progress on your project?<br>We would love to see pictures and have an update...<br>
<p>Yep, I did make some nice headway on mine but just before I could wrap it up I got sidetracked with some other things we had going on. I'll do my best to wrap it up and get my photos posted in the next few weeks. Thanks for the reminder!</p>
<p>hi! where can I get the red plastic switch with the protective red cover? I love it! </p>
We have found the red plastic switch with the protective red cover at RadioShack and at Advance Auto Parts. I suspect most car self repair stores like Autozone should also have it.<br>
I have a feeling shipping these to a great aunt overseas for Christmas may have you arrested :P <br>Very authentic look, awesome Instructable :D

About This Instructable

17,597views

152favorites

License:

Bio: We love to tinker. There is nothing that we can't do if it involves Arduino. Challenge us: Do you have an idea for something ... More »
More by ST-Geotronics:The Twins Electronic Game GPS Data Logger Make it Blow! 
Add instructable to: