TTKY01 – ディスプレイ付きエレキー(K3NG CW Keyer)

※かなり長いです。頒布の案内はページの一番下です。

概要と特徴

開発の経緯

オープンソースのk3ng_cw_keyerを実装したエレキ―装置です。

k3ng_cw_keyerはArduinoをベースとした非常に高機能なキーヤで、多くの方々がカスタマイズして使っています。本装置もその一つです。

これまで、モールス練習機のTTCWシリーズを頒布してきました。その際に、「エレキーじゃないんですか?」とか「頒布を申し込んだのですが、エレキー機能がないのでキャンセルします」、「エレキーも作って欲しい」という声を少なからず頂戴しました。そこで、TTCWシリーズからの流れの一つとして、k3ng_cw_keyerを組み込んだエレキー装置を作りました。

k3ng_cw_keyerはオープンソースですので、たくさんの実装例があります。自作している方、頒布している方、様々で、皆さん独自の工夫を凝らして実装していらっしゃるようです。本装置はこれまでの経緯からモールス練習機としての使用を主眼に置いています。とは言え、無線機に接続して実際のQSOに使用することも、もちろん可能です。

主な特徴

主な特徴は次のとおりです。

使い方

パネル

正面

  • Paddle: パドルを接続します。
  • Straight Key: 縦振れ電鍵等を接続します(必要に応じて)。
  • Speed: 打鍵速度の調整を行います。
  • Phones: ヘッドフォンを接続します。ステレオタイプを使用して下さい。なお、ヘッドフォンを接続するとスピーカからは音は出ません。
  • Volume: 電源スイッチ兼音量調整です。

左側面

  • Contrast: 液晶パネルのコントラストを調整します。
  • Brightness: 液晶パネルの輝度を調整します。

右側面

  • Tone Freq.: トーンの発振周波数調整です。

背面

  • DCジャック: 2.1/5.5mmの標準的な電源ジャックです。5~13.8V、センタプラスです。
  • Speaker: 外部スピーカの接続端子です。
  • Tx4~Tx1: 打鍵出力端子です。無線機(送信機)の電鍵入力端子に接続します。Tx1だけはPTT信号も出せます。詳細は製作編を参照して下さい。

上面

  • Command: コマンドスイッチ(ボタン)です。コマンドモード時は横のLEDが点灯します。
  • 1~4: メモリ内容の送出や送信機の切替えなどを行います。

操作方法

冒頭にも書いたとおり、k3ng_cw_keyerはとても高機能です。すべてを書き出すのは困難ですので、主だった使い方だけを記しておきます。後述の「機能(実装コマンド)」も参考にして下さい。

初期化

左右のパドルを押しながら電源スイッチを入れ(て、パドルを離し)ます。色々やってわけがわからなくなったら、この方法で初期化すれば初期状態に戻ります(メモリはクリアされますのでその点は注意)。

コマンドモード

Commandスイッチを押すとコマンドモードに入ります。コマンドモード状態の間は横のLEDが点灯します。

コマンドモードでは、所定の文字(モールスコード)をパドルで入力することで、装置の設定や特殊操作などが行えます。詳細は「機能(実装コマンド)」の項をご覧下さい。

コマンドモードから抜けるにはもう一度Commandスイッチを押します。また、Xを打鍵しても抜けます。

打鍵速度調整

ボリュームで調整できます。また、Commandスイッチを押しながらパドルを操作しても変更できます(パドルの一方で速く、もう一方で遅くなります)。

変更後に、ある程度操作するとその速度の値がメモリに書き込まれるようです。言い換えると、ボリュームで速度を変更してもそのまますぐに電源を切ると前に設定した速度が戻ってきます。何文字か打鍵するとその速度がメモリに書き込まれますす(ただ単にパドルを押してもダメで、文字として認識される必要があるようです)。次に電源を入れた際には設定した速度で使用できます。

通常時とコマンドモード時の速度はそれぞれ別に設定されます。

メモリ

記録

Commandモードで1~4のスイッチ(ボタン)を長押しします(または、Pコマンドを使います)。続けてパドルを操作するとそれが記録されます。なお、メモリの記録中は液晶パネルへのエコーバックは行われないようです。

