ロボット製作日記1 ラズパイ HQカメラを動作させてみた
こんにちは、横山です。
ここ1年バタバタしており、イギリスで購入したラズベリーパイの部品たちを全くイジれていませんでした。
自分でもロボットを自作したいなと思い、ラズベリーパイを使って作ろうと思った次第です。
どんなロボットを作っていくかは、追々検討します。
まずはカメラ、モーター、音声出力、音声認識辺りを制御できるように考えています。
っと言う訳で本日は、ラズパイでHQカメラを動かしてみたです。
購入したもの
ラズパイ本体とスペーサー
僕が使っているのは、RaspberryPi 4 Model Bってやつでして、1年前に買いました。※ラズパイの初期設定は他のサイトに沢山情報が掲載されているので、ここでは割愛させていただきます。
あとラズパイには土台の足がないため、φ2mmの樹脂スペーサーを買いました。※φ3mmだとラズパイの穴が通らなそうだったので。
こちらは秋月電子で買えます。安いです。
こういったスペーサーがないと、ラズパイの作業とかがやり辛くなるので、スペーサーがあると便利です。
外部モニター、キーボードマウス
ラズパイは、映像出力ポートにmicroHDMI端子を2ポート備えています。
外部モニターとしては、持ち運びや片付けが手頃そうなこちらを購入しました。microHDMI→HDMI変換ケーブルが付属しているのが地味に嬉しい。
15.6インチサイズなのでそこまでスペースは取らないし、ラズパイのデバッグ用には最適サイズです。
ラズパイ操作用のキーボードとマウスは、正直何でも良かったのでこちらにしました。
HQカメラ、レンズ、スタンド
まずHQカメラをラズパイに接続します。
ちなみにこの時に気づいたのですが、レンズが付属してなかった(泣)
イメージセンサー部しかないため、画像が撮れない!
っと言う訳でレンズは別で買いました。
Amazonや秋月等でも売ってますが、こちらのKSYがいちばん安かったです。※ラズパイの正規代理店らしいですね。イギリスで買うより安かった(笑)
HQカメラ
型番:RASCMHQSC0261
価格:8,470円
※Sony製イメージセンサIMX477R採用品広角6mmレンズ
型番:RASCMLSSC0124
価格:4,290円
※あとは16mmの望遠レンズもHQカメラ用に販売されています。マルチ可変式ポータブルスタンド
型番:UB0219
価格:2,750円
※HQカメラ固定用
カメラとレンズの組み立て方法はラズパイ公式YouTubeに記載されていたので添付しました。5分も立たずに組み立てられます。
カメラのフォーカスや照度調整方法についても、こちらの公式製品説明に記載されています。
https://static.raspberrypi.org/files/product-guides/Typical_CS-Mount_Lens_Guide.pdf
組立完了したものがこちら。
簡単に組み立てることができました。
カメラ設定
OSアップデート
諸々の部品のセットアップは完了できました。
ただ購入してから1年ラズパイを動作させていなかったので、OSのアップデートを行いました。
こちらの方の記事のリンクがとてもわかり易かったので参考にしています。
※ラズパイ公式ページのアップデート方法は こちらをクリック
ラズパイ設定
昨年イギリス旅行でHQカメラを購入した際に付属されていたマニュアルがあったので、早速これを参照。
まずラズパイの設定→インターフェーズ画面でカメラを有効化するように記載があったので調べました。
ところがインターフェース画面にはカメラの記載が見当たらない・・・。
色々調べた結果、ターミナルから設定できるようで、そちらを試してみることに。下記コマンドから設定画面へ。
sudo raspi-config
すると次の画面が表示されます。
ここから次の手順で設定するとカメラ機能を有効化できました。
3. Interface Options
→ I1 Legacy Camera Enable/disable legacy camera support
→ Would you like to enable legacy camera support?
と表示されるので、<はい>と回答。
→再起動
これで有効化できました。
※余談:コマンド入力するも失敗
さてここからマニュアル本の続きに従って、ターミナルを起動させてカメラを動かしてみます。
マニュアルには下記コマンドを入力すると静止画像が取得できるとの事で試してみました。
rapistill -o test.jpg
このコマンドは、静止画像をtestという名前でjpgファイルで取得してくれるコマンドです。
しかし、ターミナル上でコマンドが見つかりませんと表示され、画像取得できず・・・。
途方にくれており、またネットで調べる事に。
/boot/config.txtの修正
次にカメラとラズパイがちゃんと接続されているかを確認するコマンドを試してみました。
vcgencmd get_camera
supported = 1 detected = 1, libcamera interfaces = 0と表示されました。
ちゃんと接続されていると次のような値になります。
supported = 1 detected = 0, libcamera interfaces = 1
なのでまだ設定が足りていないことに気づきます。
ラズパイの公式ページを確認すると、2021年11月8日にラズパイのOSがBlusterからBullseyeへのメジャーアップデートが発表されました。
これに伴い、カメラ設定やコマンドに変更があったようです。
つまりraspistillコマンドはなくなったのです。
知らなかった〜〜〜。情報が追いついてなかったです。
自分のOSは次のコマンドで調べられます。
lsb_release -a
調べてみるとやはりBullseyeでした。
※OSがBlusterの方は別途設定必要なのでこちらの方のブログも参照ください。
公式ページを確認すると、/boot/config.txtの末尾に使用するカメラの情報を追記すると動作すると記載されていました。
下記にラズパイページのキャプチャ画像を添付しておきます。
今回使用するのはHQカメラ(IMX477)なので、dtoverlay=imx477を追記します。
まずbootディレクトリに移動する必要があるため、ターミナルから下記コマンドを入力します。
cd /boot
次にbootディレクトリ内にあるconfig.txtを編集します。
次のコマンドを入力します。
sudo nano config.txt
するとconfig.txtファイルの中身が表示されます。
その一番末尾にHQカメラの情報(dtoverlay=imx477)を追記します。
「ctrl + o」を押すと、保存されます。
「ctrl + x」を押して終了、再起動します。
再度ターミナルを開き、vcgencmd get_cameraを入力すると、正常に接続されている値を出力してくれました。
supported = 1 detected = 0, libcamera interfaces = 1
これでやっと設定完了できた訳です。
地味に長かった(笑)
動作させてみる
やっとこさの動作です(泣)
新OS「Bullseye」では、カメラ用に「libcamera-apps」というアプリケーションが準備されています。
ラズパイHPを見ると、過去のraspistillコマンド等を包括したアプリケーションのようです。
ターミナルから下記コマンドを入力することで、色んな撮影ができます。
カメラの動作確認用コマンド 「libecamera-hello」
静止画コマンド「libcamera-jpeg」
高度な静止画コマンド「libcamera-still」
高度な動画コマンド「libcamera-vid」
他にもH.264やrawファイルで保存できるコマンドもあるようです。
詳細は下記ラズパイHPを参照ください。
今回は、下記コマンドを入力してjpegファイルで撮影してみました。
libcamera-jpeg -o test.jpg
このコマンドを入力すると、約5秒間プレビュー画面が表示された後、カメラのフル解像度(4056 × 3040)の test.jpg というファイル名でjpeg画像が保存されます。
撮影した画像がこちら。
総評
っとまあこんな感じで時間はかかりましたが、なんとかカメラを動作させることができました。
HQカメラは、当然ですがオートフォーカスや照度の自動調整機能がありません。
カメラ部をいじって自分でフォーカスや照度を調整する必要がありますが、かなり色んなことができます。
ネットにつないでリモート監視カメラにしてみたり、動画配信したりも出来るみたいなので今後色々と試していきたいと思います。
今回は、ラズパイHQカメラを動作させてみたでした!
ここまで読んでいただきありがとうございました!
この記事が気に入ったらサポートをしてみませんか?