Micro:bit MicroPython モールス符号解読器

2019.11.21 JH7UBC


micro:bitでモールス符号解読器を試作しました。
 符号解読のアルゴリズムは、Rspberry Piでモールス符号解読器を作った時と基本的に同じですが、簡単に説明します。
pin0をプルアップしておき、信号をpin0に加えます。したがって、モールス信号のdot(短点)またはdash(長点)の時にLowレベル(0)になります。
下の図はAの符号が入力された場合で、スタートビット1をMcodeにセットし、信号が入力される度に1ビット左にシフトして(2倍して)dotのとき0,dashのとき1を加えます。これによって、モールス符号をコード化します。
Aの場合は、101ですから、10進数で5になります。この方法で、A〜Z,0〜9,/をコード化し、10進数の順に並べてoubunというリストを作っておきます。
実際に入力されたモールス符号をコード化し、コードに応じた文字をリストから表示すれば、でコードされたことになります。
デコードのタイミングは、Hレベルが短点時間の1.5倍程度になった時としました。

スクリプトです。

 

自作のキーヤーにパドルを接続して、テストしました。

普通の速度のモールス信号なら解読できます。
 ただ、文字表示が1文字だけですので、同じ文字が続いた時に前の文字と区別がつきません。
やはり、文字を横に表示していくタイプの表示器(例えばLCD1602)の方が解読器には適していると思います。

inserted by FC2 system