
SPI入力LEDを堪能 (C/C++) ーRaspberry Pi Picoへの道5ー
前回はフォトリフレクタによる割り込み動作を確認しました。
ここではSPI入力のテープLEDの点灯を試してみました。
目次
サンプルコード動作確認
以下のSPI入力LED APA102のサンプルコードを試してみます。
https://github.com/raspberrypi/pico-examples/tree/master/pio/apa102
構成
Raspberry Pi Pico のハードウェアSPI(SPI0)でLEDを制御します。
Raspberry Pi Pico Raspberry Pi RP2040デュアルコアARMCortex M0 +プロセッサをベースにしたフレキシブルマイクロコントローラーボード
- seeed studio
- 価格¥898(2025/07/22 09:48時点)
APA102 5050 SMD高輝度チップLEDピクセルフレキシブルストリップライトDC 5V (白 PCB, 1M 144leds IP20)
- Shenzhen greenenergy lighting Co.,Ltd.
- 価格¥3,989(2025/07/22 20:04時点)
- 商品ランキング216,874位
動作
サンプルコードをビルドしてuf2ファイルをRaspberry Pi Pico にドラッグ&ドロップします。
Raspberry Pi Pico
SPI入力LED点灯サンプルコードを実行PIOなるモノを使用しているようだけど、よく理解できない。
早く体に浸透させ好きな色で点灯させたい。#RaspberryPiPico #PiPico #ラズパイhttps://t.co/Nq3xmX2HRR pic.twitter.com/pV2V03XbDb— HomeMadeGarbage (@H0meMadeGarbage) February 11, 2021
LEDの制御シーケンスは.pioファイルに記述されていました。
独自プロジェクト作成
サンプルコードを参考に自分のワークスペースにフォルダを作成して所望の色でを光らせてみます。
フォルダ (SpiLedTest) には以下を用意します。
- Pico SDKを参照するための設定を記述した pico_sdk_import.cmakeをコピー
- LEDの制御シーケンスを記述した apa102.pio をコピー
- プログラム .cファイル (SpiLedTest.c) 作成。詳細は後述
- プログラムとビルドの設定を記述する CMakeLists.txt 作成。詳細は後述
Visual Studio Codeでフォルダを開いてビルドします。
.cファイル
4色で交互に点灯するコードです。
CMakeLists.txt
コピーした.pioファイルを pico_generate_pio_header で宣言しています。
動作
これで自由にLEDを制御できるようになりました!
所望の色を出せるようになりました#RaspberryPiPico #PiPico #ラズパイ pic.twitter.com/bh7O02EAIf
— HomeMadeGarbage (@H0meMadeGarbage) February 11, 2021
割り込みと組み合わせ
前回確認したフォトリフレクタによる割り込み動作と組み合わせてみました。
ここではフォトリフレクタで光が遮られると割り込みでLEDの点灯カラーを変えています。
おわりに
ついにRaspberry Pi PicoでSPI入力のLEDを自由に制御できるようになりました!
次回はいよいよバーサライタを組み立てていこうと考えております。
Raspberry Pi Picoの性能が浮き彫りになるのではないかと非常に楽しみです♪
それでは次の道でお会いしましょう!
SPI制御のLEDテープを探していてこちらにたどり着きました。LEDは今日注文し、実験は後日になりますが、プログラムも参考にさせていただきたく、よろしくお願いします。