Victoss
Member
- Joined
- Aug 6, 2012
- Location
- Kitchener ON
Seems there is more and more people who enjoy the idea of building their own controllers and trying their hand at programming so I thought I would start an Arduino Resource thread and share my Arduino controllers. I will be mainly focusing on the Arduino Uno but there is not many differences between boards.
Here is the Uno board and the labels on each pin can be seen.
[img=1400x967]http://arduino.cc/en/uploads/Main/ArduinoUno_R3_Front.jpg[/img]
Some pins of interest are the PWM (pulse width modulation) pins marked with ~ which is what I will be controlling my drivers with. I won't go into depth on analog but this is when the signal goes from 0-10V but PWM is digital and is when the signal is turned on and off really quickly. The quicker the pulse the shorter the width or period of the wave is.
The Arduino has a power jack where you can supply the power which in this case we want to be 9 or 10V because will will also be using the 10V off of the Vin pin to be the PWM signal (most drivers require 10V PWM where the Arduino can only supply 5V normally). The 5V and GND will be our power supply for the rest of the circuit.
This will be the basis for each channel, just 1 resistor and 1 transistor which gets it's PWM signal from the Arduino:
(this setup can be done on the negative or positive of the driver but we will just stick to the negative)
I'll start off showing my Biocube controller which only does 2 channels (channels refer to the LED drivers that you want to dim separately, multiple drivers can be on one channel if they all dim together).
This schematic shows how this will be set up, but there is a new addition now, the real time clock or RTC. This circuit is what keeps the time for our Arduino, the RTC counts seconds, minutes, hours, date of the month, month, day of the week, and year with leap-year compensation. Generally it can keep time for 5 years without needing correction. Without this the Arduino wouldn't know when to turn our lights on or off and because of the 3V watch battery it will keep it's time during power outages. This circuit can be made for cheap or bought from various sites labled as a DS1307 RTC.
If you buy it you will need to wire it like so...
This is what it looks like all done:
Some of the wires are run underneath so that's why the resistors in the top left (R8 and R9) look separated but are actually connected to the DS1307 chip and that black top rail is 5V where the bottom is ground. (Also there are 3 channels on this board, hence the 3 resistors and transistors)
Now you may be thinking that does not look like the Arduino and this is because it has a shield on top. You can get many shields for the Arduinos and they are boards you connect right on top of each other with the pins. This shield specifically is a protoboard (breadboard) that allows you to make your own circuits right on it keeping everything together and clean.
This one can be found here: http://www.robotshop.com/ca/productinfo.aspx?pc=RB-Cyt-100&lang=en-US
That's it! This is all you would need to make a minimum controller that would just do LEDs. Later I will be showing my full Arduino reef controller which has temperature probes, controls outlets, 4 LED channels, keypad and a LCD screen.
This thread is meant to help people in their own endeavours, if you have things you would like to add then go ahead and if you have any questions on the building of an Arduino based controller please feel free to ask!
I'll be adding some info on code in the future when I find the time. Thanks for reading!
Here is the Uno board and the labels on each pin can be seen.
[img=1400x967]http://arduino.cc/en/uploads/Main/ArduinoUno_R3_Front.jpg[/img]
Some pins of interest are the PWM (pulse width modulation) pins marked with ~ which is what I will be controlling my drivers with. I won't go into depth on analog but this is when the signal goes from 0-10V but PWM is digital and is when the signal is turned on and off really quickly. The quicker the pulse the shorter the width or period of the wave is.
The Arduino has a power jack where you can supply the power which in this case we want to be 9 or 10V because will will also be using the 10V off of the Vin pin to be the PWM signal (most drivers require 10V PWM where the Arduino can only supply 5V normally). The 5V and GND will be our power supply for the rest of the circuit.
This will be the basis for each channel, just 1 resistor and 1 transistor which gets it's PWM signal from the Arduino:
(this setup can be done on the negative or positive of the driver but we will just stick to the negative)
I'll start off showing my Biocube controller which only does 2 channels (channels refer to the LED drivers that you want to dim separately, multiple drivers can be on one channel if they all dim together).
This schematic shows how this will be set up, but there is a new addition now, the real time clock or RTC. This circuit is what keeps the time for our Arduino, the RTC counts seconds, minutes, hours, date of the month, month, day of the week, and year with leap-year compensation. Generally it can keep time for 5 years without needing correction. Without this the Arduino wouldn't know when to turn our lights on or off and because of the 3V watch battery it will keep it's time during power outages. This circuit can be made for cheap or bought from various sites labled as a DS1307 RTC.
If you buy it you will need to wire it like so...
This is what it looks like all done:
Some of the wires are run underneath so that's why the resistors in the top left (R8 and R9) look separated but are actually connected to the DS1307 chip and that black top rail is 5V where the bottom is ground. (Also there are 3 channels on this board, hence the 3 resistors and transistors)
Now you may be thinking that does not look like the Arduino and this is because it has a shield on top. You can get many shields for the Arduinos and they are boards you connect right on top of each other with the pins. This shield specifically is a protoboard (breadboard) that allows you to make your own circuits right on it keeping everything together and clean.
This one can be found here: http://www.robotshop.com/ca/productinfo.aspx?pc=RB-Cyt-100&lang=en-US
That's it! This is all you would need to make a minimum controller that would just do LEDs. Later I will be showing my full Arduino reef controller which has temperature probes, controls outlets, 4 LED channels, keypad and a LCD screen.
This thread is meant to help people in their own endeavours, if you have things you would like to add then go ahead and if you have any questions on the building of an Arduino based controller please feel free to ask!
I'll be adding some info on code in the future when I find the time. Thanks for reading!