kohacraft Lab
/
kc_hurukaraLED
full color LED brightness change code
Diff: main.cpp
- Revision:
- 0:e96e8be829c4
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/main.cpp Wed Jul 29 04:53:09 2015 +0000 @@ -0,0 +1,130 @@ +#include "mbed.h" + +PwmOut red(dp1); //dp1を赤のLEDのPWM出力にします +PwmOut green(dp2); //dp2を緑のLEDのPWM出力にします +PwmOut blue(dp18); //dp18を青のLEDのPWM出力にします + +int main() { + while(1) { + + red = 0.0; + green = 0.0; + blue = 0.0; + + /*** 1色だけ ***/ + + //赤をゆっくり明るくしていく + for( float i = 0 ; i < 1.0 ; i+=0.005 ) // iの値を0.005ずつ増やしていく + { + red = i; + wait( 0.01 ); //0.01秒待つ + } + wait( 0.5 ); + //赤をゆっくり暗くしていく + for( float i = 1 ; i >= 0.0 ; i-=0.005 ) + { + red = i; + wait( 0.01 ); + } + + //緑をゆっくり明るくしていく + for( float i = 0 ; i < 1.0 ; i+=0.005 ) + { + green = i; + wait( 0.01 ); + } + wait( 0.5 ); + //緑をゆっくり暗くしていく + for( float i = 1 ; i >= 0.0 ; i-=0.005 ) + { + green = i; + wait( 0.01 ); + } + + //青をゆっくり明るくしていく + for( float i = 0 ; i < 1.0 ; i+=0.005 ) + { + blue = i; + wait( 0.01 ); + } + wait( 0.5 ); + //青をゆっくり暗くしていく + for( float i = 1 ; i >= 0.0 ; i-=0.005 ) + { + blue = i; + wait( 0.01 ); + } + wait( 0.5 ); + + + /*** 2色だけ ***/ + + //赤をゆっくり明るくしていく + for( float i = 0 ; i < 1.0 ; i+=0.005 ) + { + red = i; + wait( 0.01 ); + } + wait( 0.5 ); + + //緑をゆっくり明るくしていく + for( float i = 0 ; i < 1.0 ; i+=0.005 ) + { + green = i; + wait( 0.01 ); + } + wait( 0.5 ); + + //赤をゆっくり暗くしていく + for( float i = 1 ; i >= 0.0 ; i-=0.005 ) + { + red = i; + wait( 0.01 ); + } + wait( 0.5 ); + + //青をゆっくり明るくしていく + for( float i = 0 ; i < 1.0 ; i+=0.005 ) + { + blue = i; + wait( 0.01 ); + } + wait( 0.5 ); + + //緑をゆっくり暗くしていく + for( float i = 1 ; i >= 0.0 ; i-=0.005 ) + { + green = i; + wait( 0.01 ); + } + wait( 0.5 ); + + //赤をゆっくり明るくしていく + for( float i = 0 ; i < 1.0 ; i+=0.005 ) + { + red = i; + wait( 0.01 ); + } + wait( 0.5 ); + + /*** 3色 ***/ + //緑をゆっくり明るくしていく + for( float i = 0 ; i < 1.0 ; i+=0.005 ) + { + green = i; + wait( 0.01 ); + } + wait( 0.5 ); + + //3色ををゆっくり暗くしていく + for( float i = 1 ; i >= 0.0 ; i-=0.005 ) + { + red = i; + green = i; + blue = i; + wait( 0.01 ); + } + + + } +}