« 「シャカシャカ・ホイップ」予備実験 #3 | トップページ | Arduino-UNOでtone()の挙動を調べる »

2022年1月28日 (金)

「シャカシャカ・ホイップ」予備実験 #4

ピコピコ・スイッチ
ボコスカ・ハンマー
シャカシャカ・ホイップ(まだ未完成)
この3ゲームをArduino-UNOで制御という試み、ざっと
できたのですが、「画面表示の割り込み元」を変えました。

『ピコピコ・スイッチ』、Arduino-UNOで動くように
で紹介しましたスケッチでは、
ATmega328Pの「タイマー1」で映像信号のタイミングを
作っていました。
それを「タイマー0」に変えたのです。
タイマー1は16bitなんでで発生させる周波数(周期)をこまかく
設定できます。
それを「音」の発生に使いたかったのです。

Arduino-UNOでは、タイマー0をシステムで使っています。
  (delayやmillisなど)
それを取り上げて、映像信号の発生に使います。
このためdelay、millisは使えなくなります。

もう一つの8bitタイマーであるタイマー2、このOC2B出力が、
INT1入力(エッジパルス入力)と重なっているのです。
タイマー0やタイマー2のPWMで周期を設定したいときは
OCR-Aレジスタで繰り返し周期を設定します。
   通常のPWM出力(analogwrite)はTOP値=0xFFの
   PWM動作モードが使われます。
   このモードでは周期の微調はできません。
すると、PWM出力の制御はOCR-Bレジスタですることになり、
OC-B出力を使うことになります。
INT1入力を使いたい(ピコピコの二つのスイッチ入力)ので、
タイマー2のOC2B出力は利用できません。

ということで、タイマー0のOC0Bを、映像の同期信号出力と
して使うことにしたのです。
ピンが変わるので、回路図も変更です。

※参考
2020年1月28日:Arduinoから「タイマー0」を取り上げる(ユーザーが使う)

|

« 「シャカシャカ・ホイップ」予備実験 #3 | トップページ | Arduino-UNOでtone()の挙動を調べる »

電子工作」カテゴリの記事

Arduino」カテゴリの記事

10秒ゲーム」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)




« 「シャカシャカ・ホイップ」予備実験 #3 | トップページ | Arduino-UNOでtone()の挙動を調べる »