記録の終了はCommandスイッチです。その際、確認のため記録したものが再生されます(このときも液晶へのエコーバックはありません)。再生後もコマンドモードのままですので、抜けるにはCommandスイッチをもう一度押します。

記録済みのメモリに再度記録操作を行うと、新しいもので上書きされます。

メモリの記録は「pedm – パドルエミュレータ」を使うと楽です。

概要 これは、エレキーのパドル(マニピュレータ)の操作をエミュレートするソフトウェアです。Windowsのコンソールで動作し...
再生

(通常のモードで)1~4のスイッチを押すと、対応するメモリの内容が再生(送信)されます。

送信せずにメモリの内容を確認するだけの場合は、コマンドモードで数字(所望のメモリ番号)を入力(打鍵)します。ただし、液晶へのエコーバックはありませんので、文字で確認したい場合はIコマンドで送信不可にしてから1~4のスイッチを押すと良いと思います。

1~4のスイッチを押しながらパドルを操作すると繰返し(リピート)再生モードになります。繰返しの間隔はYコマンドで設定できます(デフォルトは3000ms)。

再生の強制終了はパドル操作です。

消去

記録操作で、何も打鍵せずに終了する(Commandスイッチを押す)と消えます(正確には、空の状態が記録されます)。

リグ切替え

1~4のスイッチを長押しすると対応する番号の出力端子に切り替ります(長押ししてスイッチを離したタイミングで切り替ります)。

チューン機能

無線機やアンテナの調整等で連続送信したい場合があります。その際にはTコマンドのチューン機能(チューンモード)を使います。

  • 左パドル: 押している間は連続トーン
  • 右パドル: 押す度にトーンをオン/オフ

チューンモードから抜けるにはCommandスイッチを押します。

受信送信5文字エコー練習

Uコマンドです。

聞こえたコードをそのまま打ち返す練習モードで、一文字から始まって五文字まで増えます。打ち間違えると同じ問題が出題されます。五文字をクリアできたら、また一文字から始まります。終了はCommandスイッチです。

出題される文字は、アルファベット、数字、一部の記号(/?.,)です。オリジナルのk3ng_cw_keyerではアルファベットだけすが、数字と記号を独自に追加しました。

K3NG CW KeyerのUコマンド(Receive / Send Echo Practice)を少々改造した。 変更内容...

機能(実装コマンド)

本機では以下のコマンドを実装しています(プログラム領域の都合上、k3ng_cw_keyerのすべての機能を実装することはできません)。

実装しているコマンドは以下のとおりです。

  • パドル設定
    • A: Iambic A
    • B: Iambic B(デフォルト)
    • C: シングルパドル
    • D: Ultimatic
    • G: バグキー
    • N: 左右反転
  • 符号比率
    • H: 長短点比率初期化
    • J: 長短点比率設定
    • L: 点間隔(空白の長さ)
  • E: 速度アナウンス
  • (F: サイドトーン周波数 – 実装せず)
  • I: 送信可/不可
  • K: Ultimaticモードにおける短点・長点バッファのオン/オフ
  • M: コマンドモードにおける打鍵速度
  • O: サイドトーン オン/オフ
  • P: メモリプログラム(Pに続けてメモリ番号(数字))
  • (Q: 存在しない)
  • (R: シリアル番号設定 – 機能せず(キーボードがないため))
  • (S: アルファベット練習 – 実装せず)
  • T: チューンモード
    • 左パドル: 押している間は連続トーン
    • 右パドル: 押す度にトーンをオン/オフ
  • U: 受信送信5文字エコー練習
  • V: 速度ボリューム機能オン/オフ
  • W: 打鍵速度
  • X: コマンドモード終了(コマンドモードスイッチでも終了)
  • Y: メモリ再生リピート間隔(ms単位)
  • (Z: オートスペース オン/オフ – 実装せず)
  • 数字: メモリ再生(送信なし(内容確認用))
  • =: PTT制御オン/オフ(PTTはTx1のみ対応)
  • ?: ステータス表示(打鍵速度、キーヤモード、点間隔、長短点比率)
  • .: K3NGからのメッセージ(隠しコマンド?)

