RGB_Fade led

Dependencies:   mbed

main.cpp

Committer:
qynx
Date:
2016-05-12
Revision:
1:38f70a2c8f31
Parent:
0:f333a5217736

File content as of revision 1:38f70a2c8f31:

#include "mbed.h"

PwmOut r (LED1);
PwmOut g (LED2);
PwmOut b (LED3);


float RGB_Colour[3];


int main()
{
    r.period(0.001);


    while(1) {


        RGB_Colour[0] = 1.0;   // start with red
        RGB_Colour[1] = 0.0;
        RGB_Colour[2] = 0.0;

        for (int DEC_Colour = 0; DEC_Colour < 3; DEC_Colour += 1) {
            int INC_Colour = DEC_Colour == 2 ? 0 : DEC_Colour + 1;

            // cross-fade the two colors.
            for(float i = 0.0; i < 1.0 ; i += 0.001) {
                RGB_Colour[DEC_Colour] -= 0.001;
                RGB_Colour[INC_Colour] += 0.001;

                r = 1.0-RGB_Colour[0];
                g = 1.0-RGB_Colour[1];
                b = 1.0-RGB_Colour[2];

                wait(0.001);
            }
        }
    }

}