You are here

ESP8266: LED操作

ESP8266-BLADE/LEAF/KEYを対象として、Arduino for ESP8266の利用例を示します。



BLINK:LEDの単純な点滅

Arduino IDEの[ファイル] => [スケッチの例] => [01.Basics]からBlinkを選択してください。
ESP8266-BLADE/LEAFのLEDは16番ピンに接続されているので、スケッチのpinMode(),digitalWrite()の第1引数の13を16に変更します。

void setup() {
  // ESP8266-LEAFのLEDは16番ピン
  pinMode(16, OUTPUT);
}

void loop() {
  digitalWrite(16, HIGH);
  delay(1000);
  digitalWrite(16, LOW);
  delay(1000);
}

上記のスケッチをコンパイルし、ESP8266-BLADE/LEAFに書き込むと、ボードのLEDが点滅します。

ESP8266-LEAFのLEDの点滅例



FADE:PWMによるLEDの点滅

Arduino IDEの[ファイル] => [スケッチの例] => [01.Basics]からFadeを選択してください。
ESP8266-BLADE/LEAFのLEDは16番ピンに接続されているので、スケッチの変数ledを9から16に変更します。

通常のArduinoのanalogWrite()の第2引数で指定するPWMの強度は0-255ですが、ESP8266のArduinoの実装の初期値では0-1023になっています。
この上限の値1023は、analogWriteRange()を使用して変更することができるので、setup()の中でanalogWriteRange(255)を実行して、PWMの強度の範囲を通常のArduinoに合わせます。

int led = 16;          // the pin that the LED is attached to
int brightness = 0;    // how bright the LED is
int fadeAmount = 5;    // how many points to fade the LED by

void setup() {
  pinMode(led, OUTPUT);

  analogWriteRange(255) ; // for ESP8266
}

void loop() {
  // set the brightness of led:
  analogWrite(led, brightness);

  // change the brightness for next time through the loop:
  brightness = brightness + fadeAmount;

  // reverse the direction of the fading at the ends of the fade:
  if (brightness == 0 || brightness == 255) {
    fadeAmount = -fadeAmount ;
  }
  // wait for 30 milliseconds to see the dimming effect
  delay(30);
}

上記のスケッチをコンパイルし、ESP8266-BLADE/LEAFに書き込むと、ボードのLEDが段階的に明るくなったり暗くなったりします。

なお、通常のArduinoも同様ですが、analogWrite()を利用する場合には、必ずしもpinMode()を利用して操作対象のピンを明示的に出力にする必要はありません。したがって、setup()のpinMode()は削除してもLEDは同様に点滅します。


使用パーツ


開発ソフト: 
チップファミリー: 
MCUチップ: 
技術: