トラ技Jr.のAI関連のWeb記事

トラ技Jr.で「Jetson AI Specialist」のWeb記事を書かせて頂きました。これで「Jetson AI Specialist」に認定してもらいました。

 

toragijr.cqpub.co.jp

 

f:id:nicotakuya:20210714151337j:plain

100円玉を数える装置

提出課題として、100円玉を数える装置を作りました。骨組みの部分にはLEGO education SPIKEを使ってみました。

 

PCエンジン用ゲームパッド・モジュールの自作

f:id:nicotakuya:20210622120632j:plain

PCエンジンゲームパッド・モジュール

 (miniではない)PCエンジン用のゲームパッドを自作してみました。ゲームパッドの形状をしていないので、正確にはゲームパッド・モジュールです。

PCエンジンゲームパッドは中古で2000円くらいで売っているので、自作のメリットはないと思いますが、作りたかったので作ってみました。

 

f:id:nicotakuya:20210622120856j:plain

純正ゲームパッド

まず最初に仕組みを調べるため、純正のゲームパッドを分解します。

この時代の製品はメンテしやすいので助かります。

 

f:id:nicotakuya:20210621124724j:plain

内部。基板の部品面

内部の様子です。メガドライブと同じ「74HC157」が入ってました。発売したのはメガドラより先ですが。

基板の左側に「74HC163」と書かれた空白部分があります。これは気になる。


f:id:nicotakuya:20210622120101p:plain

基板のハンダ面

見たところ、74HC163を付けると、ボタンの連射機能が追加されるようです。なんという親切設計。信号が衝突するので、J701/J702を外す必要があります。あと、速度設定用のスライドスイッチも必要ですね。

f:id:nicotakuya:20210622230131p:plain

回路図

仕組みがわかったので、回路図に書き写してみました。

回路はXHE-3によく似てます。こちらの場合は「~ST」端子が、7番ピンにつながっています。

XHE-3の場合は「~ST」がLowに落ちっぱなしで、7番ピンがDsub9pinの8番ピン(COMMON)につながっている点が違います。

 

f:id:nicotakuya:20210622120028p:plain

CADデータ

基板のCADデータを作ってみました。ボタンを付けず、入力用の端子を出すだけにします。基板の右側にはピンソケットと集合抵抗が付きます。

端子をGNDにつなぐとボタンがオンの状態になります。

「U」「D」「L」「R」が上/下/左/右ボタンです。1、2が Iボタンや IIボタン。

「セ」がSELECT、「ラ」がRUNボタンです。

「G」がGND、「V」がVCC(+5V)です。 

 

f:id:nicotakuya:20210620141144j:plain

プリント基板

プリント基板ができました。

 

f:id:nicotakuya:20210622120503j:plain

完成

組み立てるとこんな感じ。

74HC157は千石電商の地下で売ってます。8pinのミニDINプラグも千石電商で売ってます。

 

f:id:nicotakuya:20210622120632j:plain

コネクタが挿しにくい

ここで問題発生。 ミニDINプラグが太すぎて根本まで入りません。PCエンジン側の穴が小さいです。

しかたないので、プラグの外側のチューブを完全にハメ込まない状態で差し込んでます。

 

f:id:nicotakuya:20210622170329j:plain

PCエンジン用の自作プログラム

ボタンの動作チェックをしないといけないので、PCエンジン用のソフトを自作しました。

ボタンを押すと、それに対応するビットが0→1になります。GitHubで公開中。

https://github.com/nicotakuya/PCE_padtest

 

 

f:id:nicotakuya:20210623134821j:plain

フラッシュメモリに書き込み

ビルドしたら、ROMイメージを自作のメモリカードフラッシュメモリ)に書き込みます。

 

f:id:nicotakuya:20210623120254j:plain

テスト中の様子

PCエンジンの実機で動作テストしている様子です。

この場合、上ボタンの端子をGNDにつないでいるので、「UP」の項目が「1」になってます。

 

f:id:nicotakuya:20210623230503j:plain

ゲームボタンとレバーを接続

