ラズパイカメラモジュールの使い方(各モデルの違い、組み立て、撮影方法)

Raspberry Pi(ラズパイ)に純正カメラモジュールを接続して、写真や動画を撮影することができます。各カメラモジュールの違い、組み立て手順と撮影する手順を解説しています。HQカメラについては、レンズ取り付けとフォーカスの調整についても解説しています。

更新日 : 2024年3月18日

Raspberry Piカメラモジュールとは

Raspberry Piにはカメラモジュールを接続できる端子が装備されており、ケーブルを使ってカメラを接続することで、写真や動画を撮影できるようになります。プログラムと組み合わせることで、タイムラプス撮影、画像をサーバーに送信してスマートフォンからモニタリング、機械学習による画像認識などの応用が可能になります。

Raspberry Piカメラモジュールの種類

純正のカメラモジュールは主にCamera Module V3とHQ Cameraの2種類です。

V2の後継で、オートフォーカスが装備されたCamera Module V3 (Raspberry Pi Documentationより引用)
レンズ交換式で三脚穴があるHQ Camera (Raspberry Pi Documentationより引用)

主な違いを表にまとめました。

Camera Module V3HQ Camera
バリエーションV3
V3 Wide (広角)
V3 NoIR (IRフィルターなし)
V3 Wide NoIR (広角、IRフィルターなし)
C/CS(C/CSレンズ用)
M12(M12レンズ用)
レンズレンズ一体型別途レンズが必要
水平視野V3: 66°
V3 Wide: 102°
レンズ交換で幅広く対応可能
16mm望遠レンズ: 27.8°
6mm広角レンズ: 71°
3.2mm超広角レンズ: 120° (*)
フォーカス自動手動
取り付け専用ケースなどに固定三脚に取り付け可能
IRフィルターあり、なしバージョンがあるあり。取り外し可能(元には戻せない)
*3.2mm超広角レンズは純正ではなくIndoor Corgiが販売
視野の違い

同じ距離(50cm)からレンズを変えてHQカメラで撮影した比較です。室内全体を撮影したり、近い距離のものを広く写す場合には広角のレンズ、遠くのものを大きく写す場合には望遠レンズが便利です。

3.2mm超広角、水平視野120°
6mm広角レンズ、水平視野71°
16mm望遠レンズ、水平視野27.8°
IRフィルター

通常の撮影はIR(赤外線)フィルターありのものを使用します。IRフィルターなしだと赤外線画像が撮影できるので、夜間や暗い場所で使うことができます。状況によって別途赤外線の照明が必要になります。

おすすめのモデル

ほとんどの方におすすめできるのはCamera Moduel V3 Wideです。オートフォーカス搭載なので簡単に使用でき、視野角が広いので大抵の用途で問題なく使えます。そのままだと固定できないので、別途対応ケースなどを利用するとよいでしょう。前モデルのV2と基板サイズは同じですが、レンズのサイズが変わっているため、V3に対応したケースを選択してください。

超広角や望遠が使いたい場合や、三脚に取り付けたい場合はHQ Camera C/CSがおすすめです。例えば、人感センサーで人や動物が通ったら撮影するようなケースでは、人感センサーの広い検出範囲をカバーするため、3.2mm超広角レンズがあると良いです。人感センサー付きの拡張基板「RPZ-PIRS」を使った撮影システムの作り方を解説しているので、ぜひ参考にしてください。

ケーブルの準備

Raspberry Pi本体のコネクターが2種類あるため、カメラ接続用のケーブルも2種類あります。両端子同じ大きさのものがRaspberry Pi 4/3/2用、カメラ側のコネクターが小さくなっているものがRaspberry Pi 5/Zero用です。

2種類あるケーブル

カメラモジュールに付属しているのはRaspberry Pi 4/3/2用のみです。(今後5/Zero用ケーブルが付属する可能性はあるかもしれません) Raspberry Pi 5/Zeroで利用する場合はケーブルを別途用意してください。




セットアップ手順

Raspberry Pi本体、カメラモジュール、ケーブルの準備ができたら、実際にカメラモジュールをセットアップ手順を解説していきます。具体的には以下の流れで解説していきます。

  1. レンズ取り付け(HQ Cameraのみ)
  2. ケーブルの取り付け
  3. 動作確認
  4. フォーカス、絞り調整(HQ Cameraのみ)
  5. 撮影方法

レンズ取り付け(HQ Cameraのみ)

