Raspberry Pi(ラズパイ)に純正カメラモジュールを接続して、写真や動画を撮影することができます。各カメラモジュールの違い、組み立て手順と撮影する手順を解説しています。HQカメラについては、レンズ取り付けとフォーカスの調整についても解説しています。
更新日 : 2024年9月29日Raspberry Piカメラモジュールとは
Raspberry Piにはカメラモジュールを接続できる端子が装備されており、ケーブルを使ってカメラを接続することで、写真や動画を撮影できるようになります。プログラムと組み合わせることで、タイムラプス撮影、画像をサーバーに送信してスマートフォンからモニタリング、機械学習による画像認識などの応用が可能になります。
Raspberry Piカメラモジュールの種類
純正のカメラモジュールは主にCamera Module V3とHQ Cameraの2種類です。
主な違いを表にまとめました。
Camera Module V3 | HQ 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フィルター | あり、なしバージョンがある | あり。取り外し可能(元には戻せない) |
視野の違い
同じ距離(50cm)からレンズを変えてHQカメラで撮影した比較です。室内全体を撮影したり、近い距離のものを広く写す場合には広角のレンズ、遠くのものを大きく写す場合には望遠レンズが便利です。
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用です。
カメラモジュールに付属しているのはRaspberry Pi 4/3/2用のみです。(今後5/Zero用ケーブルが付属する可能性はあるかもしれません) Raspberry Pi 5/Zeroで利用する場合はケーブルを別途用意してください。
セットアップ手順
Raspberry Pi本体、カメラモジュール、ケーブルの準備ができたら、実際にカメラモジュールをセットアップ手順を解説していきます。具体的には以下の流れで解説していきます。
- レンズ取り付け(HQ Cameraのみ)
- ケーブルの取り付け
- 動作確認
- フォーカス、絞り調整(HQ Cameraのみ)
- 撮影方法
レンズ取り付け(HQ Cameraのみ)
HQ Cameraを使う場合はレンズを取り付けます。レンズ一体型の場合はレンズ取り付けは不要なので「ケーブルの取り付け」に進んで下さい。
HQ Camera本体には、保護キャップ、C-CSアダプター、バックフォーカス調整リングの3つの部品が付いています。レンズのマウントの種類に応じて、以下の部品を半時計回りに回して取り外します。保護キャップを取り外すと、内部のイメージセンサーが露出するので、ホコリが入らないようにクリーンな環境で作業して下さい。
レンズ | 保護キャップ | C-CSアダプター | バックフォーカス調整リング |
---|---|---|---|
CSマウント (6mm広角レンズ、 3.2mm超広角レンズ) | 外す | 外す | 取り付けたまま |
Cマウント (16mm望遠レンズ) | 外す | 取り付けたまま | 取り付けたまま |
レンズを取り付けます。レンズ本体を時計回りに回転させて一番奥まで挿入します。
その後、バックフォーカス調整リングの固定ネジを付属マイナスドライバーで締めて固定します。最初から締まっている場合は不要です。
必要であれば三脚も取り付けておきます。
ケーブルの取り付け
Raspberry Pi本体のカメラ用端子に、カメラケーブルを取り付けます。
コネクターに装着されている黒いつめを一旦外すことで隙間ができるので、ケーブルを差し込みます。裏表があるため、ケーブルの金属端子がコネクターの金属端子に接触する向き(黒いつめの反対側)になるようにします。最後に黒いつめを再度差し込むとケーブルが固定されます。
Raspberry Pi 5はカメラコネクターが2個あります。どちらに接続しても構いません。2台接続することも可能です。
カメラ側も同様の手順で取り付けます。(最初から装着済みの場合は不要)
動作確認
ターミナルを開き、以下の$に続くコマンドを実行します。撮影した画像がphoto.jpgという名前で保存されればOKです。-nオプションはプレビューなしの指定です。
HQカメラの場合はフォーカス調整前なので、ぼやけた画像になっていると思いますが、問題ありません。
$ libcamera-still -n -o photo.jpg
失敗する場合は「撮影に失敗する場合」を参照してください。
フォーカス、絞り調整(HQ Cameraのみ)
レンズ一体型の場合はフォーカス調整は不要です。写真撮影に進んでください。
HQカメラ用レンズはフォーカス(ピント)と絞りがマニュアルとなっており、手動で調整する必要があります。以下のコマンドで、カメラのプレビュー映像がディスプレイに60秒間表示されるので、それを見ながら調整すると良いでしょう。-fはフルスクリーン表示の指定です。
$ libcamera-still -f -t 60000
プレビューが利用できない場合は「プレビューに失敗する場合」をお試しください。それでも解決しない場合、先ほどのコマンドで撮影したjpgファイルを確認しながら調整する必要があります。
フォーカスを調整するには、以下の固定ツマミを緩めてフォーカス調整部分を回転させます。対象物がぼやけない位置に調整し終えたら、固定ツマミを締めて固定します。
絞りを調整するには、以下の固定ツマミを緩めて以下の絞り調整部分を回転させます。絞りを開く(低いF値)するほど光を多く取り込めるので、暗い場所でも撮影できますが、ピントが合う距離の範囲は狭くなります。調整し終えたら固定ツマミを締めて固定します。
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-PIRS)
人感センサー(PIR/焦電赤外線センサー)は、人や動物の動きを検知できます。そこで、Raspberry Pi(ラズパイ)、カメラと組み合わせて、人や動物が通ったら写真や動画を撮影する方法を解説します。実際に動作するプログラムも用意しています。人感センサー搭載のRPZ-PIRS拡張基板を利用します。
人感センサーとラズパイで人や動物が通ったら撮影する (RPZ-PIRS)
人感センサー(PIR/焦電赤外線センサー)は、人や動物の動きを検知できます。そこで、Raspberry Pi(ラズパイ)、カメラと組み合わせて、人や動物が通ったら写真や動画を撮影する方法を解説します。実際に動作するプログラムも用意しています。人感センサー搭載のRPZ-PIRS拡張基板を利用します。
RPZ-PIRS (Raspberry Pi用 人感/明るさセンサー/赤外線 拡張基板)
Raspberry Pi(ラズパイ)に人感、明るさセンサー、赤外線送受信機能を搭載できる拡張基板です。人感センサーで人や動物を検知してカメラで撮影したり、赤外線で照明をONするような使い方が可能です。周囲の明るさをモニターできる他、外付温湿度/気圧センサー(別売り)を接続することで、温度、湿度、気圧の測定機能を追加できます。7色表示可能なRGB LEDにステータスを表示したり、スイッチを押すことで特定の動作をさせることができます。