リングを塗りつぶして消去する
CoddyのArduinoジャーニー「ディスプレイとセンサー」セクションの一部。レッスン 14/24。
2つの呼び出しで、すべてのピクセルを一度に設定できます:
ring.fill(blue); // すべてのピクセルを青にする
ring.clear(); // すべてのピクセルを消灯するsetPixelColor()と同様に、これらはボードのメモリに保存された色を変更するだけです。リングは、show()を呼び出すまで、最後に送信された状態を表示し続けます。そのため、clear()の後も、次にshow()を呼び出すまでリングは点灯したままです。
これは意図的な仕様です。多くのピクセルを変更して一度に送信できるため、ピクセルが1つずつではなく、リング全体が同時に変化します。
チャレンジ
簡単リング全体を点滅させます:
- すべてのピクセルを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間消灯させる
}
このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。
ディスプレイとセンサーのすべてのレッスン
自分で練習してみよう: Arduinoプレイグラウンド