HQ Cameraを使う場合はレンズを取り付けます。レンズ一体型の場合はレンズ取り付けは不要なので「ケーブルの取り付け」に進んで下さい。

HQ Camera本体には、保護キャップ、C-CSアダプター、バックフォーカス調整リングの3つの部品が付いています。レンズのマウントの種類に応じて、以下の部品を半時計回りに回して取り外します。保護キャップを取り外すと、内部のイメージセンサーが露出するので、ホコリが入らないようにクリーンな環境で作業して下さい。

レンズ保護キャップC-CSアダプターバックフォーカス調整リング
CSマウント (6mm広角レンズ、
3.2mm超広角レンズ)
外す外す取り付けたまま
Cマウント (16mm望遠レンズ)外す取り付けたまま取り付けたまま
HQカメラ本体から取り外す部品
HQカメラ本体

レンズを取り付けます。レンズ本体を時計回りに回転させて一番奥まで挿入します。

その後、バックフォーカス調整リングの固定ネジを付属マイナスドライバーで締めて固定します。最初から締まっている場合は不要です。

6mm広角レンズ
16mm望遠レンズ
3.2mm超広角レンズ

必要であれば三脚も取り付けておきます。

ケーブルの取り付け

Raspberry Pi本体のカメラ用端子に、カメラケーブルを取り付けます。

コネクターに装着されている黒いつめを一旦外すことで隙間ができるので、ケーブルを差し込みます。裏表があるため、ケーブルの金属端子がコネクターの金属端子に接触する向き(黒いつめの反対側)になるようにします。最後に黒いつめを再度差し込むとケーブルが固定されます。

Raspberry Pi 4/3/2
Raspberry Pi Zeroシリーズ

Raspberry Pi 5はカメラコネクターが2個あります。どちらに接続しても構いません。2台接続することも可能です。

Raspberry Pi 5

カメラ側も同様の手順で取り付けます。(最初から装着済みの場合は不要)

カメラ側

動作確認

ターミナルを開き、以下の$に続くコマンドを実行します。撮影した画像がphoto.jpgという名前で保存されればOKです。-nオプションはプレビューなしの指定です。

HQカメラの場合はフォーカス調整前なので、ぼやけた画像になっていると思いますが、問題ありません。

$ libcamera-still -n -o photo.jpg

失敗する場合は「撮影に失敗する場合」を参照してください。




フォーカス、絞り調整(HQ Cameraのみ)

レンズ一体型の場合はフォーカス調整は不要です。写真撮影に進んでください。

HQカメラ用レンズはフォーカス(ピント)と絞りがマニュアルとなっており、手動で調整する必要があります。以下のコマンドで、カメラのプレビュー映像がディスプレイに60秒間表示されるので、それを見ながら調整すると良いでしょう。-fはフルスクリーン表示の指定です。

$ libcamera-still -f -t 60000

プレビューが利用できない場合は「プレビューに失敗する場合」をお試しください。それでも解決しない場合、先ほどのコマンドで撮影したjpgファイルを確認しながら調整する必要があります。

フォーカスを調整するには、以下の固定ツマミを緩めてフォーカス調整部分を回転させます。対象物がぼやけない位置に調整し終えたら、固定ツマミを締めて固定します。

6mm広角レンズ
16mm望遠レンズ
3.2mm超広角レンズ

絞りを調整するには、以下の固定ツマミを緩めて以下の絞り調整部分を回転させます。絞りを開く(低いF値)するほど光を多く取り込めるので、暗い場所でも撮影できますが、ピントが合う距離の範囲は狭くなります。調整し終えたら固定ツマミを締めて固定します。

6mm広角レンズ
16mm望遠レンズ

3.2mm超広角レンズは絞り値が固定なため、調整はありません。

写真撮影

写真撮影用のlibcamera-stillコマンドの代表的なオプションを紹介します。

  • -o オプションで保存するファイル名を指定します。
  • -t オプションで撮影までの待ち時間をミリ秒で指定します。指定しないと5秒になります。0だと無期限に待機してプレビューするので、撮影は1以上にします。
  • -nオプションでプレビューを非表示にできます。
  • width/heightオプションで画像サイズを変更(縮小)できます。

プレビューせずにすぐ撮影するには、以下のようにします。

$ libcamera-still -n -o photo.jpg -t 1

画像サイズを1280×1024にするには、以下のようにします。

$ libcamera-still -n --width 1280 --height 1024 -o photo.jpg -t 1

