2010年10月10日日曜日

デジタルカメラを作りたいなぁ

Arduinoで遊んでいたら、最近はmbedやらSTBeeやら、高機能なブツが出てきて心惹かれます(まあArduinoもArduino Unoが出ましたけど、プロセッサ自体の性能差はいかんともしがたい)。

ROM/RAM多くてクロックも高速、となれば何ができるかな……と考えていて、ふと思ったのが自作デジタルカメラ。Toyデジカメなんていくらでもあるけれど、いいじゃん! 動いたら楽しいじゃん! ということで。

まずは調査。すでに取り組んでいる人もいるはず。


1. Arduino+VGA CMOS JPEGカメラ

ArduinoでGPSつきのデジタルカメラを作っているサイトを発見。日本語サイトだとここ(なんでも作っちゃう、かも)。Sparkfunで取り扱っているUART接続のVGA CMOSカメラ(OmniVision OV7640/8)をArduinoにつなげている。

このカメラモジュールはJPEGコーデックを内蔵している。つまりJPEG圧縮された画像がモジュールから出てくるということ。それならArduinoでも動かせる。けれど、JPEGエンコードされたデータしか出てこないので、LCDをつけてスルー画を見ることはできない。

Arduinoとは簡単につながるので、非常にいいなあって思うけれど、やっぱりスルー画は見たい。
と思っていたら、そもそもこのモジュールは現在(2010年10月10日)Sparkfunでデッドストック。

しかし同じようなJPEGカメラがサイレントシステムさんで取り扱われている(C1098 SS。5,800円)。こちらはOmniVision 7725。解像度は同じくVGA。興味があればどうぞ。


2. ARM9+1.3Mpx CMOSカメラ

AMTELのARM9ベースのマイコンAT91SAM9260を使って、1.3メガピクセルのCMOSカメラを制御されている方のサイト(マイコン工作実験日記)。香港にあるTechToysというところから、カメラモジュールと、LCD(タッチパネルつき!)を購入して使用している。AT91SAM9260に搭載されているImage Sensor Interfaceというインタフェースを活用し、カメラのスルー画をほとんどハード処理でLCDへと流しており、ソフトに負担のかからない処理を実現している。更にはlibjpgをARM9で動かしてJPEG圧縮もされている。すばらしい……。

TechToysのカメラはこれまたOmniVisionのOV9650。119USD(送料6USD)。カメラモジュールにJPEGエンコード機能は搭載されていない。

SDカードスロットもつけているし、この構成がズバリと言ってもいい。

しかしこのTechToys、至れり尽くせりのサイトになっていて、実はカメラをつなげられるイメージプロセッサ(JPEGコーデック+LCD制御+SDIO)+タッチパネルつき3.5" QVGA LCDの開発ボード、そして、更にそこに接続するPIC24/32ベースのマイコンが載った開発ボードも販売しているのだった。

その上サンプルプロジェクトで、カメラ制御のコードもダウンロード可能。

現時点でTechToysからカメラを買うなら、つべこべ言わずにすべて買ったほうが、簡単に目的を達成できる(カメラ19.9USD, イメージプロセッサ49USD, LCD 59USD)。でもそれって楽しいのか??

おっとしかし、マイコンボードは売り切れの模様。
まあ別のマイコンをつなげたらいいんだけど……。

頭が下がります……。
僕もマイコン工作実験日記さんと同じ構成にしたいけれど、ARM9の開発キットは2万円くらいするのでちょっと手が出ません。

ちなみに、aitendoさんのカメラモジュールはFPGAで使っている方も(FPGAの部屋)。


で、結局どうしよう?

 色々調べた結果、今のところ、オーストラリアの4D SystemsからカメラとLCDを取り寄せようと考えている。
カメラは、1.のArduino+カメラで調べたカメラモジュールと同じOmniVisionの7640。けれどこのμCamは、スルー画を出すモードとJPEG圧縮データを出すモードを切り替えられるらしい。ここがポイント。

これでJPEGコーデック処理に悩むことなく、デジタルカメラを作製できるのでは!? と期待している。

0 件のコメント:

コメントを投稿