電源電圧に関する注意

本機は電源電圧の対応範囲が5~13.8Vと広いことが特徴の一つです。近年は5Vは容易に用意できますし、アマチュア無線の運用環境なら13.8Vも一般的です。そのため、この範囲の電圧で使用できるように設計しています。

しかしながら、これほどの広い範囲をカバーするのはなかなか難しいです。そのため、以下の状況・制限があります。

  • 電源電圧が5Vの場合、スピーカで大音量を出すと液晶モジュールのバックライトが暗くなります(キーイングに合わせて明滅する)。静かな屋内での使用なら特段問題になることはないと思いますが、大音量で使用する場合には5.5V以上の電源を用意して下さい。
  • 電源電圧が5V程度の低い電圧場合、ヘッドフォンでの使用で音量を上げると音が歪みます。ヘッドフォンでの使用でも大音量が必要な場合はある程度高めの電圧(7V程度以上)の電源を用意して下さい。しかしながら、よほど能率が低いヘッドフォンでない限りは、5V電源でも充分な音量を得られると思います。
  • 電源電圧が13.8Vなどの高い電圧の場合、連続トーンでスピーカを大音量で鳴らすと電源レギュレータの発熱が多くなります(最大ボリュームだと10秒程度でレギュレータを指で触るのが辛くなる程度の温度)。大音量を出す場合は9V程度に抑えることをお勧めします。大音量であっても、連続トーンではなく、通常の打鍵であれば特に問題になるほどではないと思います。また、ヘッドフォンでの使用では、連続トーンを大音量で鳴らしても大きな発熱はありません。

まとめると、静かな屋内で必要な音量程度であれば5~13.8Vで使用できます。大音量で使用するなら9V前後の電源をお勧めします。

製作編

ここでは、本機を組み立てる際に注意すべき点について記します。

いきなり作り始めず、まずは、全体の流れを掴んでください。手順のイメージが掴めてから始めた方がスムーズに進むと思います。

回路図と部品表

回路図と部品表はPDFで用意しております。

部品表のチェック欄に記入のあるものは実装済みの部品です(または、実装しないもの)。

基板

チップ部品のほとんどは実装済みです。この状態で70点以上のチップ部品が搭載されています。

チップ部品で未実装のものは、ポリフューズ(F1)、アンプIC(U3)の二点です。

基板組立

一気に組み立てるとトラブルが起きた場合に原因を見つけるのが難しいので、ブロックごとに動作を確認しながら組んでいきます。

電源部

赤で囲った範囲です。と言っても、チップ部品等は実装済みですので、取り付けるのは、ポリスイッチ、レギュレータ、電解コンデンサ(2個)、DCジャック、ボリューム(電源スイッチ)だけです。

レギュレータの足は千鳥に整形されています。これを、一旦、真っすぐ伸ばし、矢印で示したところで下に向けて90度曲げます。ラジオペンチなどを使うと簡単に加工できます。

レギュレータは裏から皿ビスで留めます。もし、シリコングリスをお持ちなら、ごく少量を塗っておくと良いかと思います。皿ビスを使っているのは底板との距離が短いためです(ナベビスを使うとネジ頭が底板にぶつかります)。

電解コンデンサは浮かさずに取り付けて下さい。浮いて高くなると蓋が閉まらなくなります。

DCジャックの足は長すぎるので切ります(切らないと底板に当たります)。また、基板から浮かないよう(基板との間に隙間ができないよう)気をつけてください。浮いてしまうと、パネルがはまらなくなります。

この他のジャック類も同様、浮かないよう注意して取り付けてください。

電源部の実装作業は以上です。

電源をつなぐ前に、Vcc(TP4)とGNDの間がショートしていないことを確認します。同様に、4.5V(TP6)とGNDの間もショートしていないことを確認します。テストの前には、必ずこのチェックを行ってください。余計なトラブルを防ぐためです。もしショートしていたら、どこかにハンダブリッジや配線クズが張り付いていたりということが考えられますので、ルーペ道を使ってじっくりチェックしてください。

