Raspberry Pi Picoでgithubにあるpico-playground/scanvideoを動かしてみる

github.com/raspberrypiにあるpico-playground/scanvideoを動かしてみたいと思います。

これらはpico-examplesほどにはドキュメントなどが整えられていない、お試しサンプルコードです。

配線

これらは「Hardware design with RP2040.pdf」の”Chapter 3. The VGA, SD Card & Audio Demo board for raspberry Pi Pico“で紹介されている拡張ボードを接続して動かすことを前提にしています。

このボードは「https://datasheets.raspberrypi.org/rp2040/VGA-KiCAD.zip」でKiCad向けファイルがあるので自分で発注もできますが、普通は完成品の「Pico VGA Demo base」などを購入すると思います。

私は安く済ませようかと思い、抵抗器、コネクタを買って配線したのですが、よく考えたら部品代で\2,500くらいかかっていて、だったら素直に「Pico VGA Demo Base」を買えばよかったです涙。

配線は「Hardware design with RP2040.pdf」の”Chapter 3. The VGA, SD Card & Audio Demo board for raspberry Pi Pico”を元に以下のように配線しました。

Raspberry Pi Pico – VGA 配線図

抵抗をシリアルにいくつも使っているのは購入費を減らすために1種類の抵抗器にしたかったからですが、おかげでかなり見栄えの悪い配線になってしまいました。

RaspberryPiPico_VGA
Raspberry Pi Pico – VGA 配線図(実写)

わかりづらいですが左上あたりにVGAコネクタがあります。これとディスプレイのVGAコネクタと接続してUSBコネクタから電源を供給します。

写真に写っているスイッチやSDカードアダプターは回路図に準じて付けたものですが、今回は使っていません(使えていません)。

またもう一つのPicoはpicoprobeをインストールして書き込み/Debug用に使用しています。

ファームウェア準備

環境はWindows10です。

まずはpico-sdkを入手します。「pico-sdk入手、pico-examples入手とビルド」を参照ください。今回はpico-examplesはいりません。pico-examplesの代わりにpico-extraspico-playgroundをpico-sdkと同じフォルダにcloneします。

「pico-sdk入手、pico-examples入手とビルド」と同様にpico-examplesの代わりに”pico-playground”にchdirしてビルドします。

ビルドが成功したらバイナリーファイル(uf2やelf)を書き込みます。

例えば”scanvideo\demo1″を書き込み/実行したいなら、”\pico-playground\build\scanvideo\demo1\demo1.uf2もしくはdemo1.elf”を書き込みます。

uf2ファイルの書き込みにはRaspberry Piを使います。「Raspberry Pi Pico事始め(Lチカ)」を参照ください。

elfファイルの書き込みはもう1台のRaspberry Pi Picoを使います。「MSYS2インストール→OpenOCDインストール・実行」「picoprobeインストール」「PC ⇔ Picoprobe ⇔ Pico 配線」を参照ください。

実行結果

アップしている動画/画像はスマホで撮ったものですが元は640×480のディスプレイ画像です。

scanvideo/demo1

音は出ません。

scanvideo/demo1

scanvideo/flash_stream

配線がいい加減なためか砂嵐状態になっていしまいました(動画なし)。

scanvideo/hscroll_dma_tiles

音は出ません。

scanvideo/hscroll_dma_tiles

scanvideo/mandelbrot

音は出ません。

scanvideo/mandelbrot

scanvideo/mario_tiles

音は出ません。

scanvideo/mario_tiles

scanvideo/scanvido_minimal

静止画です。

scanvideo_minimal
scanvideo/scanvideo_minimal

scanvideo/sprite_demo

音は出ません。配線がいい加減なためかうまく再生できていません。

scanvideo/sprite_demo

scanvideo/test_pattern

静止画です。

test_pattern
scanvideo/test_pattern

scanvideo/textmode

静止画です。

textmode
scanvideo/textmode

sprite_demoは画像が乱れていますし、flash_streamは砂嵐状態です(動画なし)。

また動かなかったので触れていませんが、「pico-playground\apps\popcorn」も動きませんでした。これらはSDカードを使用しているのでSDカードの問題もあるかもしれません。

それはともかくたかがCorex-M0+くらいでディスプレイ画像が出せるのはすごいですね。dual core + 125MHz clock + pioのおかげでしょう。

2022/1/9 追記

「Pico VGA Demo base」を買ってみて 、 scanvideo/flash_strean、scanvideo/sprite_demo、apps/popcorm を再度やってみましたが結果は全く一緒でうまく動きませんでした。配線が悪いからではなかったんですね。

終わり

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です