こんにちは。ヤマヤタケシです。
Arduinoやってます。
予想以上に簡単にLEDが光ってくれるので楽しいです。
さて今回は、LEDのON,OFFのスイッチイングとフェードイン・アウトです。
知識を組み合わせるって素晴らしいですね。
なんか、作ってる感があります。
ハンダ付けをやろうと思っていたのに、今のところ全くなしです。
ブレッドボードって良いですね!
今回のソースは今までのサンプルで得た知識でもって、考えて書きました。
それなりにオリジナリティがあるので公開します。
//LEDがフェードインとフェードアウトする
// Fade in out もする。
// 2013/02/15 yamaya takeshi
// license 好きに使ってください。
const int LED = 9;
const int BUTTON = 1;
int in = 0 ;
int old = 0;
int out = 0;
int state = 0;
void setup()
{
pinMode( LED, OUTPUT );
pinMode( BUTTON, INPUT );
}
void loop()
{
in = digitalRead( BUTTON );
if( in == 1 && old == 0 ){
if( state == 0 ){
state = 1 ;
}
else {
state = 0;
}
delay( 10 );
}
old = in;
if( state == 1 ){
out = out + 1;
if( 255 < out ){
state = 2;
out = 255;
}
}
if( state == 2 ){
out = out - 1;
if( out < 0 ){
out = 0;
state = 1;
}
}
if( state == 0 ){
out = 0;
}
analogWrite( LED, out);
delay( 5 );
}
そんじゃまた。
