特別寄稿
2024年2月1日掲載
「太鼓の達人」というバンダイナムコゲームスが出している和太鼓リズムゲームがあります。家人がプレイステーション2で遊んでいたのですが、飽きてしまったらしく埃を被るようになりました。せっかく買った専用コントローラー(タタコン)を捨てるのは忍びないので、何かに使えないかな・・・と考えて、キーヤー(モールス信号を送信する装置)を作ることにしました。
モールス符号は長点と短点の組み合わせで構成されています。例えば'A'なら・-、'Z'なら--・・のようになっています。タタコンは図1のように面とフチで入力が可能ですので、太鼓の面(ドン)の部分を叩くと長点を送出、太鼓のフチ(カッ)の部分を叩くと短点を送出するようにしました。
図1: タタコンの操作説明 バンダイナムコゲームスの商品ページから引用
つまり、'A'を送出したい場合は、フチを1回叩いた後に、面を1回叩きます。'Z'を送出したい場合は、面を2回叩いた後に、フチを2回叩きます。
SELECTボタンとSTARTボタンで速度を調整可能としました。SELECTボタンを押すと速度が遅くなり、STARTボタンで速度が早くなります。最高速度は40WPM、最低速度は5WPMで、43段階の調整を可能としました。次回電源投入時は最後に設定した速度が保持されます。短長点レシオは1:3の固定です。
(1) ハードウェアについて
外観写真とブロック構成は以下のとおりです。
写真1: ハードウェアの外観
図2: ハードウェアのブロック構成
中心となるのは、Arduino NanoというATMega328Pを使用したマイコンボードです。これにプレイステーションのコントローラーのコネクタを接続して、タタコンの状態を読み取ります。
タタコンの面はコントローラーの「左」または「◯」ボタン、フチは「L1」または「R1」ボタンに割り当てられています。面またはフチが叩かれたら、その状態変化を読み取り、長点または短点のキーイング動作を行います。13番ピンに接続したフォトカプラ(TLP621-1)を駆動してモールス信号を送信します。
秋月電子の4穴タイプの片面Dタイプのユニバーサル基板を使用して組み上げ、コネクタは結束バンドで固定しました。図3に示すコネクタはアリエクスプレスで、1.2USD程度で購入しました。
図3: アリエクスプレスで販売しているプレイステーションのコネクタの例
プログラムのフローチャートは図4のとおりです。
プレイステーションコントローラーの状態を読み取るライブラリは、Gyokimae氏が制作したArduino用PS2インターフェース・ライブラリを使用しました。
電源が投入されたら、各種初期化のあと、5msごとに割り込みが発生するタイマーを開始します。つまり、ポーリングレートは200回/秒です。タイマー割り込みが発生すると、タタコンの状態を読み取ります。
キーダウン状態でない時、タタコンが叩かれていたら、長点または短点の時間のキーダウンタイマを開始し、キーダウンを行います。キーダウンタイマが満了するとキーダウン状態を終了します。
セレクトまたはスタートボタンが押下されると、キーヤーの速度を変更し、EEPROMに保存します。すべての処理をタイマー割り込みで行うため、メインループに処理はありません。githubにコードを公開しましたので、改造などはご自由にどうぞ。
図5: githubのリポジトリ
実際に叩いてみると、リズムに乗っている感が強いので、パドルを使うより楽しい気がします。 (^^) サンプル動画はココをクリックしてください。
ドンだー(「太鼓の達人」で遊ぶ人)の方々にモールス信号やアマチュア無線を身近に感じていただくきっかけになればと思います。
アマチュア無線関連機関/団体
各総合通信局/総合通信事務所
アマチュア無線機器メーカー(JAIA会員)
©2024 月刊FBニュース編集部 All Rights Reserved.