Introduction: Make It Blow!

About: 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 you would like to have but don't know how to make it? Submit us your idea & if you'r…
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!

Make It Glow Contest

Participated in the
Make It Glow Contest