Menu
CoddyTech

リングを塗りつぶして消去する

CoddyのArduinoジャーニー「ディスプレイとセンサー」セクションの一部。レッスン 14/24。

2つの呼び出しで、すべてのピクセルを一度に設定できます:

ring.fill(blue);   // すべてのピクセルを青にする
ring.clear();      // すべてのピクセルを消灯する

setPixelColor()と同様に、これらはボードのメモリに保存された色を変更するだけです。リングは、show()を呼び出すまで、最後に送信された状態を表示し続けます。そのため、clear()の後も、次にshow()を呼び出すまでリングは点灯したままです。

これは意図的な仕様です。多くのピクセルを変更して一度に送信できるため、ピクセルが1つずつではなく、リング全体が同時に変化します。

challenge icon

チャレンジ

簡単

リング全体を点滅させます:

  • すべてのピクセルを500 ms青色にする
  • 次に、すべてのピクセルを500 ms消灯する
  • これを繰り返す

実行を押してから、チェックを押します。

自分で試してみよう

#include <Adafruit_NeoPixel.h>

// 16個のピクセル、データはピン6に接続
Adafruit_NeoPixel ring(16, 6, NEO_GRB + NEO_KHZ800);

uint32_t blue = ring.Color(0, 0, 255);

void setup() {
  ring.begin();
}

void loop() {
  // リング全体を500 ms間青く点灯させ、その後500 ms間消灯させる
}
quiz icon腕試し

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

ディスプレイとセンサーのすべてのレッスン

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