ArduinoにはPWM機能があります。
PWMとはデューティー比(通電時間の比率)を変化させて
電圧(実効値)を制御する手法です。
ここでは、電圧の実効値を上昇・下降させてLEDの明るさを
変化させてみます。
// 2個のLEDが交互に明るくなったり暗くなったりするプログラム
// PWM機能を用いてLEDの明るさを変える
// 出力値は0から255で指定する
int ledPin1 = 10; //LED1をD10に接続
int ledPin2 = 11; //LED2をD11に接続
int i;
void setup() {
}
void loop() {
for (i=0;i<=255;i++){ //LED1を明るくする
analogWrite(ledPin1,i);
delay(20);
}
for (i=255;i>=0;i--){ //LED1を暗くする
analogWrite(ledPin1,i);
delay(20);
}
for (i=0;i<=255;i++){ //LED2を明るくする
analogWrite(ledPin2,i);
delay(20);
}
for (i=255;i>=0;i--){ //LED2を暗くする
analogWrite(ledPin2,i);
delay(20);
}
}
//ここまで