2.10 流れるLED¶
このキットにはWS2812 RGB LEDストリップが付属しており、各LEDは独立して制御できる多彩な色を表示できます。
このプロジェクトでは、傾斜スイッチを使用して、WS2812 RGB LEDストリップ上のLEDの流れる方向を制御します。
必要な部品
このプロジェクトで必要な部品は以下の通りです。
一式を購入すると便利です。リンクはこちら:
名称 |
キット内容 |
リンク |
---|---|---|
ケプラーキット |
450以上 |
個別に購入することも可能です。以下のリンクを参照してください。
SN |
部品 |
数量 |
リンク |
---|---|---|---|
1 |
1 |
||
2 |
マイクロUSBケーブル |
1 |
|
3 |
1 |
||
4 |
数本 |
||
5 |
1(10KΩ) |
||
6 |
1 |
||
7 |
1 |
配線
コード
注釈
下の画像を参考にして、ドラッグ&ドロップでコードを作成できます。
kepler-kit-main\piper
のパスから2.10_flowing_led.png
をインポートしてください。詳細なチュートリアルは、 コードをインポート をご参照ください。
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があることを意味します。
ステップ2: Variables パレットで Create variable ボタンをクリックし、WS2812 RGB LEDストリップ上のLEDを表す変数 i を作成します。
ステップ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 を選択します。
ステップ4: 全てのネオピクセルを黒に設定して、全てのLEDを消灯させます。その後、[updates neopixels]を使用してこの効果をWS2812 RGB LEDストリップに適用します。
[set all neopixels to ()]: 全てのLEDに色を設定するために使用します。13*9色あり、右上の色はLEDを消灯するための黒です。
[updates neopixels]: この効果をWS2812 RGB LEDストリップに更新します。
ステップ5: pin14が高く読み取られた場合、WS2812 RGB LEDストリップ上のLEDを緑色で一つずつ点灯させます。それ以外の場合は、逆方向で緑色で一つずつ点灯させます。
[change () by ()]: 変数の値を特定のステップで増加(正)または減少(負)させるために使用されます。