モールス信号シールドArduino UNO用

概要

「モールス信号シールドArduino UNO用」は、Arduino UNOのシールドとして動作するエレクトリックキーヤーのキットです。東海ハムの祭典2016・関西アマチュア無線フェスティバル2016・ハムフェア2016で数量限定で頒布しました。Webからもご注文いただけます。

モールス信号シールドはマイコン単体で動作するエレクトリックキーヤーとしてはもちろん、PCなどからCOMポート経由でASCII文字列を受け取ってCW送出することができます。Tera Termなどのターミナルソフトや、自作のソフトウェアから簡単に制御することができます。なお、USBIF4CWとは仕組みが違いますのでUSBIF4CWの対応ソフトウェアは使用できません。

キットの場合はパーツを組み立ててシールドを完成させてください。シールド上には8×2キャラクタ液晶、ブザー、LED、タクトスイッチ、ボリューム、パドル入力端子(ミニジャック)、CW出力端子(RCAジャック)などがあります。ハンダ付けの難易度について、液晶の足が1.5mmピッチで最も狭く、それ以外の部品は2.54mmピッチ以上です。表面実装部品は使用していません。

モールス信号シールド外観

機能はサンプルスケッチをベースに自由にカスタマイズできます。サンプルスケッチではシンプルなスクイズキーヤーとゲームを実装しています。

スクイズキーヤーは、パドルを操作して出力されたCW符号を順次復号して8×2キャラクタ液晶に表示します。ゲームはパドル操作によるCW送出を練習できるものです。デジタルインベーダー風のゲームもあります。

組み立てたキットとサンプルスケッチは、Arduino UNO Rev3および互換機で動作を確認しました。

機能

モールス信号シールドをArduino UNOにセットしてスケッチの最新サンプルを書き込むことで下記の機能を実現します。アイデア次第でお好きな機能を持ったキーヤにカスタマイズできます。

  • エレクトリックキーヤ(スクイズ機能付き)
    • アイアンビックA
    • アイアンビックB
    • スーパーキーヤ
  • 縦振り電鍵による入力
  • パドルリバース(設定モードから)
  • 欧文・和文モード切り替え(「ホレ」および「ラタ」で変更)
  • 定型メッセージの登録と再生
  • COMポート経由でASCII文字列を受け取ってCW送出(欧文と記号)
  • 練習モード
    • ランダム5文字で10セットの符号生成(欧文・和文)
    • ランダム10セットのJAコールサイン
    • デジタルインベーダー風のゲーム(欧文・和文)
  • CW出力(LED点灯)
  • CW出力(フォトMOSリレーの2次側ですので真空管式リグでも使用可能)
  • サイドトーン発生(オンオフ可能)
  • CW速度調整(5~50WPM)
  • パドル操作を復号して8×2キャラクタ液晶に表示(欧文・和文)
  • パドル操作を復号してCOMポート経由でターミナルソフトで表示(欧文・和文)
  • ボタンx4操作
  • ビーコンCQ再生
    • 再生回数(デフォルト10回、3~30の範囲で調整可)
    • 再生間隔(デフォルト2秒、1~9秒の範囲で調整可)
  • 長短点比率の調整(デフォルト1:3.00、3.00~4.00の範囲で調整可)

取り扱いできる文字の種類

動作モード画面上のモード表示文字の種類
欧文
(含む、COMポート経由で送れるASCII文字列)
A「A~Z」のアルファベット26文字、
「0~9」の数字、
「.・,・?・/・+・=・-・’・”・:・(・)・@」の各記号、
「AS・VA」の各略号
和文「ア~ン」のカタカナ文字、ヰとヱ、
「゛」濁点、「゜」半濁点、
「0~9」の数字、
「ー・、・」・(・)」の各記号、
「ホレ・ラタ」の各略号
欧文5文字ずつ10回ランダム生成5×10 ABC「A~Z」のアルファベット26文字
和文5文字ずつ10回ランダム生成5×10ワブン「ア~ン」のカタカナ46文字
「゛」濁点、「゜」半濁点
JAコールサイン10回ランダム生成10x CALL「JA-JS」のアマチュア局コールサイン
デジタルインベーダー風ゲームゲーム「ア~ン」のカタカナ46文字
「゛」濁点、「゜」半濁点

