Quantcast
Channel: JH7UBCブログ
Viewing all articles
Browse latest Browse all 440

IchigoJam MORSE DECODER Ver1

$
0
0
  こどもパソコンIchigoJamは、2014年4月に発売されて以来、ファームウェアがバージョンアップされ、周辺機器も充実してきました。(詳しくはIchigoJamのホームページをご覧ください。)

 ファームウェアの最新バージョンは、1.2.1です。

 また、先日WiFiを使ったネットワークに接続できるMixJuiceというボードも発売されますます、活用範囲が広がっています。

 久しぶりに自作のIchigoJam互換機を引っ張り出してきて、モールス符号解読プログラムを改良しました。

 ちょうど1年前になりますが、IchigoJamでモールス符号解読プログラムを作り、JH7UBCホームページに掲載しました。このプログラムをベースに、ある程度の速度変化に追従するように改良しました。

イメージ 1

入力は、IN1で、無信号時1、信号があるとき0です。

プログラムは、次のように比較的簡単です。短点と長点の判定は、短点の2倍以上の長さの信号は長点としています。2倍の計算は、掛け算を使わず、左に1ビットシフトさせることで実現しています。

 モールス符号では、文字と文字の間隔が、短点の3倍、語と語の間隔は短点の7倍と決められています。
 短点の2倍以上信号がない場合は、文字を解読して表示する、短点の5倍以上信号がない場合は、スペースを表示するようにプログラミングしました。

 短点の5倍の時間は、短点の2倍をさらに1ビット左にシフトして4倍にして短点の値を加えて5倍にしています。
 こういうことをするのは、掛け算には時間がかかるためです。

 プログラムです。行番号20から50で、内部コードに対応した番地に文字のアスキーコードを格納します。

10 'MORSE DECODER Ver.1 BY JH7UBC
20 LET [2],69,84,73,65,78,77,83,85,82,87,68,75,71,79,72,86,70,0
30 LET [20],76,0,80,74,66,88,67,89,90,81,0,0,53,52,0,51,0,0,0,50
40 LET [40],0,0,0,0,0,0,0,49,54,0,47,0,0,0,0,0,55,0,0,0
50 LET [60],56,0,57,48:LET [76],63:LET [85],46:LET [90],64:LET[97],45
80 CLS:?"MORSE DECODER Ver.1 BY JH7UBC":?
90 CLT:X=1:T=8:F=1:A=0
100 IF IN(1) THEN GOTO 200 ELSE CLT
110 IF IN(1)=0 THEN GOTO 110 ELSE A=TICK()
120 IF A<T THEN X=X<<1:T=A<<1:W=T<<1+A ELSE X=X<<1:X=X|1
130 GOTO 100
200 B=TICK()-A
210 IF B<T GOTO 100
220 IF X=1 GOTO 240
230 IF X<102 ? CHR$([X]);:X=1:F=0:GOTO 100
240 IF B<W GOTO 100
250 IF F=0 ? " ";:F=1:GOTO 100
260 GOTO 100
300 END



 


Viewing all articles
Browse latest Browse all 440

Trending Articles