※工事中

概要
PCに縦振電鍵やエレキーパドルをつないでDitDahChatで使用するためのアダプタです。
DitDahChatについてはこちら。
仕組み
DitDahChatではPCのキーボードを使ってモールス信号を入力します。詳細は省きますが、'[‘キーが左パドル、’]’キーが右パドルに対応しています。縦振電鍵の場合はどちらのキーでもOKです。
それならば、その二つのキーだけに対応したキーボードがあれば事足ります。そして、キースイッチの代りにパドルや縦振電鍵をつなげば良い。
最近は「自作キーボード」が流行っており、そうした情報やデバイスの入手は容易です。ちょっと前ならArduinoを使うことが多かったようですが、今はUIAPduinoといういわゆる「290円マイコン」もあります。
名前から想像できるように、このマイコンもArduino IDEで開発できます。格安ですし、マイコンの入門・学習用としても良さそうです。
ということで、このマイコンを使って作ることにしました。しかし、実際にやってみるとArduino IDEではUIAPduinoをHID(Human Interface Device)として動作させることができません(UIAPduinoはArduino IDEでシリアルコンソールが使えないのも、おそらくそのため)。しかたないのでVS Codeで開発しました。
こちらが実際の動作の様子です。
仕様
- PC I/F: USB Type-C(UIAPduino)
- 電鍵・パドル接続方法
- 3.5mmステレオジャック
- 縦振電鍵・エレキーパドル自動判別
- 縦振電鍵: 2pin プラグ
- エレキーパドル: 3pin プラグ
- 起動時に自動判別
- 出力キーコード
- ‘[‘ および ‘]’
- ‘左Ctrl’ と ’右Ctrl’ に変更可能(ジャンパ設定)
- ジャンパの設定を反転させることも可能(起動時に電鍵・パドル操作)
Windows 11で動作を確認しています。Macは未確認です。
iPhone(iOS 26.5.2)でも動作を確認しましたが、かなりクセがあります。まず、本機をつなぐとスクリーンキーボードは無効になるようです。そのため、DitDahChatへのConnect等の操作を済ませてから本機をつないでください。また、一旦、他のアプリなどに切り替えると入力されなくなるようです。ブラウザのウィンドウを閉じて、DitDahChatへのConnectからやり直してください。
Fire HD 8は、手元のものが古すぎるのか、動作はするけれど、タイムラグが大きく、取りこぼしも多くて使い物になりませんでした。
使い方
本機の他に、以下のものが必要です。
- 縦振電鍵/エレキーバドル
- 3.5mmプラグ(縦振電鍵の場合は2 pin、エレキーパドルなら3 pin)
- USB Type-Cケーブル(もう一方はPC等に合せてください)
- PCなど
縦振電鍵、または、パドルを接続して、PCにつなぐだけです。PCからはUSBキーボードとして認識され、Windows 11では「DitDah Paddle」として表示されます。

起動時に出力キー設定の状態をUIAPduinoのLEDにモールスコードで表示します。
- ‘[‘ と ‘]’: Bを表示(Bracketの意)
- ‘左Ctrl’ と ’右Ctrl’ : Cを表示(Ctrlの意)
電鍵・パドルを操作すると、所定のキーコードがPCに送られます。また、このとき、UIAPduinoのLEDを点灯させますので、簡易的な動作チェックができます。
電鍵・パドル接続
「仕様」の項に記載したとおり、縦振電鍵は2 pinプラグで接続します(入手都合などで3 pinプラグを使うなら、中間リングの端子はGNDにショートさせてください)。
エレキーパドルは3 pinブラグでつなぎます。
後述の回路図をご覧になると分かる通り、本機では電鍵の接点をマイコンの入力で受けているだけです。したがって、一般的なエレキーの出力も接続できます(フォトカプラ出力やオープンコレクタ出力なら大丈夫だと思います)。この場合は縦振電鍵と同じように2pinのプラグでつないでください(一般的な無線機と同じです)。
出力キーコード変更
組立時のジャンパ設定によって'[‘と’]’のペアか、’左Ctrl’と’右Ctrl’のペアのどちらかのキーコードが出力されます(製作編を参照)。
両方のバドルを押さえた状態で起動する(USBプラグをつなぐ、または、UIAPduinoのリセットボタンを押す)とジャンパの設定とは逆のキーコードペアを出力します。つまり、ジャンパで'[‘と’]’に設定していた場合は、この操作で’左Ctrl’と’右Ctrl’のペアが出力されるようになります。どちらの設定かは起動時のLEDの点滅で確認してください。
製作編
ここでは、本機を組み立てる際に注意すべき点について記します。
プログラム書込み
最初に、マイコンモジュールにプログラムを書き込みます。
コンパイル済みのバイナリファイルはこちらです。
書込みにはminichlinkを使います。書込み時にはUIAPduinoを書込みモードにするのを忘れないように。
(minichlinkのパス)\minichlink.exe -c 0x1209b803 -w ddci01.bin flash -b
しかしながら、私の手元の環境ではオリジナルのminichlinkでは書込みが不安定でした(途中で止まってエラーになるとか、一旦エラーになったらPCを再起動しなければ書き込めないとか)。Arduino IDEにUIAPduinoの開発環境を入れると専用のminichlinkがインストールされ、それを使うと安定して書き込めたということを補足として記しておきます。
C:\Users\(ユーザー名)\AppData\Local\Arduino15\packages\UIAP\tools\minichlink-2982dfd\1.0.0\minichlink.exe -w ddci01.bin flash -b
プログラムが正常に書き込まれると、UIAPduinoのLEDが「ー・・・」と点滅します(モールスコードの’B’)。見逃した場合は、リセットボタンを押すか、USBケーブルを挿し直して再起動させてみてください。
※ソースコードは追って公開する予定です。
回路図等
回路図は下のとおりです。チャタリング対策が入っているだけで、基本的にはマイコンにスイッチを二つつなぐだけの構造です。