ゲーム用のボタンとレバーを付けるとこうなります。使いまわしなので、6ボタンになってますが、つながってるのは2ボタンだけです。

 

f:id:nicotakuya:20210624084945j:plain

XE-1 PROを接続

(2021/6/24追記)
アタリ仕様ジョイスティック(XE-1 PRO)を接続した例です。

  

sites.google.com

 

ガラスエポキシ基板の切断

f:id:nicotakuya:20210620141552j:plain

P板.com で複数の基板を一度に作ると、面付け作業と基板のカット代で5000円くらい値上がりしてしまいます。それを回避すべく、1枚の基板として作って自分で切断するという方法を試してみました。

上の写真では4枚の基板を1枚にまとめてみました。切断することを考えて、外形をデザインします。すき間を入れてます。

製造のルールにより、基板の両サイドでつなぎ目を5mm以上残す必要があります。

 

f:id:nicotakuya:20210620141959j:plain

紙フェノール基板だったらカッターで傷付けてから折るだけです。

しかし、ガラスエポキシ基板だと、その方法では切れません。

最初にミニルーター用の丸のこ(電動ドリル/ドライバーに装着)で切断を試みましたが、刃が木工用だったので、基板にちょっと傷が付くだけでした。ガリガリと騒音を出しまくって近所迷惑です。

 

f:id:nicotakuya:20210620161541j:plain

1.5mmのドリルで穴を空けてから折ってみました。一応、4枚のうち3枚だけ分離できましたが、バリが残ってます。折る時に粘りがあって、切断面が白くなります。

 

f:id:nicotakuya:20210621092632j:plain

そこで使ってみたのがダイヤモンドカッター。これは13年前にダイソーで売っていたもので、今のダイソーでは売ってません。昔のダイソーはミニルーターやハンダこてまで売ってました。

 

f:id:nicotakuya:20210621093124j:plain

本当に切れるのか半信半疑でしたが、問題なく切れますね。あっという間に基板が粉だらけになります。ディスクの側面を当てて、ヤスリがけもできます。最初からこれでやればよかった。

切った時に出る粉はガラス繊維で、肺に入ると有害です。マスクして作業した方がいいです。

 

f:id:nicotakuya:20210620141801j:plain

最終的にこうなりました。バリもなくなりました。
これで、製造コストを5000円ほど節約することができました

 

 

WonderWitch用の通信ケーブルの自作(update)

nicotakuya.hatenablog.com

前回の続きです。

WonderWitch用通信ケーブルを自作します。

f:id:nicotakuya:20210620141015j:plain

プリント基板化

前回はブレッドボードの回路でしたが、それをプリント基板にしてみました。形状が正確な四角形じゃなくて、ガタガタですが、気にしないでください。

 

f:id:nicotakuya:20210621001723p:plain

回路図を修正

回路図をちょっとだけ直しました。TXDに付いていた抵抗を取り去りました。

あと、プルダウン抵抗を追加しました。スワンにケーブルが差さっていない時、RXDにゴミデータを流さないためのものです。

 

f:id:nicotakuya:20210621000849p:plain

CADデータ

基板のCADデータです。

シンプルなので、ユニバーサル基板でも作れます。

 

f:id:nicotakuya:20210620161601j:plain

組み立て完成

完成すると、こんな感じ。

ワンダースワンは3.3Vで動くので、USBシリアルのI/Oは3.3Vモードに設定します。

 

f:id:nicotakuya:20210620234754j:plain

通信中

動作中の様子です。

問題なくTransMagicが動きました。

 

カセットビジョンの分解

カセットビジョン」を分解してみました。

スーパーじゃないほう(初代)のカセットビジョンです。

f:id:nicotakuya:20210608203941p:plain

カセットビジョンの外観

カセットビジョンの外観です。1981年エポック社が発売したTVゲーム機。

テニスゲームなどを遊べるようにパドルが4個も付いてます。レバーは2人プレイを想定して2つ付いてます。レバーは左右にしか動きません。「パクパクモンスター」は4個のプッシュボタンで操作します。

