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

定型メッセージ登録ページ(Chromeブラウザで動作確認済み)

概要

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

モールス信号シールドはマイコン単体で動作するエレクトリックキーヤーとしてはもちろん、PCなどからCOMポート経由でASCII文字列を受け取ってCW送出することができます。こちらのWebページや、Tera Termなどのターミナルソフト、Arduino IDEのシリアルモニタ機能、自作のソフトウェアから簡単に制御することができます。なお、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ポート経由(ターミナルソフトなど)で表示(欧文・和文)
    • ビーコン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文字
「゛」濁点、「゜」半濁点

ボタン操作一覧

ボタン SW1 SW2 SW3 SW4
短押し 定型メッセージ「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/ア キーヤが表示する言語 ABC ABC、ワブン
Pdl Rev. パドルリバース off off、on
Key mode キーヤの種類 Supr IbcA(アイアンビックA)、IbcB(アイアンビックB)、
Supr(スーパーキーヤ)、Strt(縦振り電鍵)
Wait 1: 短点1に対する長点の比率 3.00 3.00~4.00を0.1刻み
SideTone サイドトーン on on、off
CQint:ms ビーコンCQの再生間隔(ms) 2000 1000~9000msを100ms刻み
CQ times ビーコンCQの繰り返し回数 10 3~30回
DecodeCW 復号機能のオンオフ on on、off
ResetAll 設定パラメータの初期化 no no、yes(設定モードを抜けると初期値にリセットされます)

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

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

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

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

#1CQ DE JG5CBR PSE K;

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

スケッチサンプル

  • morse-shield_201104.ino (2020/11/04版)
    • COMポート経由(ターミナルソフトなど)で半角カナを受け取ってCW出力できるようににしました。Tera Termなどの通信ソフトウェアの設定は下記のとおりです。
      • ボーレート: 115200bps
      • 改行コード: CR+LF
      • 文字コード: SJIS ← 和文モードで半角カタカナを表示したい場合
  • morse-shield_200921.ino (2020/09/21版)
    • 設定モードの各種設定パラメータを保存およびリセットできるようにしました。
    • 電鍵やパドル操作時の復号機能をオンオフにできるようにしました。
    • 縦振り電鍵モードでボタン操作による定型メッセージ再生、PCからのシリアル通信によるメッセージ再生が短点だけになるバグを修正しました。
  • morse-shield_191220.ino (2019/12/20版)
    • 定型文を送信中にシリアル通信で何らかの文字を送るとキャンセルされるようにしました。
    • シリアル通信で文字がダブってしまうバグを修正しました。
  • morse-shield_190916.ino (2019/09/16版)
    • PCとのシリアル通信でもパドル操作を複合した文字を表示するようにしました。Tera Termなどの通信ソフトウェアの設定は下記のとおりです。
      • ボーレート: 115200bps
      • 改行コード: CR+LF
      • 文字コード: SJIS ← 和文モードで半角カタカナを表示したい場合
    • モールスインベーダーの出現タイミングを調整しました。
  • 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のメニューから「スケッチ」→「ライブラリをインクルード」→「ライブラリを管理」を選択すると現れるウィンドウ「ライブラリマネージャ」で検索すると見つかります。

キットの組み立て

モールス信号シールドのキットには下記のパーツが含まれています。シールド基板のシルク印刷のパーツ番号をよく確認してパーツの位置を間違えないように実装します。下記のリスト順に実装していくとスムーズに組み立てられます。

パーツリスト

  • R1: 2.2kΩ
  • R2: 24kΩ
  • R3, R9, R11: 1.5kΩ
  • R6, R10, R12: 47Ω
  • R7, R8: 12kΩ
  • C1, C5, C6: 0.001uF
  • C2, C3: 1uF
  • C4: 0.1uF
  • U1: 8×2キャラクタ液晶
  • OK1: フォトMOSリレー
  • X2: ステレオミニジャック
  • LED: Φ3.2 LED
  • S1, S2, S3, S4: タクトスイッチ
  • R4: 10kΩ (POT)
  • TR1: 2SA1015
  • BZ: 圧電スピーカ
  • CN2: 2×3ピンヘッダ(+ジャンパー)
  • X1: RCAジャック
  • R5: 10kΩ (POT)
  • 連結ピン: 1×10, 1×8, 1×8, 1×6

シールド基板

Arduino UNOに挿せるシールドとして設計してあります。電源はArduino本体から供給されます。
シールド基板のシルク印刷

  • X1のRCAジャックからはCW信号を出力します。無線機のKey端子へ接続する際は、無線機を縦振り電鍵の設定にしてください。信号はフォトMOSリレーでアイソレーションされた2次側ですので真空管式の無線機によるマイナスキーイングにも対応できます。
  • R4の可変抵抗でサイドトーン音量を調節できます。
  • R5の可変抵抗でCWの送信速度(WPM値)を調節できます。
  • X2のミニステレオジャックにはパドルを接続します。
  • CN1は未使用です。