ショートしていないことが確認できたら、適当な電源をつなぎます。電圧は5~13.8Vの範囲のものを用意してください(センタプラス)。電源をつないだらスイッチを入れます。TP4には接続した電源の電圧が、TP6には約4.5Vが出力されます。また、LED(D3)が点灯します(このLEDは電源部の動作確認のためだけのものです)。

低周波発振部とバッファ

赤枠内が低周波発振部とバッファです。未実装部品を実装します(フィルムコンデンサと半固定VR)。

TP1をTP6に接続すると、TP3に発振波形が見られるはずです。結合はACに設定してください。

それなりの正弦波のようになっていると思います。レベルは、Vppで200mV強、Vrmsで70mV程度のようです。発振周波数によって電圧レベルは変動します。発振周波数の可変範囲は、概ね500~850Hz程度です。

オシロスコープがない場合は、テスタのAC VレンジでTP3(とGND)をチェックしてください。概ね50~100mV程度の電圧になると思います(発振周波数によって電圧が変化するのは上述の通り)。

テスタの確認はあくまで参考程度です。DSO Shellのような安価なオシロスコープでも波形などが確認できるので安心でとても便利です。DSO Shellについてはこちら

格安なオシロスコープDSO ShellをBanggoodから提供してもらったので、使い方などをまとめておく。 仕様等 ...

低周波発振部がOKなら、バッファ部も確認します。こちらは実装済みですので、チェックするだけです。TP5にTP3の約2倍(計算上は2.2倍)の電圧波形が得られます(もし2chオシロがあれば、TP3とTP5を同時に観測すると位相が反転しているのもわかります)。

ヘッドフォンアンプ

C16、R24、C26、J3を実装します。

ヘッドフォン(イヤフォン)をつなぐと、TP1をTP6に接触させる度にトーンが聞こえます。ボリュームは適当な位置に設定して下さい。

スピーカアンプ

アンプIC(U3)はチップ部品です。ハンダ付けの方法は、こちらの記事を参考にして下さい。

「チップ部品」、「SMD(Surface Mount Device: 表面実装部品)」と聞くと「ハンダ付け、難しそう」と思われがちだけど...

その他の周辺の部品も取り付けます。C22は倒して実装します。

これでスピーカをつなげば(J4: 内蔵、または、J5: 外部)、先程と同じようにTP1をTP6に接触させる度にトーンが聞こえます。なお、ヘッドフォンを接続するとスピーカの音は遮断されます。

ここまででアナログ部は終了です。

LCDモジュール

液晶モジュールにピンヘッダ、基板側にピンソケットを取り付けます。ピンヘッダは子基板取り付けのものと一緒にして長いものを付けておきますので、カットして使って下さい。

ピンソケットはそれぞれのピン数のものを用意していますが、16ピンのものが入手できなかったため、8ピンのものを二つ入れています。これがちょっと残念なことに、わずかに幅が広く、素直には並びません。この下の写真のようにピンヘッダに挿すとぶつかります。

そのためピンソケットの側面をヤスリで削って下さい。柔らかめのプラスチックですので簡単に削れます。

上の写真のように、スムーズに並んで挿さるように加工しておきます。面倒なら、やや乱暴ですが、1ピン分カットしても構いません。中程の数本はどこにもつながりませんので(下の回路図のJ13の7、8、9、10ピン)。

ピンソケットの加工が済んだら、LCDモジュールを付ける前に、RV4の半固定抵抗とRV5の薄型ボリュームを取り付けます。

ピンヘッダはカットして使いますが、ニッパを使ってカットすると割れることが多いです。ワイヤストリッパの刃を使うと割れずに切断できます。

ベッセル(VESSEL) ワイヤーストリッパー 3500E-2

ベッセル(VESSEL) ワイヤーストリッパー 3500E-2

1,433円(06/25 09:49時点)
Amazonの情報を掲載しています

これでなくても大丈夫だと思いますが、もし、ワイヤストリッパをお持ちでなければ、電子工作の範囲ではこれが使いやすいと思いますのでお勧めします。

