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);

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

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


  • administrators

    @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 が楽しめそうです。
    今後ともよろしくお願いいたします。


 

Recent Projects

  • @nak435 かしこまりました。よろしくお願いします。

    read more
  • @Yuki-Sato さん、

    外部の3.3vを使うとはいえ普通にvccやgndを供給して問題なくうごくのであれば、弊社での動作確認後Flick Hatのライブラリとして公開できればと思っているのですがいかがでしょう。

    今週末に確認しますので、お待ちください。

    read more
  • @nak435 時間がかかってすいません、

    なんとか3.3vをgndにつないでFlick Largeを動かしたかったのですが、うまく動かすことができなかったです。
    3.3vをgndを繋がずに接続するというのはライブラリで推奨して伝えることは難しいと思ってます。

    Flick LargeでなくFlick Hatの方で、外部の3.3vを使うとはいえ普通にvccやgndを供給して問題なくうごくのであれば、弊社での動作確認後Flick Hatのライブラリとして公開できればと思っているのですがいかがでしょう。

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

    read more
  • @nak435 ありがとうございます。
    接続は3.3vのgnd以外同じでした。
    エラーはそのせいかもしれませんが、しかし電気的にはgndを繋がない場合3.3vとしてうまく供給できないはずなのでそこが不思議です。

    教えていただいたプログラムの部分を修正して試してみたいと思います。
    また少し時間がかかりそうなのですが、早めに試したいと思います。

    引き続きよろしくお願い致します。

    read more