Monday, February 25, 2013

How does a single Arduino control so many LEDs?

In the world of open hardware and electronics, the Arduino is slowly becoming a household name. In fact, this brand of corresponding programming software and small computing platforms has been garnering a lot attention among electronics hobbyists, artists, educators, and the DIY crowd. This technology is primarily used for interacting with the real world and could be used with several sensors, motors, lights, and other electronic items to interact with and sense the environment. An open source electronics prototyping platform, Arduino has been around for quite some time now, and is gathering an ever increasing crowd of enthusiastic followers and hobbyists. 

Arduino
The standard Arduino board consists of a single board with a microcontroller that is capable of executing specialised programmes. This allows the Arduino's 8-bit Atmel AVR microcontroller to be used for some interesting applications.

The versatility of the Arduino board and its open source nature allows it to be used in a wide variety of applications and hardware projects. One in particular is its ability to control a large number of Light Emitting Diodes (LEDs). Being able to control different LEDs and being able to vary their intensities independently of each other has led the Arduino to be used in some really complicated and amazing projects all over the world among the scientific and technological community. 


Arduino as a LED Controller
Although the Arduino has a limited number of pins on it, it can still control an 8-by-8 matrix of LEDs directly. If a larger number of LEDs need to be controlled, then there are several ways through which this can be achieved. For instance, one can use shift registers to extend the capabilities of the Arduino. 


The Power of Shift Registers
One of the ways through which we can use Arduinos to control more than 16 LEDs simultaneously is by using shift registers. The 74HC595 is a shift register that fits perfectly for this job. It is an 8-bit serial-in chip that offers both serial and parallel out connections. Using just a few pins, the shift register allows the Arduino to control more than 8 different LEDs. For instance, the STP16C596 chip can let the Arduino control over 16 LEDs without the need for series resistors for constant current sources. 


How it works?
Arduino's LED controlling capabilities are virtually endless, thanks to the “Synchronous Serial Communication” properties. Using bitwise pulses, the data can be fed to the registers bit-by-bit. This allows a whole byte to be transmitted in the bitwise fashion and when completed, the high or low messages are passed on to the output pins.

Being able to control multiple LEDs has helped enthusiasts to develop some really cool Arduino projects. For instance, one particular Arduino project makes use of the Arduino platform
to control a huge array of LEDs that have been arranged in a three dimensional matrix. The 3D matrix allows the LEDs to portray some really amazing visual effects, which make the whole set up come alive in multicolour. Such projects are only possible because the Arduino has the capability to control the huge arrays of LEDs without a sweat.

No comments:

Post a Comment