Project tutorial
A Model Lighthouse Using an Adafruit NeoPixel Ring

A Model Lighthouse Using an Adafruit NeoPixel Ring © MIT

A model lighthouse, built with 3D printing, using an Adafruit NeoPixel Ring for the lights.

  • 1,281 views
  • 2 comments
  • 8 respects

Components and supplies

Necessary tools and machines

3drag
3D Printer (generic)

Apps and online services

About this project

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.

The design

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.

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.

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.

The electronics

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.

Video of the lighthouse with the lantern rotating.

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!

Code

Sketch for the model lighthouseC/C++
This uses an 24 LED Neopixel ring, and 3 LEDs are lit (two white, one in the middle is red). These rotate around the ring.
#include <Adafruit_NeoPixel.h>

#define PIN 6

Adafruit_NeoPixel strip = Adafruit_NeoPixel(24, PIN, NEO_GRB + NEO_KHZ800);

void setup() 
{
  strip.setBrightness(5);
  strip.begin();
  strip.show();
}

void loop() 
{
  for (int i = 24; i < 48; i++)
  {   
    strip.setPixelColor((i - 1) % 24, 0, 0, 0);
    strip.setPixelColor(i % 24, 255, 255, 255);
    strip.setPixelColor((i + 1) % 24, 255, 0, 0);
    strip.setPixelColor((i + 2) % 24, 255, 255, 255);
    
    strip.show();
    
    delay(100);
  }
}

Custom parts and enclosures

Comments

Similar projects you might like

Simple wall clock using Adafruit 1/4 60 Ring Neopixel

Project tutorial by antiElectron

  • 6,692 views
  • 0 comments
  • 34 respects

Arduino Clock with Neopixel Ring Animation

Project tutorial by Alexander

  • 42,067 views
  • 39 comments
  • 64 respects

Stereo NeoPixel Ring VU Meter

Project showcase by ericBcreator

  • 29,176 views
  • 268 comments
  • 70 respects

Gyroscope Fun with NeoPixel Ring

Project tutorial by danionescu

  • 18,051 views
  • 3 comments
  • 48 respects

Clock Arduino Nano NeoPixel Ring Alarm/Timer Function

Project in progress by WannaDuino

  • 9,361 views
  • 18 comments
  • 38 respects
Add projectSign up / Login