led

Arduino Nativity Set LED Light Controller – Hardware


My job as IT consultant leave empty the (human) need of creating something “physical”, something made with your brain but also with your hands.. so a few months ago I started playing with Arduino and a bunch of electonics components.

The most amazing part of Physical Computing for a “software” grown-up kid like me (C64 generation..) is that you really create “things”, without simply configuring a “limited” device.
It’s really a new world!

A few days ago my 10 years old brother asked me to add some “cool” light effects to the nativity set that he is building year after year with “some” help of our father.. :)

The set is built mainly with wood and paperboard, so we have to keep low the risk of fire avoiding incandescent light bulbs.
Why not using LEDs? They are cheap, available in multiple colors and very brigth.
And why not using an Arduino for creating a sequence program with some dimming effect?

This nativity set needs al least 3 independent “channels” for lights: manger, village houses and street lamps.

Basic requirements for the 0.1alpha version of this project are:
- having a night/day cycle with a given duration
- controlling 3 independent channel with 10-15 high brightness LEDs each one
- managing dimming effects as fade-in and fade-out

Arduino can “simulate” the dimming of led with PWM via the AnalogWrite function.
Arduino Uno has 6 PWN Digital pins but each each one has a maximum output current of 40 mA.

Each LED needs 20 mA, so we need to “amplify” the output of PWN Pin current with a NPN transistor.
The best choice if using a ULN2003A Seven Darlington Arrays which is very useful for driving loads like some LEDs.
Each of the seven driver has a maximum output current of 500mA.. enough for more of 20 standard LEDs.

This is my first Fritzing design.. :)

Arduino Nativity set led controller - Fritzing

After some test with a breadboard (not usable in the set) I made my first Arduino custom shield.

For this first “milestone” we need:
- An Arduino 2009 or UNO
- a pad board / stripboard with 0.1 inch spacing and a tool for cutting it (I used a Dremel with no. 409 Cut-Off Wheel)
- 1 DIP-16 ULN2003A
- a DIP-16 socket (not strictly needed)
- some screw terminal block connector with 0.1 inch spacing
- male-male headers with 0.1 spacing
- some copper wire and a soldering iron

Excluding the Arduino, less than 5 euros of components.

I was a bit disappointed when I discovered that spacing between digital pins blocks is not 0.1 inch compatible..
For the moment i needed only 3 PWM pins plus +5V and GND pins.. so i used only 1 block of 8 male header and one block of 2 male header..

This is the final result.
Warning: Soldering (and photography) skills below zero.. :)

First version of the shield

In the next post I will describe the first sketch that will manage LEDs.
See you soon!

Tags: , ,

Sunday, November 28th, 2010 Arduino 21 Comments
 

Categories

AskoziaPBX

Create your full features PBX IP with voicemail and Automated Attendant with alix2d3 or alix2d2 system board.

You can find the PBX IP preconfigured image here:


And obtain all support information "how to" here: