ArduCAMMini のサンプルコードについての質問



  • パーツライブラリ内の ArduCAMMini の紹介ページに掲載されている
    サンプルコードについて質問させていただきます。
    https://obniz.io/ja/sdk/parts/ArduCAMMini/README.md

    質問対象は、
    「ピンだけを指定して以下のように設定することが出来ます。」
    直下のサンプルコードとなります。

    尚、Obnizとカメラの接続は、紹介画像の通りとしています。
    (外部電源は使用せず、io11をvccへ接続しています)

    ■質問①
    TestOpenボタンを押下すると以下のエラーが頻発します。
    ーーーーー
    Error: spi bus fail
    Object{message:spi bus fail, url:https://unpkg.com/obniz@latest/obniz.js, line:19373, colmun:13}
    ーーーーー
    ※10回に1回くらいは成功する感じですが法則性が見つかりません。
    ※電源投入後最初の1回は成功確率が高いかもしれません。
    ※エラーの時は瞬時にエラーが返ってきます。

    こちらの症状を解決するためのアプローチを
    教えていただけませんでしょうか?
    原因が、
    回路構成を含むハードウェア側なのか
    ソフトウェア側なのかの
    切り分け方法もわからない状態です。

    ■質問②
    上記のエラーが発生せずに撮影に成功した場合は、
    撮影画像がブラウザ上に表示されることを
    期待しているのですが、表示されません。
    0_1563000956824_qa1.png
    上記赤丸部分を右クリックして
    「画像だけを表示」を選択すると以下のように
    画像が壊れている旨のメッセージが確認できます。
    0_1563000964304_qa2.png

    ソースコード上の

    const data = await cam.takeWait('1024x768');

    ここで、dataに期待通りに返ってきていないか、

    const base64 = cam.arrayToBase64(data);

    ここで、期待通りにエンコードされていないのでは?
    と考えているのですが、
    こちらも解決するためのアプローチを
    教えていただけませんでしょうか?

    以上、よろしくお願いいたします。



  • @goose 大変遅くなってしまい申し訳ございません。SPI通信について"ときどき"失敗するとのことですが、通信速度がお持ちの構成に対して速い可能性があります。速度を1Mhzや500kHzなどに落としてご確認いただけますか。ドキュメントにありますspi_frequencyがspi通信速度に関する設定となっています。

    また、画像が出ない件についてArducamは市場に2バージョンあるようでして、弊社のライブラリでは今は片方にしか対応しておりません。ユーザーの方でこれに対応された方がおります。
    https://qiita.com/y-hira/items/0a1f4a69f1b1e858a916
    こちらが参考になるかと思います。

    よろしくお願い致します。



  • ご回答ありがとうございました。

    質問①、質問②共に解決いたしました。

    質問①の方は、
    spi_frequency の値を変更することで、成功率が大幅にアップいたしました。

    質問②の方は、
    私の使っているカメラが記事の通り Mini-2MP-Plus でしたので、data.unshift(255); を追加することで無事に画像表示されました。

    これで、ますます Obniz が楽しめそうです。
    今後ともよろしくお願いいたします。


Log in to reply
 

SUGGESTED TOPICS

  • 5
  • 2
  • 1
  • 3
  • 4
  • 2
  • 3
  • 2