モールス信号ON/OFFのパルス幅をPICで測定し、USB経由でPCに送信するプログラムを以前作成ました。

前回までは、Curiosity開発ボードに搭載されている PIC16F1619を利用したプログラムでした。

今回は、秋月電気で販売されている「PIC18F14K50使用USB対応超小型マイコンボード」¥800 を使い実現しました。必要となるハードウエアは、写真のようにマイコンボードと、圧電スピーカー、電鍵だけです。これで、自分の送信の癖が客観的に把握できる装置が完成します。

回路図

 

 

 

1 プログラム概要

このプログラムは、Microchip社のソフトウェアライブラリ MLA v2018_11_2 を元に、電鍵のOn/Off時間の測定、サイドトーンの発生機能を追加しました。サイドトーンは500Hz方形波出力で周波数の変更はできません。追加したプログラムコードは前回のプログラムをほぼそのままコピペしています。プログラムでは以下の周辺モジュールを使用しています。

TMR2
システムクロックをカウントして、1 mSec 毎に低優先割込みをかけています。この割込み処理の中で、電鍵のチャタリング防止や ON/OFF 時間の測定を行います。
USB
MLAの設定をそのまま使用しています。高優先割込みでUSB関連は処理されます。
 

2 マイコンボードにプログラムを書き込む

プロジェクトをコンパイルした HEXファイル(14K50_CCWT_2_hex.zip)を下のリンクからダウンロードですることができます。その HEXファイルを MPLAB IPE を使用しマイコンボードに書き込んでください。このプログラムは LVP対応ではないためSnapでは書き込めません。PICkit3、PICkit4 などを使用してください。

---> 14K50_CWT_2_hex.zip

 

3 動作の確認

書き込み終了後に、USBシリアル変換器とPCをUSBケーブルで接続し、CoolTermなどの通信ソフトを立ち上げます。通信ソフトの設定画面で

  • 9600 baud, 
  • 8 bit data, 
  • none parity, 
  • 1 stopbit 

に設定し接続を有効にします。

 

電鍵のキーを押すとサイドトーンが聞こえ、CoolTerm画面にパルス幅が表示されます。 PCから半角数字の 4、または、5 を入力すると出力フォーマットを変更することができます。

 

 

参考までにプロジェクトを掲載します。

---> 14K50_CDC_CWT.zip