続いて、LCDモジュールをネジ止めしてからピンヘッダとピンソケットをハンダ付けします。取り付け用のビスとスダンドオフは2.5mmのものです。

この際、上の写真のように、ピンソケットとピンヘッダの間に1mmほど隙間が空きます。ピンソケットとピンヘッダを合せた高さは11mmなのですが、スダンドオフは11mmの物が入手難なので12mmのものを採用しているためです。隙間が空いても実用上は問題ないと思います。どうしても気になるなら、11mmのスタンドオフを入手して下さい。M2.6の金属のものなら、秋月電子に扱いがあります。

取り付け終ったら、電源を入れてバックライトの点灯確認をします。薄型ボリュームRV5で明るさが変ることが確認できればOKです。まだ、この段階では文字は表示されません。コントラスト調整は半固定抵抗のRV4です。右に回し切ると上半分に薄っすらと四角が並んだ状態が見えるはずです。その四角が見えなくなるくらいに戻したあたりが最良点です。後ほど、文字が表示されたときに再調整して下さい。

LCDモジュールの動作(輝度とコントラスト)の確認ができたら、LCDモジュールは一旦外します。

子基板

スイッチボード用の子基板は上面パネルと一体になっています。出てひねると簡単に分離できます。バリはヤスリで削り取って下さい。

外した子基板を使ってスイッチボードを組み立てます。抵抗はチップ部品にもリード部品にも対応できるようにしてあります(キットにはリード部品を添付しています)。

まずは、抵抗とスイッチをハンダ付けします(LEDは後ほど)。スイッチは傾かないように注意して下さい。足を一本だけハンダ付けし、傾いていないことを確認してから残りの三本をハンダ付けすると良いと思います。

ピンヘッダは、LCDモジュールの場合と同様に、差し込んだ状態でハンダ付けします(傾いてしまうことを避けるため)。ハンダ付けが終ったら、一旦、子基板は外します。

LEDは基板から2mmほど浮かせます。てっぺんが7mmくらいになります。この高さで、最終的な組立後にはパネルからわずかに顔を出す程度になります。もう少し出しても良いかもしれません。その辺りはお好みで。

残りの部品

残っている部品を実装します。

RV3はピンを挿し込む穴が二種類あります。二種類の部品に対応できるように設計したためです。無理なく挿し込める方を使って下さい。

フォトカプラは向きに注意してソケットに挿し込みます(基板上の白丸がそれぞれ1ピンです)。

動作確認

マイコンを挿し、LCDモジュールを取り付けて電源を入れれば起動時のメッセージが表示されるはずです(数秒で消えます)。また、スピーカをつないでいれば音も出ます。

ケース

部材切分け

側板の各部材を分けます。手で曲げれば簡単に折れます。

バリはヤスリがけして削り落としてください。側板の突起は天板と底板の穴と嵌合します。間違って削らないよう気をつけてください。側板の左右の区別はありません(つやがある方が外側です)。

仮組み

ケースを仮に組んで収まり具合を確認します。

側板と嵌合する天板と底板の穴は、加工の限界のため角がある程度丸くなってしまいます。そのため突起が上手く入らないことがあります。その場合は突起の角をヤスリで削って調整してください。削りすぎないよう、具合を見ながら削ってください。

同様に、突起の付け根も丸くなっています。天板・底板との間に隙間ができてしまう場合はここを削って調整してください。

総合組立て

天板にスピーカをネジ止めします。使うネジはM2.5x8mmです。裏からワッシャとナットを使って固定します。細いプラネジですので、締付けは程々に(簡単にねじ切れてしまいます)。なお、スピーカケーブルは少し切って短くしたほうが収めやすいかもしれません(最短距離で収めるように短く切ったら逆に難しかったので、液晶モジュールの周りを回すルートが良さそうです。詳しくは後述します)。

底板にM3x10mmのビスを下から通りします。底板を裏返して上からビスを挿し、上にダンボール板などを載せてひっくり返すと簡単です。ビスにはM3x2mmのスペーサを付けます。