ボタン操作一覧

ボタンSW1SW2SW3SW4
短押し定型メッセージ「1」再生定型メッセージ「2」再生定型メッセージ「3」再生定型メッセージ「4」再生
長押しビーコンCQ再生
(定型メッセージ「1」)
練習モードへ移行 -設定モードへ移行

通常モード

起動直後は欧文モードで、8×2キャラクタ液晶上段に「A」と表示されます。アルファベットと数字・記号の入力に対応します。起動直後はこちらのモードです。復号できる文字は、アルファベット「A~Z」と数字・記号「0123456789.,?/+=-‘\”:()@」です。モールス信号シールド上にあるボリューム「R5」でWPM速度を調整すると8×2キャラクタ液晶上段にCW送信のWPM速度が表示されます。速度は5~50WPMの範囲で調整できます。

「SW4」を長押しすると設定モードから、和文モードに移行できます。8×2キャラクタ液晶上段に「ア」と表示されます。カナと数字・記号の入力に対応します。復号できる文字は、カナ「ア~ン」と数字・記号「0123456789-、」()」です。

欧文モードで「ホレ」を打鍵すると和文モードに、和文モードで「ラタ」を打鍵すると欧文モードへそれぞれ移行できます。

タクトスイッチ「SW1」~「SW4」を短く押すと、登録してある定型メッセージを再生します。「SW1」を長押しすると「SW1」に登録された定型メッセージを繰り返し再生できます。

タクトスイッチ「SW2」と「SW4」を長押しすると、それぞれ「練習モード」と「設定モード」へ移行します。

練習モード

タクトスイッチ「SW2」を長押しして練習モードに移行すると、8×2キャラクタ液晶上段に「Training」と表示されます。また、液晶下段左端に「A、ア、c、インベーダーの絵文字」が表示され、対応する「SW1」~「SW4」で選択できます。

Aに対応する「SW1」を押すと、欧文を5文字ずつ10回ランダム生成します。文字は「A~Z」までの文字です。

アに対応する「SW2」を押すと、和文を5文字ずつ10回ランダム生成します。文字は「ア~ン」までの文字です。

cに対応する「SW3」を押すと、JAコールサインを10局ランダム生成します。コールサインの範囲は「JA-JS」のアマチュア局です。

インベーダーの絵文字に対応する「SW4」を押すと、デジタルインベーダー風ゲームが始まります。右側から1機ずつアルファベットが近付いてきますので、同じ1文字をパドル操作して打ち落とします。インベーダーの移動スピードは、だんだん速くなります。64機すべてを打ち落とすとミッションコンプリートです。和文モードから起動するとカナ文字が攻めてきます。右上に得点が表示されますので、高得点を狙ってみましょう。

設定モード

タクトスイッチ「SW4」を長押しして設定モードに移行すると、8×2キャラクタ液晶上段に「Set Mode」と表示されます。同じく、液晶下段に「↓<***>✕」と表示されます。↓に対応する「SW1」を押すと設定メニューを順送りできます。各メニューで<と>に対応する「SW2」と「SW3」を押すと設定値を変更できます。✕に対応する「SW4」を押すと設定モードから抜けます。

表示メニュー内容初期値設定範囲
Lang A/アキーヤが表示する言語ABCABC、ワブン
Pdl Rev.パドルリバースoffoff、on
Key modeキーヤの種類SuprIbcA(アイアンビックA)、IbcB(アイアンビックB)、
Supr(スーパーキーヤ)、Strt(縦振り電鍵)
Wait 1:短点1に対する長点の比率3.003.00~4.00を0.1刻み
SideToneサイドトーンonon、off
CQint:msビーコンCQの再生間隔(ms)20001000~9000msを100ms刻み
CQ timesビーコンCQの繰り返し回数103~30回

