HomeMadeGarbage Loading

SPI入力LEDを堪能 (C/C++) ーRaspberry Pi Picoへの道5ー

ホーム
電子工作
Raspberry Pi
IOT
音楽

前回はフォトリフレクタによる割り込み動作を確認しました。

フォトリフレクタで割り込み動作 (C/C++) ーRaspberry Pi Picoへの道4ー

ここではSPI入力のテープLEDの点灯を試してみました。

 

 

サンプルコード動作確認

以下のSPI入力LED APA102のサンプルコードを試してみます。
 https://github.com/raspberrypi/pico-examples/tree/master/pio/apa102

構成

Raspberry Pi Pico のハードウェアSPI(SPI0)でLEDを制御します。

 

 

動作

サンプルコードをビルドしてuf2ファイルをRaspberry Pi Pico にドラッグ&ドロップします。

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を制御できるようになりました!

 

割り込みと組み合わせ

前回確認したフォトリフレクタによる割り込み動作と組み合わせてみました。

 

ここではフォトリフレクタで光が遮られると割り込みでLEDの点灯カラーを変えています。

 

おわりに

ついにRaspberry Pi PicoでSPI入力のLEDを自由に制御できるようになりました!

次回はいよいよバーサライタを組み立てていこうと考えております。
Raspberry Pi Picoの性能が浮き彫りになるのではないかと非常に楽しみです♪

それでは次の道でお会いしましょう!

 

Related Posts

コメントはこちらから

メールアドレスが公開されることはありません。コメントのみでもOKです。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください