My lovely wife asked me to make her a timer. The first thought that came to mind was “Cool! I can buy some more stuff from Spark Fun and create a gadget for my wife!” Then after a few moments of reflection I had to ask the tough question…. “Why don’t you just use your iPhone? I am sure there is a timer app that would work”. That hurt to ask. I really want to do this project, but I just had to be sure that the bases were covered. I signed with relief when she said that the iPhone solution doesn’t fit her needs.
Hummm… Exactly what kind of timer are you looking for?
1. It must have large (Oversized) button to start and stop the countdown.
2. It must have a display that can be seen from across the room. This display needs to count down from 30 seconds.
3. It must make a loud annoying noise when the time is up, loud enough to be heard across a conference room.
4. It must be portable and not interface with other pieces of equipment such as PA systems, computers, or projectors to operate.
So that leaves out PowerPoint, iPhones, iPads, kitchen timers, and alarm clocks. It sounds like a Project I can get my arms around.
So I went to my favorite electronics web store *(ww.sparkfun.com) and placed my order for a big red button, Arduino pro-mini, audio amp, 1” serial LED display (Green), and a 9v battery holder.
Then I dug around in my stash of stuff (where I dump all the parts from stuff I have taken apart) and found a nice 4” 4 ohm speaker, black metal perforated speaker grill, key switch, blank PC board, 5V power supply, and some ultra-bright red LEDs.
While I was waiting for the parts to arrive I had to make a decision on what kind of enclosure to make for this project. I have always been a fan of the quality and craftsmanship that went into electronic enclosures of the past. I really like the old radios that were treated as fine furniture rather than cheap vacuum formed plastic. So I decided to head out to Lowes and pick up some Oak boards. Then to pretty it up a bit I went to Ace Hardware and bought the required, screws, bolts, nuts, etc…, all out of brass. Then I had to decide on how I wanted to speaker grill to look. I could have gone with a round hole, or some Victorian design, but instead I went with the standard radiation symbol. You can see where this is going….
Steam-punk themed atomic doomsday timer.
So after a few weekends of working on putting together the box and mounting all the hardware I finally came to the moment of truth. It looked great but didn’t do anything useful, yet. I had to program the Arduino pro-mini to actually do my bidding.
The first step as usual is to verify that all the hardware works. The outputs include four digital outputs for LED indicators, one digital input for the big red button, one Analog output for the audio, and one serial output for sending information to the 4 digit 7 segment LED display. So I whipped together a little program to test each of these.
The next step is to write functions for the main program to call upon. For example, I need a function to flash the 3 LEDs behind the speaker grill in an on and off in sequence, another function to make a sound when the time is up, and one to pause the program if the button is pressed and display “HOLD” while flashing the LED in the big red button.
Lastly I had to write the program that runs the countdown and link in the functions in the appropriate places. This took the longest amount of time, but was also the most fun to write. At one point the noise from the amplifier was really starting to annoy the dog. I decided to keep the tone as ‘annoys the dog’ is a pretty good test for a quality sound effect. Gimli still doesn’t trust the box.
Yes, it works as advertised. When first turned on it flashes FUBR LABS on the display for just a second, then displays 30 and waits for the button to be pressed. Once pressed it starts counting down until it reaches 0, at which time lights flash and an irritating noise comes out. You can pause at any time and is says HOLD on the display.