30秒後に撮影するには、以下のようにします。

$ libcamera-still -n -o photo.jpg -t 30000

rotation / -rotオプションに90, 180, 270を指定することで回転できます。カメラを設置した向きによっては回転させたほうが見やすくなります。180度回転するには以下のようにします。

$ libcamera-still -n -o photo.jpg --rotation 180

動画撮影

動画撮影にはlibcamera-vidコマンドを利用します。H.264でエンコードされたmkv動画ファイルを作成することができます。

Raspberry Pi 5以外の場合

以下のコマンドで動画本体のmovie.h264と時間を記録したmovie.ptsを生成します。-tオプションに撮影時間をミリ秒で指定します。ここでは10秒としました。

$ libcamera-vid -n -o movie.h264 --save-pts movie.pts -t 10000

次に、以下のコマンドでmovie.mkvファイルを作ります。

$ mkvmerge -o movie.mkv --timecodes 0:movie.pts movie.h264
Raspberry Pi 5の場合

以下のコマンドでmovie.mkvファイルを生成できます。-tオプションに撮影時間をミリ秒で指定します。ここでは10秒としました。

$ libcamera-vid -n -o movie.mkv -t 10000

撮影に失敗する場合

ケーブルの接触不良でカメラを認識していない場合があります。電源をオフしてケーブルを挿し直し、再度電源を入れてお試しください。Raspberry Pi側のコネクターを挿し直しても解決しない場合はカメラ側コネクターもご確認ください。




プレビューに失敗する場合

「-n」オプションを指定しない場合はカメラの入力を画面上にリアルタイムに表示する「プレビュー」画面が表示されます。しかし、OSバージョンや使用しているRaspberry Piの種類によっては、プレビューに失敗する場合があります。その際は以下の設定をお試しください。

ターミナルで以下のコマンドを実行します。

$ sudo raspi-config

設定ツールが起動するので、「Advanced Options」を選択してEnterを押します。

「Glamor」を選択してEnterを押します。

Glamorグラフィックアクセラレーションを有効にするか聞かれるので、「はい」を選択してEnterを押します。

その後、再起動します。

まとめ

Raspberry Pi(ラズパイ)に純正カメラモジュールを接続して、写真や動画を撮影する方法の解説は以上です。今回はコマンドで撮影する方法を紹介しましたが、Pythonなどのプログラムから撮影する機能もあります。人感センサーが反応したら写真や動画を撮影するシステム決まった時間にRaspberry Piを起動してタイムラプス撮影するシステムの作り方を紹介しているので、ぜひ参考にしてください。また、紹介しきれなかった撮影コマンドやオプションはRaspberry Pi Documentationを参照してください。

Raspberry Pi Zero、HQカメラを三脚にマウント可能にする「RPZ-CamMountKit」もご用意しております。カメラとのケーブルの長さが足りない場合や、人感センサー基板「RPZ-PIRS」と組み合わせて人が通ったら撮影するような場合に有効です。

RPZ-CamMountKit利用例
定期撮影ラズパイカメラをモバイルバッテリーで長期運用 (RPZ-PowerMGR)

Raspberry Pi(ラズパイ)と純正カメラを使用して、定期的に撮影するタイムラプス機能を実装する方法を解説します。RPZ-PowerMGR拡張基板を使うことで、指定時刻に起動し、撮影後は自動的にシャットダウン&電源OFFします。待機時の消費電力をカットすることで、モバイルバッテリーで長期運用が可能になります。

複数のステッピングモーターを制御する (Raspberry Pi + RPZ-Stepper)

RPZ-Stepperは基板1枚に2台のステッピングモーターを接続でき、最大で基板2枚、モーター4台を制御できます。本記事では、制御ソフトウェアcgstepで複数ステッピングモーターを制御する方法を解説しています。複数台のモーターを使うことでX/Y/Z軸移動など複雑な動きを実現できます。

RPZ-PowerMGR (Raspberry Pi/Jetson Nano用 電源管理/制御/RTC拡張基板)

スイッチで電源ON/OFF、指定時刻に電源ON/OFF、シャットダウン後自動電源OFFを可能にする拡張基板です。Raspberry Pi(ラズパイ)やJetson Nanoの電源の課題を解決し、省電力運用を可能にします。RTCで電源OFF時も時刻を保持します。USB Type-C端子を搭載し、モバイルバッテリーでも利用できます。