定型メッセージの再生と登録

4つあるボタンのいずれかを押すと登録されたメッセージをCW送出します。未登録の場合は何も起こりません。

メッセージ送出中にパドルまたは4つあるボタンのいずれかを押すか、パドル操作すると送出を停止します。

定型メッセージの登録はターミナルソフトなどからCOMポート経由でおこないます。例えば、ボタン1を押したときに「CQ DE JG5CBR PSE K」とCW送信させたい場合は、ターミナルソフト上で下記のように入力して定型メッセージを登録します。

#1CQ DE JG5CBR PSE K;

シャープ「#」の後には4つボタンに対応する「1~4」までの数字が続きます。定型文の最後にはセミコロン「;」を入力します。セミコロン「;」の直前までの文字列がメッセージとして登録されます。登録できる文字数は各ボタンとも128文字でまでです。

スケッチサンプル

  • morse-shield_190505.ino (2019/05/05版)
    • 対応するエレクトリックキーヤを拡充し、アイアンビックA、アイアンビックB、スーパーキーヤ、縦振り電鍵に対応
    • パドルリバース、サイドトーンのオンオフに対応
    • ビーコンCQ再生に対応
    • 受信練習機能に、ランダム10セットのJAコールサイン生成、デジタルインベーダー風のゲームを追加
  • morse-shield_171122.ino (2017/11/22版)
    • 新基板(2017/08/10版)ではパドル接続ピンのプルアップ抵抗を省いたため、マイコン内部でプルアップするようにしました。
  • morse-shield_161119.ino (2016/11/19版)
    • 欧文と和文でランダムな5文字を10セットで生成できるようにしました。WPM速度は2~50WPMで可変です。
    • 4つあるボタンを押すと送出中の定型文を停止できるようにしました。パドルを操作しても停止します。
    • 起動時にスケッチのバージョン「YY/MM/DD」を表示するようにしました。
    • サイドトーン発生時のブザー周波数を変更しました。
  • morse-shield_161106.ino (2016/11/06版)
    • 登録された定型文を送出するメッセージキーヤの機能を追加しました。欧文のみです。
    • 動作モードの切り替えを4つのボタンの長押しに変更しました。
  • morse-shield_161102.ino (2016/11/02版)
    • COMポート経由でASCII文字列を受け取ってCW送出できるようにしました。ターミナルソフトなどから有効な文字をタイプするとCW送出します。
    • パドル操作後に復号した文字をCOMポート経由でPCからも確認できるようにしました。
  • morse-shield_160904.ino (2016/09/04版)
    • パドル操作後のスペースを認識して表示するようにしました。
  • morse-shield_160820.ino (2016/08/20版)
    • パドル操作時に数字と記号を復号できるようにしました。
  • morse-shield_160716.ino (2016/07/16版)
    • パドル操作時に和文を復号できるようにしました。
  • morse-shield_160709.ino (2016/07/09版)
    • 初回の一般公開版。

このスケッチにできることは「機能」のリストに記載してあることが全てです。左右のパドルをリバースに設定したい場合は設定モードからおこないます。最新の基板にはありませんが、シールド基板上のジャンパーピンの位置でも変更できます。ジャンパーピンの位置はシールド基板上のシルクに記してあります。

インストール

Arduino-IDE自体のインストールは既に済んでいる前提で説明します。

モールス信号シールドのサンプルスケッチは、下記の外部ライブラリを使用しています。スケッチをコンパイルする前にこれらのライブラリをインストールしておく必要があります。

  1. FaBo 213 LCD mini AQM0802A

ライブラリ: FaBo 213 LCD mini AQM0802A

外部ライブラリ「FaBo 213 LCD mini AQM0802A」はArduino-IDEからインストールできます。Arduino-IDEのメニューから「スケッチ」→「ライブラリをインクルード」→「ライブラリを管理」を選択すると現れるウィンドウ「ライブラリマネージャ」で検索すると見つかります。