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)へつづく... 


2月21日(火)のつぶやき

2012年02月22日 | 日記
08:46 from Janetter (Re: @nobonobo
なるほど~。ありがとうございます。 RT @nobonobo @robo8080 @ssci ODB-II という規格でbit.ly/zInKcS こういうのが2000年以降の車(国産含む)にはすべて備わってて、かなり豊富な診断情報が拾えるらしいですよー。

11:37 from Tweet Button  [ 2 RT ]
おっいいな。Windows Vistaおよび7でも利用できるアプリをインストールすると、SkyDriveはPC上の「SkyDrive」フォルダと常に同期し、フォルダでの変更はすぐにSkyDriveに反映される。- ITmedia ニュース itmedia.co.jp/news/articles/…

13:21 from Janetter
YouTubeに投稿した動画の総再生回数がちょうど8000回。(^_^)/ twitpic.com/8mo0lx

15:00 from Janetter
mbed Libraryを古いRevisionに戻すのってどうやるんだろ... #mbed

16:40 from Janetter (Re: @nxpfan
おお動作確認ありがとうございます。何が違うんでしょうね。 RT @nxpfan @robo8080 気になったので,mbedライブラリをrev39にアップデートして動作を確認してみたところ,こちらの環境では動いているようです.(SPI関連で何か細かい違いがあるのかもしれませんが)

16:46 from Janetter (Re: @nxpfan
@nxpfan ちなみに39にアップデート後、mbedの電源を一度落としましたか? 電源を落とさないとOLEDに前のデータが残っているので、何度かはまりました。(^_^;) ご存じとは思いますが念のため。

17:26 from Janetter (Re: @nxpfan
お手数おかけしてすみませんでした。動作確認ありがとうございました。 RT @nxpfan @robo8080 おお.ちゃんと電源再投入したかどうか不安になってもう一度確認しましたw しかし電源を完全に入れなおしても問題なく動作.再現しませんでした (´・ω・`)

by robo8080 on Twitter