数回に渡って開発してきたOV7670カメラの制御。カラートラッキングとりあえず完成。
外付けオシレータにしたら、カメラに供給していたクロックが正確に動作するようになって、きびきび動くようになりました。
動画内でフレームレートを30FPSとしていましたが、誤りで、ただしくは、15fpsでした。
カメラからの出力は、30FPSですが、PIC32MXの処理は、その1/2でした。
動画を削除しようかと思ったのですが、オシレータ設定は正しいので残したいとおもいます。
メインマイコンPIC32MX I2Cホスト ピン配
サブマイコンPIC16F1827 I2Cクライアント(Slave)ピン配
全体構成図
PIC32MXオシレータ設定
システムクロック120Mhz(PIC32MX最速設定)
外付けのセラロック10Mhzを付けたことで、REFCLKO端子からカメラに供給するクロックが安定した結果、計算通りのフレームレートで動作させることができるようになりました。
カメラの動き方
矢印は、画面上の動きで、ステッピングモータは180度逆の動きになります。
フレームレート
カメラから送られてくるフレームレートは、30FPS。PIC32MX側は、TFT液晶の転送などで、50msかかります。
なので、実質のレートインターバルは、64msとなり、約15FPSで画像を更新しています。
youtube動画のなかでは、30FPSとなっていますが、間違えていました。
内蔵RCオシレータからセラロックに変えたら、動作が見違えるように改善しました。あらためて、クリスタルオシレータの精度の良さを再認識しました。