(2020.12.17 作成)
このページではOmniVision社製のカメラモジュールOV7670について紹介してみたいと思います。
このカメラモジュールの歴史は古く2005年から発売されており、またとても安価なため多くのサイト様で使用例が紹介されています。
このためAliexpressで検索すると多くのショップで取り扱われています。
そして販売されているモジュールには大別してメモリを積んだFIFOありとメモリを搭載していないFIFOなしのモジュールに分かれます。FIFOありのモジュールは画像データを一旦メモリに蓄えることができるため安価なマイコンでも使用可能なのですが800円以上ととても高価です。
一方FIFOなしのモジュールは150円前後ととても安く、安物買いの銭失いをモットーとしている本サイトではもちろんFIFOなしのモジュールに魅力を感じます。
さて、そんな多くのサイト様で紹介されているOV7670をあえて紹介しようとした理由ですが、管理人としてはこのモジュールをカメラとしてではなく、単なる受光器アレイとして使ってみたということにあります。
安価なカメラであればこのOV7670以外にも多く発売されていますが、このモジュールはレンズとセンサが分かれており、レンズ部分を外すことで写真の様にセンサが露出します。
このようにセンサだけで使用すると3.6umのフォトダイオードが640x480個並んだ受光素子というとらえ方ができます。
具体的にはこのセンサを使うことでレーザーカッターの焦点調整に使えないかなと思ったことがきっかけです。
ということでこのページで紹介する使い方は
というものを目指しました。
ということでマイコンにはSTM32F103C8T6基板を使用し、全体でマイコンを合わせて500円以下でシステムの構築を行いました。
細かな使用法や苦労などは以下のリンクから見てもらうとして、出来上がったシステムとこのボードでキャプチャしたRAWデータを以下に載せます。
カメラとしての動作は期待していないので、これで問題のない出来上がりだと思っています。
使う上で参考になりそうなページをいくつか作成してみました。
以下のリンクから管理人が作成したソフトのソースコードをダウンロードしていただくことができます。
ただしこちらで紹介しているクラスを使用し、またPCソフトもOpenCVをDllとしてC#から呼び出しています。これらのすべてを逐一説明することは事実上困難なので、参考にされる方はぜひソースから読み取っていただければと思います。
なお、使用した開発環境ですが以下の通りです。
ソースを見ていただいてわかりにくい点があれば下のコメント欄で質問していただければと思います。できる範囲で回答したいと思います。
秋 (火曜日, 10 9月 2024 22:46)
こんにちは。
突然のコメント失礼いたします。
現在私はマイコンでFIFOなしOV7670モジュールを利用したいと思い開発を進めています。
その中でF1マイコンを利用しているコードをぜひ参考にしたく、ソースを確認しようとしたのですが、リンクが無効になっておりDLできませんでした。
もしよろしければ、再度アップロードしていただけないでしょうか。
以上、よろしくお願いいたします。