SPIカメラのArducam Megaを使ってみました。
3MPと5MPの2種類がありますが、安い固定Focusの3MPを使用しています。
ラズパイPicoと接続テストしてみました。
SPIカメラのArducam MegaをラズパイPicoと一緒に使ってみた
SPIカメラのArducam Megaを使ってみました。
3MPと5MPの2種類がありますが、安い固定Focusの3MPを使用しています。
ラズパイPicoと接続テストしてみました。

このSPIカメラはAmazon・スイッチサイエンス・秋月などで購入可能です。

テストした内容を紹介します。
Arducam Megaの公式リンク先
スタートガイドなど含めて載っている公式リンク先が下記となります。
公式のリンク先にはpicoのsdkやArduinoなどの手順なども紹介されています。
Zephyr(RTOS)に実装テスト
将来的には、Zephyrで色々なデバイスに繋げれるように改造していく予定です。
ただ今回は最初のテストということで、公式のラズパイPicoでのサンプルを動かしました。
公式のZephyrリポジストリ
2年以上も前ですが、下記リンク先です。
ZephyrのVerも3.6.99と古いので、今回は古いVerに合わせてテストしました。
配線が異なるので注意
Zephyrのサンプルライブラリの配線が、同梱されている説明書と違います。ご注意ください。
詳細は下記のReadmeを確認お願いします。
| Arducam mega camera connector | rpi_pico board SPI connector |
|---|---|
| VCC | VCC |
| GND | GND |
| SCK | P18 |
| MISO | P16 |
| MOSI | P19 |
| CS | P17 |
westでビルド+Flash
ドライバ周りも色々弄られているのですが、サンプルをビルドしてみます。
|
1 |
(.venv) C:\Users\***\zephyr-arducam-legacy\zephyr\samples\drivers\video\arducam_mega_full-featured>west build -p -b rpi_pico |
一応ビルドした結果を貼り付けておきます。
|
1 2 3 4 5 6 7 8 |
Memory region Used Size Region Size %age Used BOOT_FLASH: 256 B 256 B 100.00% FLASH: 37600 B 2096896 B 1.79% RAM: 18960 B 264 KB 7.01% IDT_LIST: 0 GB 32 KB 0.00% Generating files from C:/Users/ioten/zephyr-arducam-legacy/zephyr/samples/drivers/video/arducam_mega_full-featured/build/zephyr/zephyr.elf for board: rpi_pico Converted to uf2, output size: 75776, start address: 0x10000000 Wrote 75776 bytes to zephyr.uf2 |
ビルド後にPicoにuf2のファイルを書き込みます
SPIカメラとの接続テスト
デフォルトでは接続テストをするには、UARTシリアル接続が必要です。
結構SPIとUARTの配線が合わさり、ケーブルがもっさりします。

SPI接続が成功していたら下記のようにシリアルメッセージが確認できます。
|
1 2 3 4 5 6 |
[00:00:01.002,000] <inf> mega_camera: detect camera id 0x82, ret = 0 [00:00:01.002,000] <inf> mega_camera: arducam mega ver: 23-3-3 20 *** Booting Zephyr OS build 60de7c4462e9 *** [00:00:01.030,000] <inf> main: Mega star - Device name: arducam-mega0@0 |
失敗していると下記のように表示されます
|
1 2 3 4 5 6 |
[00:00:01.537,000] <err> mega_camera: arducam mega not detected, 0x0 [00:00:01.537,000] <err> mega_camera: arducam mega camera not connection. *** Booting Zephyr OS build 60de7c4462e9 *** [00:00:01.537,000] <err> main: Video device arducam-mega0@0 not ready. |
UART経由で画像・動画撮影
UARTでコマンドを送信して、画像取得などしていきます。
但し今回はざっくりテストしたいので、ArduCAMのソフトを利用します。
WindowsのPCで簡単にテストできる環境も用意されています。
ArducamMegaSetup_3.0.0_Windows_x64.exe
実際にテストしてみたキャプチャが下記となります。
ソフト起動+UART接続確認して、問題なく画像を取得できました。


ログ見ると、SPIへのコマンドを投げている様子が分かります。
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
[11:25:17]: Port Connect Success [11:25:18]: Command:55 FF AA, Send Success! [11:25:18]: Command:55 0F AA, Send Success! [11:25:19]: Command:55 0F AA, Send Success! [11:25:19]: Command:55 0F AA, Send Success! [11:25:19]: Command:55 0F AA, Send Success! [11:25:19]: Command:55 01 1c AA, Send Success! [11:25:19]: The camera is successfully initialized. Procedure [11:25:22]: Command:55 01 1c AA, Send Success! [11:25:34]: Command:55 10 AA, Send Success! [11:26:31]: Image saved successfully [11:26:54]: Video Open Success, The camera cannot be set in this mode [11:26:54]: Command:55 02 03 AA, Send Success! [11:27:53]: Command:55 01 1c AA, Send Success! |
動画もUARTの115200bps経由なので、物凄く遅いですが動作確認できました。

まとめ
SPIカメラのArducam Megaを使ってみました。
3MPと5MPの2種類がありますが、安い固定Focusの3MPを使用しています。
ラズパイPicoと接続テストした内容を紹介しました。
宜しければ、皆様もSPIカメラをデバッグしてみてください。













コメント