Menu
CoddyTech

徐々に点灯・消灯させる

CoddyのArduinoジャーニー「出力」セクションの一部。レッスン 4/24。

再び暗くするには、ステップの方向を変える必要があります。ステップは専用の変数fadeAmountに保持します。負の数を加えると、明るさが下がります。

int brightness = 0;
int fadeAmount = 5;

void loop() {
  analogWrite(9, brightness);
  brightness = brightness + fadeAmount;
  if (brightness <= 0 || brightness >= 255) {
    fadeAmount = -fadeAmount;
  }
  delay(30);
}

変数の前にマイナス記号を付けると、符号が反転します。-fadeAmountは5を-5に、-5を5に変えます。

ifは両端をチェックします。上端ではステップが-5になり、LEDが暗くなります。下端では再び5になり、LEDが明るくなります。LEDは呼吸するように明るさを変え、明るい状態から暗い状態へ突然切り替わることはありません。

challenge icon

チャレンジ

簡単

9番ピンのLEDを、繰り返し徐々に明るくしてから暗くします。

  • brightnessの隣に、値が5のfadeAmount変数を用意します
  • loop()が実行されるたびに、明るさにfadeAmountを加算し、その後30 ms待ちます
  • 明るさが0または255に達したら、符号を反転します

Runを押してから、Checkを押します。

自分で試してみよう

const int ledPin = 9;
int brightness = 0;
// ここでfadeAmountを定義する

void setup() {
  pinMode(ledPin, OUTPUT);
}

void loop() {
  analogWrite(ledPin, brightness);
  brightness = brightness + 5;
  if (brightness > 255) {
    brightness = 0;
  }
  delay(30);
}
quiz icon腕試し

このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。

出力のすべてのレッスン

自分で練習してみよう: Arduinoプレイグラウンド