メインコンテンツへスキップ
見出し画像

Arducam imx519のフォーカス制御を試す

    前回記事に引き続き、imx519のマニュアルフォーカス制御について簡単にまとめておきます。

    やり方

    とりあえず、使えそうなソースが公式にあるので拾ってきます。

    cd ~
    wget https://github.com/ArduCAM/Arducam-Pivariety-V4L2-Driver/raw/master/focus/Focuser.py
    wget https://github.com/ArduCAM/Arducam-Pivariety-V4L2-Driver/raw/master/focus/v4l2_utils.py

    前回作ったスクリプトを改良します。(Focuser.py,v4l2_utils.pyと同じディレクトリにスクリプトを作成して下さい。)
    focuser.set(Focuser.OPT_FOCUS,xxx)でフォーカス値をセットできます。
    xxxの範囲は0~4095です。
    反映までラグがあるのでセットしたら適当なsleepが必要。
    現在の値がほしい場合はfocuser.get(Focuser.OPT_FOCUS)で取得できます。

    #2022年3月15日にpicamera2の大幅な変更があったので一部修正しました
    #from picamera2 import *
    from picamera2.picamera2 import *
    #from null_preview import *
    from time import sleep
    from Focuser import Focuser
    
    picam2 = Picamera2()
    picam2.start_preview()
    #preview = NullPreview(picam2)
    preview_config = picam2.preview_configuration()
    capture_config = picam2.still_configuration()
    
    picam2.configure(preview_config)
    picam2.start()
    focuser = Focuser('/dev/v4l-subdev1')
    sleep(2)
    
    focuser.set(Focuser.OPT_FOCUS,1700) 
    sleep(0.5)
    picam2.switch_mode_and_capture_file(capture_config, "test1.jpg")
    focuser.set(Focuser.OPT_FOCUS,4095)
    sleep(0.5)
    picam2.switch_mode_and_capture_file(capture_config, "test2.jpg") 
    

    また、実行時にFocuser.pyで「KeyError: 'default'」が発生する場合がありました。以前確認した時は出なかったので、imx519のドライババージョンとかによるものかもしれないです。

    画像

    とりあえずFOCUSのデフォルト値を定義するキーが見つからないっぽい・・・
    v4l2_utils.pyを実行するとキーは'default'ではなく'default_value'で定義されていることがわかります。

    画像

    なのでFocuser.pyを開いてdefault_valueに修正すると動くようになります。

    画像

    撮った写真はこんな感じです。
    意外と接写できます。

    画像
    フォーカス値1700
    画像
    フォーカス値4095
    (カメラから5cmくらいの距離)

    ArducamカメラのサンプルコードはGitにも上げておきます。

    忙しい人向け

    忙しい人は下記でお試しください。

    git clone https://github.com/ArcanaMfg/Arducam.git
    python Arducam/ManualFocusTest/FocusTest.py

    以上、Arducam imx519のフォーカス制御の紹介でした。

    よろしければこちらの記事も参考にしてください。


     
     
    長野県で活動するベンチャー企業、 株式会社Arcana製作所の公式noteです。 3Dスキャナの開発がメインですが、 ジャンル問わずハードやソフトの受託開発もしています。 面白いことにチャレンジしていく会社です。 https://arcana-mfg.com/

    あなたへのおすすめ