Wednesday, October 16, 2013

Arduino Web Enabled RGB Lighting

finished_closed_1.jpgI just happened to see some large strips of LED lighting when I was picking up some parts at Maplin which were on sale (if I remember correct they were around £12 per approx. 2m strip) however the controller/driver was still around £40, so I thought I would just build a better one myself.
I wanted it to be a web enabled controller as there are a lot of cool things that can be done with a device once it is accessible over HTTP, and I am working on a home automation server project so it would be good to have some devices which I can test this with.

Anyway, let's get started, here is a basic parts list, some of the components may change depending on the nature of your lighting installation (i.e. if you are driving more LEDs you may need higher power transistors, etc.): Arduino (Duemilanove, Uno, etc., can be done with a Mega but it is overkill) Ethernet Shield 12v to 5v switchmode DC-DC converters (my LED strips rat at 12v but the Arduino needs 5v and this is more efficient than a linear converter) Assorted resistors (for transistor protection, usually around 100-500 ohms) NPN transistors (I just used basic NPN transistors as I was only switching around 300mA per channel) Push to make button Various connectors and cables Stripboard (goes by various other names, I used this to make my driver circuit into an Arduino shield) Enclosure (optional but recommended) Fuse and fuse holder (optional but highly recommended for permanent installations) Scrap materials to make any mounting hardware needed (I used HIPS to mount my Arduino in the enclosure) Tools I used which would help: Soldering iron Multimeter Small flat screwdriver Small posi-drive screwdriver Laser cutter (drills and a file will suffice if you don't have access to one) All the code for this project is available at this GitHub repo.

Here is a quick demo of my installation at uni using an Android app for control:

driver_schematic.pngNOTE: Please read the next two steps before starting any work mentioned here, I had to do some modification to my original shield because of power issues, they are described on the next step.

Here you will want to build the driver circuit depicted in the schematic below, this can be done in the same way I did it and made into a shield to stack on top of the Arduino and Ethernet shield, or can be a separate board, either way will work, but I don't see any advantage to not making it as a shield.

Some minor points, you will want to have three power cables coming from your shield: One +12v cable going to the 12v pin on the LED strip output One +5v pin going to the 5v pin on the Arduino, and One ground going to the ground pin on the Arduino The reason for this is explained in the next step.

There are some good guides to building a shield from scratch using stripboard on YouTube, alternatively you could use a (semi) pre-built prototyping shield.


View the original article here

No comments:

Post a Comment