コメを噛め

コメを噛め

rerofumi の電子工作メモ

hatena bookmark

その昔、Z80 とかの時代はコンピューターも偉い簡単な回路で組まれていてそれで TV に出力とかしていた。
んじゃあ、今の割と高速な PIC 単体で TV 出力できるんじゃないか、とか思って調べてみたら当然のようにヒット。
ルーツはトランジスタ技術の 1997/5 号に掲載された PIC を使ったワンチップブレイクアウト(ブロック崩し)らしい。えらい古い話だなあ。
その記事自体はPIC工作総集編の本に混ざっているけれども、ソースコードは今でも CQ出版のサイトからダウンロードすることができる。
WEB上でもあちこちで実際に作った体験記や回路図などが残されている。取り敢えずここあたりを参照して、リンクを飛び回るとよろし。
回路もえらい簡素で、ビデオ出力周りは抵抗数個とトランジスタだけで構成されていてびっくり。これなら作れそうだ。

どうせ作るなら(ソフトを自分で書く気) Pong が良いな。最近は Pong が見直されている不思議なご時世だし。
ということで調べてみたら海外の方でいくつか PIC-Pong の作例が見つかった。
そのうちの 1つが凄い。ビデオ出力に抵抗 2本しか使っていないのだ。


回路図で言うとこんな感じ。って書いてみせるのも気抜けするほど。

こちらのサイトにえらい詳しい説明があるのでそちらを参照してもらいたいあたり。
まず前提としてカラーは無理なのでモノクロだけを扱います。NTSC でカラーを扱おうとするとバースト信号の記述とそれとの位相差記録が必要で PIC では到底間に合いません。
で、モノクロをコンポジットで出力するには 0〜1.0V の電流をお約束に従って流し込んでやればよい。通常の信号無し状態が 0.3V で、0V に立ち下げると Sync 信号、0.3〜1.0V が輝度信号として扱われる。
つまり、黒と白だけの画面ならば 0V, 0.3V, 1.0V 三種類の電圧があれば作ることができる。これを PIC の I/O out から抵抗による電圧降下で作り出すってわけ。TV 側のコンポジットが内部抵抗 75Ωなので、それを含めて計算しているところがミソ。
ブレイクアウトも同等の回路で出来るはずだけれども、PIC-Pong は 5V 回路でブレイクアウトは 3V 回路なので注意。そのまま 5V にして TV 出力周りを持ってきても問題ないけど、パドルの値を読み取る CR 回路に影響がありそう。3V で抵抗の値を計算し直した方が早いか。

というわけで抵抗 2本を用意してそれだけで本当に TV 画面になにか画を出すことができるのかを実験。


なんか出た。ふにょふにょに歪んでいるけど出たことは確かだ!
クロック数とタイミングをパズルのように積み重ねていかないとならないのでかなり面倒。簡易ペンオシロがなかったらここまでたどり着けなかったかも。
PIC12F683 を内部クロック 8MHz で動かしているんだけれども、そのクロックの不安定さが画面に出ているんだろうか。

取り敢えず最初の一歩。先は長い。
—–

Leave a Reply