Fading

はじめに

LEDを明るくしたり暗くしたりします。

デジタルの9番ピンにLEDが接続されている想定です。

プログラム

定義等

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
/*
  Fading

  This example shows how to fade an LED using the analogWrite() function.

  The circuit:
  - LED attached from digital pin 9 to ground through 220 ohm resistor.

  created 1 Nov 2008
  by David A. Mellis
  modified 30 Aug 2011
  by Tom Igoe

  This example code is in the public domain.

  https://www.arduino.cc/en/Tutorial/BuiltInExamples/Fading
*/

int ledPin = 9;    // LED connected to digital pin 9
 

int型の変数 ledPinを定義し、9で初期化します。

setup()

21
22
23
24
void setup() {
  // nothing happens in setup
}
 

ここでは何もしません。何もしなくてもseup()を定義する必要があります。定義しなければ、プログラムをリンクするときにエラーとなります。

loop()

25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
void loop() {
  // fade in from min to max in increments of 5 points:
  for (int fadeValue = 0 ; fadeValue <= 255; fadeValue += 5) {
    // sets the value (range from 0 to 255):
    analogWrite(ledPin, fadeValue);
    // wait for 30 milliseconds to see the dimming effect
    delay(30);
  }

  // fade out from max to min in increments of 5 points:
  for (int fadeValue = 255 ; fadeValue >= 0; fadeValue -= 5) {
    // sets the value (range from 0 to 255):
    analogWrite(ledPin, fadeValue);
    // wait for 30 milliseconds to see the dimming effect
    delay(30);
  }
}

for文を使い、analogWrite()に与える引数を生成します。1つ目のfor文では、0から255まで5刻みで増やし、2つ目のfor文では255から5まで刻みで減らしています。

for文で生成した値をanalogWrite()を使って出力します。その結果、LEDが明るくなったり暗くなったりします。

LEDの明るさを変更する間隔を、for文内のdelay()を使って調整しています。

バージョン

Hardware:Arduino Mega
Software:Arduino 1.8.16

最終更新日

September 11, 2021

inserted by FC2 system