ntroduction |
In this project it was used the Piranha Super-flux RGB Led of common
anode, and the PIC18F25K20, in order to generate combinations of colors.
It has two function modes, automatic that generate the color sequence
that is stored in the μC memory, and the manual mode in which you can
select one of the seven possible colors.
Schematic |
Firmware |
The control of the RGB led is made with PWM(Pulse With Modulation),
because PIC18F25K20 only have 2 PWM outputs (Hardware), I did the
PWM by software to have 3 PWM outputs for that I use TIMER0 and for
the Manual mode I use IOC(interrupt on change).
De-bounce |
In this project I use push buttons to change between modes and to
change the colors. But if we use the button as in the circuit (1) we
have a problem. The problem with this configuration, due to the
mechanical nature of any switch that may contains spring return
action of some kind, there wont be a clean transition from a state
to another, but instead there will be a series of high and low states
spikes. To solve that problem we have to implement a de-bouncing
system, it can be done by hardware or software. We can use a RC
delay circuit or it can be done with a schmitt trigger, but both ways
will increase the price. So I done by software the de-bounce.
Example of code to do de-bounce:
It can be done in a different away but this way works for me.
PSU |
I use a 7812 voltage regulator to keep the voltage stable in the RGB led and for
μC I use an LM317 voltage Regulator. To calculate the output of LM317 I use this equation:
Led RGB |
I use different resistor values on the RGB Led because which color have a different
VF (Forward Voltage) in order to have the same LUX for each color. To calculate
the resister I use these equations:
Download |
No comments:
Post a Comment