SSブログ

OV7670 (FIFO無) を動かすには? [Arduino]

年越しテーマとなってしまった OV7670(FIFO無)。重い腰をあげ、Arduinoで動かすべく調査を再開しました。


OV7670.png


OV7670を駆動するには、前回の調査の結果 8MHz以上の入力クロック(XCLK)が必要だということが分かりました。


OV7670(FIFO無)のフレームレートを変更するにはどうすればいいの?
http://makers-with-myson.blog.so-net.ne.jp/2015-12-23


問題はMHzオーダーのクロックを Arduino から安定的に供給する手段です。Arduino の内部クロックを直接外に出せるピンはないかなと探したのですが、どうやらなさそう。

いろいろ調べたところ、皆さん PWM を使っている様です。PWM は AnalogWrite で使うのが一般的ですが周波数が低すぎ(490Hz)。MHzオーダーのクロックを得るには Fast PWM モードを使うのがよさそうです。


Fast PWM on ATmega328, up to 8MHz
http://withinspecifications.30ohm.com/2014/02/20/Fast-PWM-on-AtMega328/


う~ん、なんか難しい・・・。(´・ω・`)

細かい使い方は追々調べるとして、てっとり早いサンプルがないかなと探したら、グーグル先生から上記サイトの内容を補足してくれるスレッドを教えてもらいました。ありがたや~。


http://arduino.stackexchange.com/questions/9408/generating-a-pwm-frequency-greater-than-125-khz-using-arduino-uno
// A sketch that creates an 8 MHz, 50% duty cycle PWM and a 250 kHz,
// 6-bit resolution PWM with varying duty cycle (changes every 5 µs
// or about every period.

#include <avr/io.h>
#include <util/delay.h>

int main(void)
{
  pinMode(3, OUTPUT); // Output pin for OCR2B
  pinMode(5, OUTPUT); // Output pin for OCR0B

  // Set up the 250 kHz output
  TCCR2A = bit(COM2A1) | bit(COM2B1) | bit(WGM21) | bit(WGM20);
  TCCR2B = bit(WGM22) | bit(CS20);
  OCR2A = 63;
  OCR2B = 31;

  // Set up the 8 MHz output
  TCCR0A = bit(COM0A1) | bit(COM0B1) | bit(WGM01) | bit(WGM00);
  TCCR0B = bit(WGM02) | bit(CS00);
  OCR0A = 1;
  OCR0B = 0;
}


このコードの 8MHz output の設定を使えばよさそうですね。しかしPWMを使いこなすのはめんどくさそう。まだまだ調査は続きます。
\(`・ω・´)






OV7670 Camera Module 〈 Arduino関連 〉

OV7670 Camera Module 〈 Arduino関連 〉

  • 出版社/メーカー: elecfreaks
  • メディア:



サインスマート(SainSmart) Nano 3.0 互換ボード for Arduino

サインスマート(SainSmart) Nano 3.0 互換ボード for Arduino

  • 出版社/メーカー: サインスマート(SainSmart)
  • メディア: Personal Computers



Beginning Arduino ov7670 Camera Development (English Edition)

Beginning Arduino ov7670 Camera Development (English Edition)

  • 出版社/メーカー:
  • 発売日: 2015/07/03
  • メディア: Kindle版




nice!(40)  コメント(0)  トラックバック(0) 
共通テーマ:趣味・カルチャー

nice! 40

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

トラックバック 0

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。