Summary of Ceiling Fan LED Display using arduino
This project involves creating a persistence of vision LED display using a ceiling fan as the rotating platform. Custom plywood blades were made to replace the original fan blades to reduce weight and protect the fan. The electronics revolve around an Arduino microcontroller (ATMEGA328) driving multiple LED boards, each with 32 LEDs using 74HC595 shift registers and individual voltage regulators. The circuit boards were designed in ExpressPCB, etched manually, drilled, and soldered. The project serves as both an educational experience and a functional display while keeping the fan intact and quiet.
Parts used in the Ceiling Fan LED Display:
- Ceiling fan
- 1/4" plywood (for custom fan blades)
- Atmel ATMEGA328 microcontroller
- 74HC595 shift registers
- LEDs (32 per blade, total 320 LEDs for 10 boards)
- Single-sided copper clad boards
- Voltage regulators (one per board)
- Jumper wires
- Etching chemicals: Muriatic acid and hydrogen peroxide
- Drill bits (for hobby drill)
- Table saw (for cutting boards)
- Overhead projector sheets (for toner transfer)
- Black permanent marker or nail polish (for touch-ups)
Seeing so many persistence of vision ideas on the web was too tempting not to try one. After considering several different motors to drive a display, a ceiling fan seemed to run at just the right speed, is out of the way, and very quiet compared with alternatives. With a micro controller based on the Arduino, this project provided plenty of both software and hardware learning and besides, the kids were involved throughout…
Step 1: Design
Since one of the primary goals was leaving the fan unharmed, I decided to make new fan blades out of some 1/4″ plywood. The new blades were simple rectangles and are shorter than the originals. I made them smaller in an attempt to keep the assembled weight low, so as not to stress the supports when spinning. Early circuit considerations were to not interfere with the mounting hardware, scalability and one design to fit all different needs in the project. The circuit was based on the Arduino platform which provides so much support and the programming environment.
Step 2: Creating the circuit boards
The boards were designed using ExpressPCB. I choose to buy some single sided copper clad and etch them myself. There are plenty of how-to’s for making boards but, I found the toner transfer method worked well for me. After a little experimenting with the clothes iron, overhead projector sheets printed in an old fax machine worked best. A black permanent marker or finger nail polish are good for touch ups of gaps where the toner does not adhere well to the copper. Also, the boards cut easily with a table saw since I don’t have access to a shear. Muriatic acid and hydrogen peroxide was the mixture of choice to etch the boards. If you don’t want to deal with the acid, you could always order the boards right through the ExpressPCB program.
Step 3: Drill and Solder
A small hobby drill index provided all the bits I needed to drill the holes. The board with the micro controller has somewhere near 200 holes. It doesn’t take too long with a Dremel though. The LEDs were soldered on the copper side of the board. Since the board is single sided, I used a small plug as a spacer to keep the height uniform as they were installed.
Step 4: The assembly line
The fan has 5 blades and I settled on 32 lights per, so 10 boards were needed. I made up some jumper wires so I could test the boards as they were built. A few LEDs out of the bunch were bad. I choose to use the Atmel ATMEGA328 for the extra memory and 74HC595 shift registers to drive the LEDs. Each board also has its own voltage regulator. Only six more to go…
For more detail: Ceiling Fan LED Display