基板を載せ、M3x18mmのスタンドオフを取り付けます。この段階ではまだ締付けずに、緩く付けておきます。

子基板(スイッチボード)を差し込みます。LEDキャップも忘れないよう今のうちに取り付けておきます。

続いて、前後左右のパネルをはめ込みます。ジャックやボリュームのワッシャは軽く付けておきます(締めるのは後で)。

スピーカのコネクタも挿したら上面パネルをはめ込みます。スピーカケーブルは液晶モジュールの周りをぐるっと回すと収めやすいと思います。挟み込まないように注意して下さい。

左右のパネルがぐらつくのでやりづらいとは思いますが、ゆっくり焦らずにやれば入るはずです(事前に仮組立で確認していますから)。ひょっとすると、この作業が本キットで一番大変なところかもしれません。

上面パネルがはまったら、M3x6mmのビスで固定します。裏のビスも締めます。どちらもプラネジですので、締め付ける力は程々に。また、各ジャックやボリュームのナットも締めます。これもあまり強い力で締め込まずに、弛まない程度に締めておけばよいです。ボリュームのつまみも取り付けます。

最後に裏にゴム足を貼り付ければ完成です。

改造

トーン出力

トーン信号を出力する回路を予め組み込んでいます。必要に応じて外部に取り出せます(PCにつなぐとか、より大きなアンプにつないで会場デモンストレーションで使うとか)。

Q3周りがそのための回路です。トランジスタと抵抗・パスコンは実装済みです。C8とC14のコンデンサを別途用意して取り付けて下さい。定数は0.1μFとしてありますが、多少大きくても小さくても構いません(フィルムコンデンサをお勧めします)。また、J2は2.5mmピッチの端子が取り付けられるようにしています。

この端子からは数百mVppの出力が得られます(発振周波数によって変ります)。

ISP端子

J6がISP端子です。2×3のピンヘッダを取り付ければ使用できます。

機能等をお好みに応じてカスタマイズして書き込むことができます。本機のハードウェアに関わる変更点は、下のソフトウェアの章を参考にしてください。

なお、このISP端子を使用して書き込む際には、外部電源は接続しないでください。外部電源とISP端子とを同時につないだ場合は何が起きるかは未検証です。また、ISP端子を使っての書込みでエラーが起きる場合は、LCDのバックライトの輝度を最小にしてみてください(消費電流を抑える)。

PTTタイミング

本機は四台の送信機を接続できますが、そのうちのTx1だけはPTT信号も出せるようになっています。PTTのタイミングはソフトウェアで制御できますが、keyer_settings.hにハードコーディングされています(10行目辺り)ので、必要に応じて調整してください。

#define initial_ptt_lead_time_tx1 0         // PTT lead time in mS
#define initial_ptt_tail_time_tx1 10         // PTT tail time in mS

現状は元のソースコードのまま、lead time(信号出力に先んじる時間)が0ms、tail time(信号送出後の保持時間)が10msです。実測では、下の図のように、lead timeが0ms、tail timeが8.4ms程度でした(上が打鍵信号、下がPTT信号)。10msちょうどではないのは、ATmega328Pの内蔵クロックの精度によるものだろうと思います(他にも要因があるかもしれませんが)。

フォトカプラ

本機ではありませんが、K3NG CW Keyerを組んだ方から聞いたところによると、複数のリグを接続した状態でハイパワーで送信すると上手く制御できなくなることがあるそうです。フォトカプラをフォトMOSリレーに換えるたら問題が収まったとのこと。

これを聞いたので本機ではソケットを使ってフォトカプラを実装しています。もし、そのようなトラブルが起きたら、フォトカプラの交換を検討してみてください。私は50W運用ですので、ハイパワーでの動作は未検証です。悪しからず。

ソフトウェア

マイコンは書き込み済みですのでそのまま使えますが、参考のためと私自身の備忘録として変更箇所を記しておきます。

ダウンロード

本機のソフトウェアはk3ng_cw_keyerそのものです。GitHubからダウンロードできます。

緑の「Code」をクリックします。

