Drive an RGB led with software PWM


Posted on Feb 7, 2014

This project illustrates how to use an ATTiny microcontroller and an RGB LED to create a coloured light that cyles continuously through random colours, but changes colour dramatically at the press of a switch. Why My kids had this $2 novelty pen that did this employing a teensy circuit along with 3x3mm LEDs and some alkaline coin-cells.


Drive an RGB led with software PWM
Click here to download the full size of the above Circuit.

If children will play with this, choose one of the following: ensure your LED is not a superbright, or use a diffuse led, or diffuse a clear one (eg cover it with half a table tennis ball, or enclose it in resin or wax. You could also use higher-value resistors to limit current, or lower PWM_OC_MAX to limit the PWM duty-cycle (LED brightness) via software. The microcontroller should be configured to obtain the system clock from the 8MHz internal RC oscillator. The ATTiny13 factory fuse settings include a divide-by-8 of the RC oscillator giving 1MHz, so remember to change that fuse to get the original 8MHz signal. The overflow interrupt from the hardware 8-bit timer triggers an interrupt service routine (roughly 32000 times per second) which increments each of 3 separate 8 bit counters. These counters, and corresponding "Output Compare" (OC) values are used to generate 3 Pulse-Width-Modulated waveforms, with each counter being associated with a particular output pin. Every time a counter reaches zero, the corresponding pin is turned on. When the counter reaches its PWM_OC value it is turned off. When the counter reaches its PWM_TOP value (255) it wraps around to zero and the cycle repeats. The effect of all this is that each of the 3 output pins is driven with a square-wave having a wave-legnth of 256 timer ticks (about 1/128 of a second), which is equivalent to a frequency of 128Hz (cycles-per-second). The OC value...




Leave Comment

characters left:

Related Circuits

  • New Circuits

    .

     


    Popular Circuits

    Intercom
    Low-voltage oscillator features increased spectral purity
    Simple FM transmitter circuit
    pic based wwvb clock
    water detector circuit for your
    door alarm
    Discrete Voltage Inverter
    PIC IR Decoders
    HEADS OR TAILS GAME CIRCUIT
    Lift control circuit attached to the wall



    Top