PIC16F84Aでテトリス?!?対戦ピンポン???


この記事は、紹介記事です。オリジナル記事への補足や、製作例、参考になる情報として掲載しております。
当方からのサポートは行いません。またご質問にも一切応じられませんので予めご了承ください。


山形県立産業技術短期大学校バージョン
わたしの完成品


山形県立産業技術短期大学校情報制御システム科2004年度 オープンキャンパスで、実際に教育実習に使われました。基板のデータなどは、ご連絡頂きましたSenshuさんより頂きましたzipファイルをダウンロード(今のところ二次配布はメール等で御連絡ください)できます。このファイルに使われている基板作成データは、フリーウェアソフトであるプリント基板エディタ pcbeで開く事が可能です。また、私の方で修正した回路図(zip)もダウンロードできます。併せてご利用ください。

Senshuさんにはデータを頂き、また抵抗等の見直しをして頂き大変有難うございました。また、データを頂いたのにも関わらず公開が遅くなりまして失礼致しました。


とうとうというかなんというか、来たるべきものが来たという感じのHPを見つけた。
いろいろ説明する前にまずはこれを




これは、いずれもPIC一つでやっているのである。
基板は30分でつくり、電池は5Vを作るのが面倒だったので、そばにあったCR2032のリチウムを使い、オーディオ出力は、クリスタルイヤホンで代用した。(RA4はオープンドレインなので、プルアップが必要)
効果音でなく、BGMを鳴らすという、いかに無茶しているプログラムかがお分かりになるであろう。

瀬戸口氏のブレークアウトゲームは、ビデオ出力にトランジスタを用いてエミッターフォロアを形成していたが、これは、ビデオ内部の終端75Ωを当てにして作られている2ビットDACなのだ。詳しい事はグーニーさんのHP説明しているので是非参考にしていただきたい。

私は、動作チェックを兼ねて操作スイッチとかをつけておらず、センシティブになったピンを指で触ってスイッチを押した動作とかで、この映像を撮り終えたが、最終的には箱に入れてスイッチをつけるつもりである。
オリジナル回路では、レガシーなDSUB9ピンのパッドをつけるようになっているが、スイッチ5個で十分である。ピンポンの場合は2player側も必要であるが、移動が上下である為、6個でよい事になる。しかし、両方のゲームをプレイしたければ、合計10個、それとリセットスイッチ1個、電源スイッチ1個を実装した方が便利であろう。

製作上の注意としては、オシレータが厳密に12MHzを使わないと、同期信号が狂う。
場合によってはxtal in側に50pF程度のトリマーコンデンサーで微調整できたほうがよいかもしれない。(その場合はC2を外す)

レゾネーター使用の場合は、3本ある両方をY1,Y2として接続し、真中をグラウンドに接続、30pFのコンデンサは実装しない。
レゾネーターは5%の製品誤差があるので、10個くらいまとめて買って選別して使ったほうが良い。なにせ安いので。クリスタルが手に入ればそれに越した事はない。最近のレゾネータの周波数誤差は1%以下です。
電圧は3.2Vで動かしたが、これだとこの定数では厳密にはビデオ信号レベルが低い。3Vへの改造を行うのであれば、330Ωと820Ωあたりに抵抗を交換すべきであろう。(計算式は彼のページにあります)
コードもきちんとした同軸ケーブルを使う。こんなラッピング電線で繋ぐなんて邪道だ。
テレビによっては画像が不安定になる可能性もある。そうであれば、ブレークアウトのエミッターフォロア回路を付加した方がよいであろう。あれは、秋月のパチンコLCDでも映るのを私は確認している。

テレビによってはコンデンサカップリングされているタイプもあり、映像がうまく出ないという事が報告されている。また、ジョイスティックの配線が90度ひっくり返って配線されていたので、私なりに修正した回路図を添付する。ちなみに、S3のスイッチは使ってないのでプルアップだけでよい。



さて、このまま実験レベルで放って置いてももったいないので、これをきちんとケースに入れる事にした。秋葉原のジャンクでファミコンのコントローラを探して、その中に入っているシリアルパラレルの変換ICのフットプリントを利用すれば簡単にいけるだろうと思ったのだが、手に入ったのは、スーパーファミコンの連射ジョイパットだった。これに回路を組み込んでしまおう。

これに、この回路を入れてしまう。元祖ファミコンのコントローラなら組み込みがもっとスマートにできるんだけど、このコントローラが手に入ったという事だけでもよしとしよう。
基板は、ゲートアレーが一つとコンデンサ、抵抗が数個、そしてハーネス接続のコネクターが一つ。
せっかく連射とかできるのだが、必要がないので、全部部品を取り去る。
とり方は、半田吸い取り線をICに巻きつけて、
半田を大量に流し込んで
滑らせると簡単に取れる。
コネクターも半田吸い取り線を使って取り去る。ほかに、チップ部品も取り去ってしまう。
剥き出しになったパターンの上に、カプトンテープを使って絶縁する。
コネクターのあった部分を利用してICソケットを固定する。
配線は、ポリウレタン線をつかって、スイッチの部分を引き出す。電源スイッチは、連射スイッチの部分を利用。
配線はこんな感じになった。あまり綺麗でない。出来上がったら、エポキシで固める予定。(この回路は、トランジスタを使っていません)
出来上がった図。コネクターがピンコードになった以外は、見た目が全然変らない。
早速つかってみる。なかなかの操作性。
初回は297点。撮影であせりすぎたか(?)
このプログラムに完璧さを求めてはいけない。PICでできるからこそすごいのだ。


プログラムは、ここのページの後半にあるDownloadよりpictetris.zip (83kB)からダウンロードできる。(グーニーさんのHPがつながらない場合は、ここ)PICの書き込みは秋月ライターを使用した。ZIPを解凍したときにある、xxxntsc.hexをPICにそのまま書けばそれで終わる。

また、TVのエミュレーションをやってのけるシミュレータも存在する。しかもJAVAでコンパイラ付と来たものだ


 

Core files - v1.7.9 Executable and Files.....正直、奥が深い。


戻る


2008/3/26 リンク修正
2005/1/8 図面を修正しました。
2004/11/15 初版

ホーム