Menu
CoddyTech

Pixelチェイサー

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

リングの周りを移動するライトは、一度に1つのピクセルだけが点灯し、ステップごとに次のピクセルへ移動します。for ループでピクセル番号を指定します。

for (int i = 0; i < 16; i++) {
  ring.clear();                  // 前のピクセルが消える
  ring.setPixelColor(i, orange); // 新しいピクセルが点灯する
  ring.show();
  delay(100);
}

clear() が先に実行されるため、次のピクセルを点灯させる同じ show() で、最後のピクセルが消灯します。これがないと、すべてのピクセルが点灯したままになり、リングが埋まってしまいます。

ループはピクセル15の後に停止し、loop() が再び実行されて、i は0から始まります。ライトはリングを何度も巡ります。

challenge icon

チャレンジ

簡単

オレンジ色の光をリング上で走らせましょう:

  • 0から15まで、一度に1つのピクセルを点灯させる
  • 各ピクセルを100 ms点灯させる
  • 15の後は、0から再開する

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

自分で試してみよう

#include <Adafruit_NeoPixel.h>

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

uint32_t orange = ring.Color(255, 40, 0);

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

void loop() {
  // 0から15まで、ピクセルを1つずつ100 msずつ点灯させる
}
quiz icon腕試し

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

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

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