I had a little time last Saturday afternoon, and I decided to build a model of a lighthouse for my baby daughter's play area. And rather than just 3d printing a model, I decided to make it a bit more engaging - I've been playing with Adafruit Neopixel rings recently, and thought that they'd be really good to make a working lantern part of the lighthouse, without needing any to construct any moving parts.
I used AutoDesk 123D to design the lighthouse - I've included an exploded drawing of how all the different pieces are arranged. I was careful to make sure that any overhangs are 45 degrees or more so I didn't need any support material on my 3d printer.
I made sure there was a small lip on the parts making up the main tower so each part snugly fits into the part below.
Exploded view of the lighthouse
The trickiest part was the bezel for the Neo-pixel - I've shown a picture of the piece below - there's a groove on the left side for the wires soldered to the back of the Neo-pixel ring.
Bezel for the Neo-pixel ring
I printed each of the individual pieces using my Prusa i3 Mk2 printer, with red, white and black PLA. In total it took about 10 hours to print all the parts.
I used a LM2596 DC-DC Step down voltage converter to convert a 9V battery output to 5v, and then used this output to power an Arduino Duemilanove. I then connected this to a Neopixel ring with 24 LEDs, using a simple sketch (included in the code section below), which uses the Adafruit Neopixel library. I added a little bit of complexity by making the rotating light from 3 LEDs, with a red LED in the middle and a white LED on either side. I chose those colours because of the main tower's colour scheme, and obviously if I chose a different colour scheme, Neo-pixels allow me to chose different colours.
The finished result
The video below shows the model lighthouse in action - I've uploaded all the CAD files and sketches to GitHub, the details are below.
This was a simple project which was quick and easy to build, and uses some simple electronics and programming to create the effect of a rotating lantern.
If you like this, check out my blog or my Twitter feed for more!