2.10 流れるLED

このキットにはWS2812 RGB LEDストリップが付属しており、各LEDは独立して制御できる多彩な色を表示できます。

このプロジェクトでは、傾斜スイッチを使用して、WS2812 RGB LEDストリップ上のLEDの流れる方向を制御します。

必要な部品

このプロジェクトで必要な部品は以下の通りです。

一式を購入すると便利です。リンクはこちら:

名称

キット内容

リンク

ケプラーキット

450以上

Kepler Kit

個別に購入することも可能です。以下のリンクを参照してください。

SN

部品

数量

リンク

1

Raspberry Pi Pico W

1

BUY

2

マイクロUSBケーブル

1

3

ブレッドボード

1

BUY

4

ジャンパーワイヤー

数本

BUY

5

抵抗器

1(10KΩ)

BUY

6

傾斜スイッチ

1

7

WS2812 RGB 8 LEDストリップ

1

BUY

配線

WS2812_Flow_friz

コード

注釈

  • 下の画像を参考にして、ドラッグ&ドロップでコードを作成できます。

  • kepler-kit-main\piper のパスから 2.10_flowing_led.png をインポートしてください。詳細なチュートリアルは、 コードをインポート をご参照ください。

neopixel

Pico Wを接続した後、 スタート ボタンをクリックしてコードを実行します。

傾斜スイッチが垂直に置かれていると、WS2812 RGB LEDストリップ上のLEDが順番に緑色で点灯します。水平に置かれている場合、緑色のLEDが逆方向に一つずつ点灯します。

プログラミング

ステップ1: Actions パレットの[setup neopixel pin() pixels()]ブロックを使用して、WS2812 RGB LEDストリップを初期化します。 0 は接続されたピンがGP0で、 8 はWS2812 RGB LEDストリップに8つのRGB LEDがあることを意味します。

neo1

ステップ2: Variables パレットで Create variable ボタンをクリックし、WS2812 RGB LEDストリップ上のLEDを表す変数 i を作成します。

neo2

ステップ3: 変数 i の初期値を1(ワイヤーに近いLED)に設定し、[repeat forever]ブロック内で[() mod ()]を使用してiの値を0から7に設定します。例:1 mod 8 = 1、8 mod 8 = 0、9 mod 8 = 1 など。

  • [() mod ()]: これは剰余演算子のブロックであり、 Loops パレットから[() = ()]をドロップダウンして mod を選択します。

neo3

ステップ4: 全てのネオピクセルを黒に設定して、全てのLEDを消灯させます。その後、[updates neopixels]を使用してこの効果をWS2812 RGB LEDストリップに適用します。

neo4

  • [set all neopixels to ()]: 全てのLEDに色を設定するために使用します。13*9色あり、右上の色はLEDを消灯するための黒です。

  • [updates neopixels]: この効果をWS2812 RGB LEDストリップに更新します。

ステップ5: pin14が高く読み取られた場合、WS2812 RGB LEDストリップ上のLEDを緑色で一つずつ点灯させます。それ以外の場合は、逆方向で緑色で一つずつ点灯させます。

neo5

  • [change () by ()]: 変数の値を特定のステップで増加(正)または減少(負)させるために使用されます。