以前こちらの記事で触れた、Raspberry Pi PicoのVGA拡張ボードのpimoroni製品を入手したので、さっそく動かしてみました。
よく見ると、Hardware design manualの記述と全く同じではなく、以下のような違いがあります。
・ジャンパ用のピンヘッダは取り付けられていない(VBUS、UARTとSD Cardの選択など)。
→ 自分で必要に応じて取り付けてくださいということですね。
・SD Card脇のジャンパのところに、SWDIO/SWCLKが引き出されていない。
→ これらの信号はPico本体から取れるので、あまり問題にはならないと思います。
・パーツが微妙に違う(機能的には同等)。
VSYS→3.3Vの三端子レギュレータとか。でも全く問題ないです。
このボードのためのデモは、pico-playgroundリポジトリで公開されています。
全てC/C++で書かれており、ビルドに必要なSDKおよび追加ライブラリは必要に応じて(環境変数が設定されていなければ)自動でダウンロードされます。
ビルドの際に、GPIOのピンアサインを指定するために
cmake -B build -D"PICO_BOARD=vgaboard"
のようにオプション指定をすることが必要です。
現時点のソースからビルドしたuf2ファイルをこちらに置いておきます。(zipファイルなのでChromeだとダウンロードがブロックされますが)
ただし、デモの内容を確認できていないものもあります。
なお、標準入出力はUSBではなくUARTのほうになっていますので、sine_waveなどキー入力ができる一部のデモについてはUSB-UARTアダプタなどをGP20(TX)GP21(RX)に接続してください。(あるいは、自分でCMakeLists.txtを編集して標準入出力をUSB側へ変更してビルドすることも可能です。)ピンヘッダを付けるか、スルーホール用テストワイヤが使えます。なお前回紹介した「FT234X 超小型USBシリアル変換モジュール」は、残念ながら直結はできません(RXとRX、TXとTXがぶつかるピン配置になっているため)。
以下、デモの内容です。
- apps/popcorn
- apps/usb_sound_card
- audio/sine_wave
- net/usb_host_webserver
- reset/hello_reset
- scanvideo/demo1
- scanvideo/flash_stream
- scanvideo/hscroll_dma_tiles
- scanvideo/mandelbrot
- scanvideo/mario_tiles
- scanvideo/scanvideo_minimal
- scanvideo/sprite_demo
- scanvideo/test_pattern
- scanvideo/textmode
- sleep/hello_dormant
- sleep/hello_sleep
- stdio/pio
ムービープレーヤー。SDカードに動画データの入ったディスクイメージの書き込み要。SDカードに相性がある可能性あり。
PicoがUSBサウンドカードになる。出力はI2S側。
PWM、I2S、S/PDIF経由でのオーディオ出力テスト。音量、音高などをUARTから変更可。(S/PDIFは未確認)
動作未確認。PicoがNWアダプタとなり、192.168.7.1でHTTPサーバが動いているように(PC側から)見えるらしい。(参考リンク1、参考リンク2)
動作未確認。
イメージファイル(ラズベリーパイのロゴ)を画面上で動かす。
フラッシュに書き込まれた画像ファイルをスライドショーする。画像の書き込み方法についてはこちらを参照。
スーパーマリオっぽい横スクロール画面を表示。UART経由でスピード等の変更可。
マンデルブロ集合の描画。
マリオカートっぽい画面回転・拡大のデモ。UART経由でスピード等の変更可。
画面に縞模様を描く。
ラズベリーパイ財団創始者Eben Uptonの顔画像を沢山表示する。
7色×32段階のカラースケールを表示する。UART経由でスペースキーで白・黒反転。
テキストを表示する。
GPIO10の立ち上がり入力までスリープするらしい(動作未確認)。要UART接続。
スリープして10秒後に復帰する。要UART接続。
SDKの標準出力先を追加したり禁止したりするデモ。要UART接続(+PIOでのUART接続。あまりこのボード向きではないかも)
コメント