Raspberry Pi(ラズパイ)の最も楽しい活用法の一つが「カメラ」です。 最新の Camera Module 3 はオートフォーカスに対応し、非常に高画質な撮影が可能になりました。
今回は、Pythonを使って「写真を撮る」「プレビューを表示する」という基本操作を、コピー&ペーストで動かせるコードと共に解説します。
1. 準備するもの
ラズパイでカメラを動かすには、以下の機材が必要です。特に最新のModule 3は、古いOSや設定では動かないことがあるので注意してください。
- Raspberry Pi 本体(4または5を推奨)
- Raspberry Pi Camera Module 3:オートフォーカス対応の最新版。
- カメラ専用フレキシブルケーブル:本体と接続するリボンケーブル。
- カメラスタンド:ピント合わせや固定に必須。
リンク
2. カメラの接続と設定
- ラズパイの電源を切り、CAMERA端子にケーブルを差し込みます。
- 2023年以降の最新OS(Raspberry Pi OS Bookworm)であれば、標準で libcamera が導入されているため、複雑な設定は不要です。
ターミナルで以下のコマンドを打ち、カメラが認識されているか確認しましょう。
Bash
libcamera-hello
ウィンドウが開き、カメラの映像が5秒間表示されれば成功です!
3. Pythonでカメラを動かすコード
ラズパイの標準カメラライブラリ Picamera2 を使用します。
① 写真を1枚撮影する
以下のコードを take_photo.py として保存して実行してください。
from picamera2 import Picamera2
import time
# カメラの初期化
pic2 = Picamera2()
pic2.start()
# オートフォーカスのための待ち時間
time.sleep(2)
# 写真を撮影して保存
pic2.capture_file("test_image.jpg")
print("写真を保存しました:test_image.jpg")
# 終了処理
pic2.stop()
② リアルタイムプレビューを表示する
動画のように映像を確認したい場合はこちら。
from picamera2 import Picamera2
pic2 = Picamera2()
pic2.start_preview() # プレビュー開始
print("プレビュー表示中... Ctrl+Cで終了します")
# 実行を維持
try:
while True:
pass
except KeyboardInterrupt:
pic2.stop_preview()
print("終了しました")4. 初心者がハマるポイントと解決策
Q. 「Camera not found」と出る
- 原因1: ケーブルの裏表が逆。金属端子が端子側を向いているか確認。
- 原因2: 電力が足りない。ラズパイ5に低出力の電源を使っていると、カメラ起動時に落ちることがあります。
電力が足りない場合は、以下の商品をためしてみてください。
リンク
Q. ピントが合わない
- 解決策: Camera Module 3は「オートフォーカス」です。コード内の
time.sleep(2)を入れることで、AIがピントを合わせる時間を確保できます。
5. 次に挑戦したいこと
カメラが動いたら、次は以下のようなプロジェクトに挑戦してみましょう!
- タイムラプス撮影:1分ごとに写真を撮って、植物の成長を記録する。
- AI顔認識:OpenCVを組み合わせて、人が映った時だけ録画する。
- QRコードリーダー:カメラで読み取ったURLをブラウザで開く。
リンク
コメント