「Download ZIP」をクリックすると、ソースコード一式がZIP形式でダウンロードされます。展開するとソースコードが出てきます。

Arduinoのコードです。

ソースコード変更

ハードウェアに合わせた設定と必要な機能の選択のために、ソースコードを変更します。ソースのバージョンによって行番号は変る可能性があります。以下の番号は参考と捉えて下さい。

keyer_pin_settings.h

5行目付近

#define paddle_left 1
#define paddle_right 0
#define tx_key_line_1 4       // (high = key down/tx on)
#define tx_key_line_2 19
#define tx_key_line_3 18
#define tx_key_line_4 17
#define tx_key_line_5 0
#define tx_key_line_6 0
#define sidetone_line 5         // connect a speaker for sidetone
#define potentiometer A0        // Speed potentiometer (0 to 5 V) Use pot from 1k to 10k
#define ptt_tx_1 3              // PTT ("push to talk") lines

28行目

  #define command_mode_active_led 13

97行目

  #define pin_straight_key 2

keyer_settings.h

2行目付近

#define initial_speed_wpm 18             // "factory default" keyer speed setting
#define initial_command_mode_speed_wpm 18 // "factory default" command mode speed setting 

42行目付近

#define LCD_COLUMNS 16
#define LCD_ROWS 2

78行目

  #define analog_buttons_number_of_buttons 5  // includes the command button (command button + 3 memory buttons = 4)

keyer_features_and_options.h

5行目付近(FEATURE_BUTTONS、FEATURE_COMMAND_MODE、FEATURE_MEMORIES、FEATURE_POTENTIOMETERを有効化)

#define FEATURE_BUTTONS
#define FEATURE_COMMAND_MODE
// #define FEATURE_COMMAND_LINE_INTERFACE // Command Line Interface functionality
#define FEATURE_MEMORIES               // on the Arduino Due, you must have FEATURE_EEPROM_E24C1024 and E24C1024 EEPROM hardware in order to compile this
// #define FEATURE_MEMORY_MACROS
// #define FEATURE_WINKEY_EMULATION       // disabling Automatic Software Reset is highly recommended (see documentation)
// #define FEATURE_BEACON                 // Go into beacon mode if paddle_left pin is LOW at boot up
// #define FEATURE_BEACON_SETTING         // Go into beacon mode at boot up if EEPROM setting is enabled (\_ CLI Command)
// #define FEATURE_TRAINING_COMMAND_LINE_INTERFACE
#define FEATURE_POTENTIOMETER          // do not enable unless you have a potentiometer connected, otherwise noise will falsely trigger wpm changes

26行目(FEATURE_LCD_4BITを有効化)

#define FEATURE_LCD_4BIT                // classic LCD display using 4 I/O lines

