[Arduinoプログラム]:Macのスリープみたいな光り方 その1
あとからこのページを見たときのために、要素をしぼって、LEDを1つにしました。
つないであるピンの番号は変えてないので、みなさんは2つのLEDをつけたままで(1つのLEDはつかわない)大丈夫です。


いままでは、直線的な変化だけを扱ってきました。

グラフでいうとこんな感じ。

人間の明るさを感じる感覚は、直線的ではありません。暗闇で目が慣れてくるように、刺激に対してすぐに反応するのではなくてだんだんと調整してくれるからです。

「明るさがだんだん明るく変わっている」と感じるには、曲線を描く変化である必要があります。


「だんだん暗くなっている」と感じるには、


こんな感じです。

つまり、こんな変化のプログラムを書く必要があります。


ここまで聞くと、「うわ!苦手な数学だ!」って思うかもしれません。「対数」や「Log10」みたいな式を思い出す人もいるかと思います。

でも、実は、めちゃくちゃ簡単な式でできます。

ひとまず、だんだん明るくなるプログラムから。



//LED Workshop
//
//2010.09.28-09.29
//
//MacSleep LED-01


//For LED blight
float LED_Blight;

//Initialize
void setup(){
  pinMode(11, OUTPUT);
  LED_Blight = 0.0001;
}


//loop
void loop(){
  
  LED_Blight = LED_Blight * 1.04;
  
  if(LED_Blight > 255){
    LED_Blight = 1;
  }
  
  analogWrite(11, LED_Blight);
  
  delay(20);

}