カセットビジョンの功績はファミコン発売の約2年前にカセット式というスタイルを世間に広めたこと。「きこりの与作」はハイテク満載の画期的なゲームでした。今だとショボいと思われますが、当時の反応は全く逆です。

f:id:nicotakuya:20210612070138j:plain

カセットビジョンの内部。ワイヤーだらけ

基板は全部で4枚。カートリッジ接続基板、RF基板、電源パネル基板、コントローラ基板。と勝手に名付けました。コントローラ基板⇨電源パネル基板⇨カートリッジ接続基板⇨RF基板の順につながってます。ファミコンと比べると、洗練されていなくて、ごちゃごちゃしてます。うっかりすると断線しそう。

カードエッジコネクタ(36ピン)は2.54mmピッチですね。これなら千石電商で売ってます。

基板の各所に端子名が印刷されています。親切です。

 

f:id:nicotakuya:20210612073511j:plain

ACアダプタ(非純正)を接続

説明書によると、専用のACアダプタはセンターマイナスのDC6Vとのこと。直径2.1mmのDCプラグが使えます。秋月製のACアダプタ(センタープラス)の極性を反転してつないでみました。

写真のものは定電圧タイプですが、これだと電圧が高すぎますね。定電圧なら5Vがいいと思います。基板上に三端子レギュレータが見当たらないのが怖いところ。

 

f:id:nicotakuya:20210612070457j:plain

カートリッジ接続基板。フラットケーブルが邪魔

A1〜A18、B1〜B18はカードエッジコネクタの端子名です。今回、分解した目的はこれを調べることです。

驚いたことに、テスターで測ってみると、VSSの電圧が「-5.5V」でした。マイナスの電圧です。うっかり壊したかと思って、血の気が引きましたが、どうやらこれが正常みたいです。この回路、GNDがVCCとして機能していて、VSSが信号のGNDとして機能しています。ACアダプタのプラス側がGND につながってます。ACアダプタのGND側がVSSに。

ややこしすぎます。

 

f:id:nicotakuya:20210612070416j:plain

カートリッジ接続基板(別アングルから)

フラットケーブルが邪魔だったので別アングルから。

GPとGPINは光線銃の端子ですね。

CLKは動作クロック(約3.579MHz)です。

Soundは音の信号。 

おそらく、Videoは映像信号。 B-Y、R-Y、CR-REは色の信号。基板の印刷そのまま書いたので、よくわかってません。同期信号が見当たりません。

上の図では、ところどころに「6V」と書いてしまったのですが、5Vが正解かもしれません。

 

f:id:nicotakuya:20210612070555j:plain

コントローラ基板

コントローラ基板です。ポートを節約するため、キーマトリックスになってます。「S~」が出力で、「K~」が入力。論理が不明ですが、スキャンしたい時は出力をLowにすると思います。

 

f:id:nicotakuya:20210612070534j:plain

電源パネル基板

電源パネル基板。スライドスイッチをONにすると、VSSがつながります。つなぐなら普通、VCC側だと思いますが、仕様が独特です。

 

f:id:nicotakuya:20210612070625j:plain

カセットビジョンのカートリッジ

カートリッジも分解してみました。これは「ギャラクシアン」。たぶんナムコと関係ないと思います。

端子名は本体側を調べた内容から推測しています。間違っていたらすみません。

カセットビジョンはカートリッジ側にCPU(NEC製)が入っています。ワンパッケージなので、Romの吸い出しができません。対応するエミュレータもないと思います。

カートリッジの自作もできないのが困ったところですが、CPUごと載せ替えればなんとかなるかもしれません。

あと、カードエッジのA18がなんなのか、わかりませんでした。

 

f:id:nicotakuya:20210612071720j:plain

RF基板

A18をたどっていくと、黄色いワイヤーがRF基板につながっていました。ここで手詰まりでした。ヒートシンクの下にRF信号を発生させるICがあり、そこにつながってます。

言い忘れましたが、RF信号でアナログ放送なテレビに出力するので、今の地上デジタルなテレビでは映りません。