t3ta blog

作ったり登ったりします

OV2640をESP32-DevKitCに繋いで写真を撮ってみた その2

前回の記事:OV2640をESP32-DevKitCに繋いで写真を撮ってみた その1 - t3ta blog

前回はOV2640で写真を撮影することに成功した。(本当か?)
しかし、少々画像が乱れていたため、今回は鮮明な画像を取得するまでを書きたいと思う。

原因はいくつか考えられた。

  1. 配線が雑だったため、接触が悪かったり、絶縁できていなかった(ハードウェア側の問題)
  2. デモプログラムの設定が適切ではなかった(ソフトウェア側の問題)

1は導通確認を再度行なったところ問題なかったので、2に絞って調査を行なった。
本当は原因がわからずかなり苦労したが、そこに至るまでの過程はここでは割愛して、結果だけ書く。

原因はクロック周波数だった。
igrr氏によるデモではXCLK(OV2640のメインクロック)は20 MHzに設定されていた。
データシートによるとMin値が6 MHzでTyp値が24 MHzなのでデモで指定されているクロック周波数は範囲内であるが、これを6 MHzに変更することで正常に動作した。

f:id:t3ta:20180128123658j:plain

やったーーーーーー!!!!!

なぜ20 MHzでは動作しないのか調査をしたが、同じような事例は確認されなかった。
水平同期が上手く取れていないように見えるが、よくわからない🤔
個人的にものすごく気になるところなので、暇があれば今後も調べてみたいと思う。(わかる人いたら教えてください)

ひとまずJPEGを取り出すことに成功したので、次回はこれをUDPで飛ばしてみようと思う。