robo8080のブログ

ロボット製作や電子工作など。

mbed + トラ技カメラBの実験。(その1)

2012年02月22日 | mbed LPC1768

トランジスタ技術2012年3月号の特集で使っていたカメラモジュールが面白そうだったので、mbedでも使えないか実験してみた。

特集で使っているカメラモジュールには頒布カメラAと、頒布カメラBの2種類ある。

カメラAは動作電圧が3.0Vまでで、外部から24MHzクロックを入れてやる必要がある。

カメラBは動作電圧3.3Vでクロック内蔵だから、外付け部品なしでmbedに直結出来そうだ。

さっそくトラ技カメラBを入手して配線。

  

 

色々調べてみたら、すでにmbed + トラ技カメラBを動かしてプログラムを公開している方がいたので、ありがたく使わせていただくことにした。

ここのプログラムをインポートして試してみたらすんなり動いた。

OV7670_with_AL422B_QQVGA_test

mbedとカメラBの配線は直結で良かったが、SCL端子は2.2Kの抵抗で3.3Vにプルアップが必要だった。

 

 

これで、とりあえずカメラから何らかのデータを取る所までは出来た。

今度はこれを表示してデータが正しいか確認してみる。

  

 

画像データをUSBシリアルモジュールでPCに送り、Processingで表示してみた。

 

 

動いた!!ちゃんとカメラ画像が表示された。(左はちょっと手振れ)

    

 

カメラ画像が取れるようになったので、今度はMARY OB基板(OLED)に表示してみる。

配線がすごいことになってる。(^_^;)

  

 

MARMEX_OB基板もライブラリが公開されているので使わせていただく。 

MARMEX_OB基板OLEDライブラリ (MARMEX_OB_oled)

なぜかMARMEX_OB基板OLEDライブラリは、mbedライブラリを最新版(Revision39)にすると動かない... 

以前使ったRevision28があったので入れ替えてみたら動いた。

(@nxpfanさんのところではRevision39でも問題なく動作するという報告を頂いたので、これは自分の環境だけの問題かもしれない。)

 

 

やっと、MARMEX_OB基板OLEDライブラリが動くようになったので、カメラ画像を表示してみた。

  

 

参考までに、私が実験した手順をメモしておきます。

【手順1】

mbedとトラ技カメラB、MARMEX_OB基板の配線。

ピン配置等は、トラ技の記事やカメラBの資料、MARMEX_OB基板の資料、後で出てくるソースファイルを参照してください。(手抜きですみません。)

カメラと接続するSCL端子を2.2Kの抵抗で3.3Vにプルアップする以外は直結でOKでした。

【手順2】以下の2つのプログラムをインポートする。

OV7670_with_AL422B_QQVGA_test

MARMEX_OB基板OLEDライブラリ (MARMEX_OB_oled)

 【手順3】

”OV7670_with_AL422B_QQVGA_test”を改造ベースにするので、必要に応じてプログラム名を変更しておく。

次に、”MARMEX_OB_oled__HelloWorld”から下図のように2つのファイルをコピーする。(Ctrlキーを押しながらドラッグ&ドロップ)

 

 【手順4】"main.cpp"へ下図赤枠のように追加する。

 

  【手順5】"main.cpp"へ下図赤枠のように追加する。

 

 

【手順6】

プログラムをコンパイルして実行ファイルをmbedへダウンロードし、mbedをリセットする。

シリアルターミナルから何かキーを入力すると、このようにMARMEX_OB基板にカメラ画像が表示される。

 

 

表示速度を調べるために、カメラ画像取得->OLED表示、を連続でやるように改造してみた。

表示速度は1fpsぐらいかな。OLEDへの表示をやらずに、カメラ画像取得だけなら2~3fpsぐらい(LEDの点滅を見た感じ)。

 

(その2)へつづく... 


最新の画像もっと見る

コメントを投稿

ブログ作成者から承認されるまでコメントは反映されません。