Introduction: Stargate Inspired Arduino NeoPixel 3D Printed Clock
The Stargate DHD clock will display the time using NeoPixel LED’s oriented around a simulated clock face. The clock provides an hourly and half hour chime that can be turned on and off. The hours and minutes can be set via pushbuttons located on rear of the clock base. The center crystal on the DHD clock will illuminate on the hour and half hour for one minute. The illumination of the crystal is provided via a color changing RGB LED.
The hour is represented by a NeoPixel LED changing to red, the minute is represented by a NeoPixel LED changing to green and the seconds are represented by the NeoPixel LEDs changing to a blue color as the second’s increment. Using this method, reading the clock is very intuitive. As the seconds increase, each LED will change to a blue color. The Red (Hour) LED or Green (Minute) LED will not be overwritten by the Blue seconds LEDs.
The clock is 3D printed and utilizes one Arduino Uno, four NeoPixel rings and a real time clock. The Clock is controlled by an Arduino microcontroller. The Arduino handles the interface to the NeoPixels, chime speaker, LED center crystal and the four clock management pushbuttons.
The .stl files for printing the clock parts and the Arduino Uno code are located here and can also be found at http://www.guarnero.com. The included Arduino code also utilizes a pitches.h file that should be located in the same directory as the Arduino code.
The 3D clock dial and base are based upon the work of Techno35 at http://www.thingiverse.com/thing:49627
The dhd (dial home device) dial was resized so that it can print on a Lulzbot Mini printer and the dhd (dial home device) base was resized and heavily modified to provide a housing for the electronics.
The .stl files include the dial, base, ring sections for mounting the NeoPixels, crystal LED mount/cover, base cover and the crystal lens. The entire clock was printed with HIPS filament with the exception of the crystal lens which was printed with clear ABS. The clock is painted so any color filament will suffice.
A complete parts list is provided at the end of this instructable.
Step 1: Components - Arduino Uno R3 Controller
Step 2: Components - Arduino Proto Screwshield
Step 3: Components - NeoPixel 1/4 60 Ring
Purchased at:
Step 4: Components - DS1307 Real Time Clock
Purchased at:
Step 5: Components - Chime Speaker
Step 6: Components - Pushbuttons
Step 7: Components - Cabochon
Step 8: Components - Cabochon LED
The cabochon is illuminated using a slow changing RGB LED. The LED will cycle between colors by just applying 5 VDC through a 200 ohm resistor on it.
The LED was purchased from Amazon.com
http://www.amazon.com/gp/product/B007RO9X82?psc=1&redirect=true&ref_=oh_aui_detailpage_o08_s00
The color changing LED that is illuminated for one minute when the clock is at the hour, 15 minute, half hour or 45 minute position.
Step 9: 3D Printing - Base
The entire clock was printed using a Lulzbot Mini 3D printer. The clock pieces were scaled and sized so they could be printed on the smaller print bed of the Lulzbot Mini. I used HIPS material for printing all parts.
Step 10: 3D Printing - Dial
Step 11: 3D Printing - Dial Ring
Step 12: 3D Printing - Cabochon/LED Holder
Step 13: 3D Printing - Cabochon Lens
Step 14: 3D Printing - Base COver
Step 15: Paint
Step 16: Construction - Glue the Four Dial Rings
Step 17: Construction - Glue the Dial to the Four Dial Rings
Step 18: Construction - Prepare the Parts for Painting
Step 19: Construction - Paint the DHD Base and Dial
Step 20: Construction - Mount the Cabochon and Diffuser to the Dial
Step 21: Construction - Glue LED Holder to the Dial Ring
Step 22: Construction - Wire the LED
Step 23: Construction - Paint the Dial Back
Step 24: Construction - Install the LED
Step 25: Construction - Install Pushbuttons
Step 26: Construction - Wire the Pushbuttons
Step 27: Construction - Wire the Chime
Step 28: Construction - Install the Chime
Step 29: Construction - Wire the NeoPixels
Step 30: Construction - Place Tape on NeoPixel Ring
Step 31: Construction - Run NeoPixel Wire Through Dial Ring
Step 32: Construction - Mount Dial Assembly to Base
Step 33: Construction - Wire Power Connection
Purchased at:
DC Power Jack Panel Connectors
http://www.amazon.com/gp/product/B00W8U70XU?psc=1&redirect=true&ref_=oh_aui_detailpage_o08_s00
DC Right Angle Extension
http://www.amazon.com/gp/product/B00QJCU580?psc=1&redirect=true&ref_=oh_aui_detailpage_o00_s00
14 Comments
5 years ago
Congrats for the post.Even a beginner can DIY the same with the detailed explanation given by you.Hope more articles like this in future.Thumbs Up.
6 years ago
Very cool Project. I rebuilt it with an easier Case. As I use it as a Wall Clock in my Garage, I´m not so interested in the Seconds. I´d prefer to see the Minutes habit like the Seconds, so you can recognize the Minutes without really have to stare and look where they are. I tried to revise the Code in that way, but as I´m not so good in coding yet, I haven´t find a way to change this. Do you maybe have an Idea for me?
Reply 6 years ago
I added an "Alternate Display' Arduino file that will show the minutes like you asked for. The seconds are turned off unless you remove the comment '//' from line 181.
Reply 6 years ago
Great, that´s what I wanted! Thank You very much!
I´ll post a picture later.
Do You think it´s possible to loose the flashing in changing the Minutes? That would just be Fine-tuning and is not required if it´s too complicated.
Reply 6 years ago
I can have the flashing happen on the hour instead of the minute. I will try to get something to you within the week.
7 years ago
Nice project.
But if i want to put a static led in each hour, to precise the hours, how can i do that?
And how can i change the music?
I want to make one :)
thank you
Bruno
Reply 7 years ago
To change music just google Arduino and Tone. You will find lots of examples of music such as Mario Brothers and Star Wars. You can buy individual NeoPixel LES and wire them up or use an Arduino Mega that has more I/O pins and control each LED by itself. I don't think the Mega will fit in the clock.
7 years ago
The two #4 screws to mount the dial ring to the base were 1/8" holes. The 1/16" inch holes were for the bottom cover.
7 years ago
Looks good. I'm making one now. Barely was able to print everything on a Printrbot Simple but I got it done. I do have one question though. In Step 31 it looks like you drilled a hole in the dial ring to run the wires through because the ring didn't print with a hole. Do you remember what size hole you drilled if that's the case? Same with the two holes that take the screws to mount to the base.
Reply 7 years ago
I used a 5/32" drill bit but you can use whatever is handy. If you want, use a 1/8" and work up if the hole is not big enough for the wire. I think I drilled a 1/16 hole for the mounting base mostly as a screw starter hole. Just use whatever size will work well with the screws you are using. You cannot hurt anything and if the hole is too large, you can always fill it in with epoxy and re drill.
7 years ago
Love this!
7 years ago on Introduction
Look very cool~
7 years ago
Nice, try making a stargaze for the DHD, good luck :D
7 years ago on Introduction
So Cool! :D