48行目(FEATURE_COMMAND_MODE_PROGRESSIVE_5_CHAR_ECHO_PRACTICEを有効化、#define OPTION_PROGRESSIVE_5_CHAR_INCLUDE_NUMBERを追加)

#define FEATURE_COMMAND_MODE_PROGRESSIVE_5_CHAR_ECHO_PRACTICE // enables command mode U
#define OPTION_PROGRESSIVE_5_CHAR_INCLUDE_NUMBER

53行目付近(FEATURE_STRAIGHT_KEY、FEATURE_PADDLE_ECHO、FEATURE_STRAIGHT_KEY_ECHOを有効化)

#define FEATURE_STRAIGHT_KEY
// #define FEATURE_DYNAMIC_DAH_TO_DIT_RATIO
#define FEATURE_PADDLE_ECHO         // you may also need to comment out line 19 in the file keyer_dependencies.h
#define FEATURE_STRAIGHT_KEY_ECHO

107行目(OPTION_SIDETONE_DIGITAL_OUTPUT_NO_SQUARE_WAVEを有効化)

#define OPTION_SIDETONE_DIGITAL_OUTPUT_NO_SQUARE_WAVE

k3ng_keyer.ino

1535行付近

// #if (paddle_left == 0) || (paddle_right == 0)
//   #error "You cannot define paddle_left or paddle_right as 0 to disable"
// #endif

この3行を無効化。ある条件において、パドルをArduinoのピン0に割り当てるとトラブルが起きるため、その割当はできないようにしたそうです。しかし、本機はこの変更が行われる前に設計したので、ピン0をパドルに割り当ててしまっています。問題の「ある条件」は本機には当てはまらないので、トラブルは生じません(生じないはず)。そのため、このチェックを無効化します。

3019行付近

        #if defined(FEATURE_DISPLAY) && defined(FEATURE_STRAIGHT_KEY_ECHO)
          // if (cli_straight_key_echo){display_scroll_print_char(convert_cw_number_to_ascii(decode_character));}
          display_scroll_print_char(convert_cw_number_to_ascii(decode_character));
        #endif //FEATURE_DISPLAY

「if (cli_straight_key_echo)」を取り払い、中身だけを取り出します(上のコードは、元の文をコメント化して残しています)。これはバグの修正です。詳細はこちらの記事をご覧下さい。

K3NG Arduino CW Keyerで「FEATURE_STRAIGHT_KEY_ECHO」を有効化するとコンパイルエラー。 ...

この他、受信送信5文字エコーバック練習機能(Uコマンド)に関する改造と、メモリ書込みをスイッチ長押しにする改造も実施します。詳しくは下の各ページをご覧下さい。

K3NG CW KeyerのUコマンド(Receive / Send Echo Practice)を少々改造した。 変更内容...
現状の問題点 K3NG CW Keyerでメモリに書き込むには、次の二つがある。 コマンドモードでPコマンド(P#の打...

コンパイラ設定

Arduino IDEの設定は次のとおりです。

  • ボード: ATmega328
  • Clock: Internal 8 MHz
  • Compiler LTO: enabled
  • Variant: 328P / 328AP
  • Bootloader: No bootloader

Compiler LTOは最適化スイッチです。有効化しないとプログラムが収まりきらず、コンパイルエラーになりますので忘れずに。

頒布

頒布品はキット(部品セット)です。完成品ではありません。
ACアダプタ(電源ケーブル)は付属しません。別途用意して下さい(5~13.8Vで使用できます。詳しくは本文参照)。また、オプションでUSB電源ケーブルを用意しておりますので、必要に応じてどうぞ。
  • 部品の調達の都合上、上の写真とは異なる場合があります。ネジ類も同様です。
  • コストダウンのため、ほとんどの部品は海外通販で調達しています(電解コンデンサは国産品)。
  • 基板(ケース)に若干の色ムラがあることがあります。格安基板製造サービスを利用しているため、ある程度は仕方ないようです(ひどい場合は作り直してもらっていますが、ゼロにはならないみたいです)。より高品質な製造サービスならきれいに仕上がるかもしれませんが、コストが大幅に上ってしまいます。ご了承下さい。
  • 本機のマニュアルは当ページがすべてです。紙媒体はありません。また、本機は電子工作の経験がある程度ある方を対象としております。抵抗のカラーコードやコンデンサの値の読み方など、基本的なところの説明はしていません。電子工作の基本については、こちらのページに参考になりそうなサイトなどをまとめてあります。
  • 資源の有効活用のため、梱包材は再利用することがあります。ご了承ください。
  • 仕様や頒布価格は予告なく変更することがあります。
  • 本機の組立てや使用による怪我・事故等には責任を負いません。

【価格】

  • 頒布価格: 7,200円
  • オプション(USB電源ケーブル): 120円
  • 送料: 350円
  • 支払い方法: 銀行振込(楽天銀行、ゆうちょ銀行、PayPay銀行)

オプションのUSB電源ケーブルはこちらです。

【申込みフォーム】

※これは申込み専用フォームです。申込み以外(問合せ等)には使用できません。

こちらにご入力いただいたメールアドレス宛に、追って、振込先等をお知らせします。入力ミスのないようお願いします。また、ここにご住所等は書かないようにお願いします。

このフォームでお申し込みいただいた時点では、注文が確定されるわけではありません。タイミングによっては、在庫が切れている場合もあります。自動注文システムではなく手動での対応ですので、何卒、ご了承下さい。

※準備中