基板組立て
単純な回路ですので、部品表は用意しません。抵抗(✕2)、コンデンサ(✕2)、3.5mmジャック、マイコンモジュールを所定の場所にハンダ付けするだけです。

最初に抵抗をハンダ付けします。端子間は5.08mmピッチですので、1/6Wタイプの小型品を使います。それでも結構狭いので、抵抗の足はしっかり折り曲げてください。

切り取った抵抗の足を使って、マイコンモジュールを取り付けます。向きに注意してください。USBコネクタに貼ってあるシールはプログラム書込み済みの目印ですので、はがしても構いません(シール色は上のものとは違う場合がありますが、意味はありません)。

最初は四隅をハンダ付けすると良いと思います。動いてやりづらいと思いますので、マスキングテープなどで仮止めしたほうが良いかも知れません。
上からハンダ付けすると、スルーホールを通して下の基板までハンダが流れて固定されます。四隅を固定したら同じように他の端子もハンダ付けします。

なお、すべての端子をハンダ付けする必要はありません。電気的には基板裏面に黒丸を付けた四つのピンだけつながっていればOKです。その他は固定の補強用ですので適当に(私は四隅の他に電気的接続に必要なところと、USBコネクタ側を左右数か所ハンダ付しました)。

マイコンモジュール側からだけでなく、基板の裏からもハンダを流してください。
マイコンモジュールの次は、コンデンサとジャックを取り付けます。ジャックの足は短く切ってから取り付けてください。
裏面の中央付近にハンダジャンパ(JP1)があります。出力キーコードの設定です。オープン状態で'[‘ と ‘]’、ショートすると’左Ctrl’ と ’右Ctrl’になります。起動時の操作で逆転させることも可能です(上述のとおり)。
余談ながら、抵抗とコンデンサはリード部品・チップ部品のどちらでも実装できるようにしてあります(キットではリード部品です)。


動作テスト
プログラムを書き込んだUIAPduinoをPCにつなぎます。起動時に所定のメッセージをLEDの点滅で表示します。
続いて、左右のパドルを操作してUIAPduinoのLEDが点灯することを確認します。
‘[‘と’]’のペアの設定なら、適当なテキストエディタ(メモ帳など)に'[‘や’]’が入力できるはずです。
または、Keyboard Event Viewerなどのツールでキーコードを確認してください。これなら’左Ctrl’や’右Ctrl’も判別可能です。
上手く動作しない場合は、ハンダ付けを見直してください。
熱収縮チューブ
最後に熱収縮チューブを被せて保護します。
その前に、もし、部品の足が長いようなら、短く切ってください。また、切った足はコテで再加熱してください。切り口がハンダで覆われて丸くなり、チューブが破れにくくなります。
また、フラックスも除去しておいたほうが良いと思います(見た目的にも)。
熱収縮チューブを収縮させる際には、熱の加えすぎに注意してください。3.5mmジャックが変形してしまうとプラグが挿せなくなります。


