PWM LED script voor RGB led
Dependencies: mbed
Diff: source.cpp
- Revision:
- 0:89bb4ba0cb68
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/source.cpp Sun Mar 11 16:13:52 2018 +0000 @@ -0,0 +1,51 @@ +#include <mbed.h> + +AnalogIn potmeter(A0); +PwmOut rgbblue(D3); +PwmOut rgbgreen(D5); +PwmOut rgbred(D6); + +float ledgreen(float analogin) //Function for converting analog signal to PWM for green led +{ + float pwmout = 1.0; + if (analogin < 0.40f){ + pwmout = 100 / 33 * analogin; + } + else if(analogin > 0.40f){ + pwmout = 3 - (100 /33 * analogin); + } +return pwmout; +} + +float ledred(float analogin) //Function for converting analog signal to PWM for red led +{ + float pwmout = 1.0; + if (analogin <0.40f){ + pwmout = 1 - (100/33 * analogin); + } + else if (analogin >0.40f){ + pwmout = 100/ 33 * analogin - 1; + } + return pwmout; +} + +float ledblue(float analogin) //Function for converting analog signal to PWM for blue led +{ + float pwmout = 1.0; + if (analogin >0.30f && analogin < 0.60f){ + pwmout = 2 - (100/33 * analogin); + } + else if (analogin >0.60f){ + pwmout = 100/ 33 * analogin - 2; + } + return pwmout; +} + +int main() +{ + while(1){ + rgbgreen = ledgreen(potmeter); + rgbred = ledred(potmeter); + rgbblue = ledblue(potmeter); + } +}