モールス信号で入力できるキーボードを作った

 

きっかけ

スマホフリック入力よりも確実で、さらに片手で入力できるキーボードが欲しくなったから。

 

必要なもの

・Seeeduino Xiao 1個 (秋月:M-15178)

・適当なスイッチ (ノーマルオープンであれば何でもよい)

回路

Gndピンと4番ピンの間にスイッチを接続する。以上。

配線例

プログラム

自由にコピーして使ってください。

転載する際はこのブログのリンクを張っていただけると助かります。

github.com

入力する符号と出力する文字の対応を変える方法

10行目の int alphamorusu[] の中身を変更すること実現でできる。

後日記載。

モールス信号を入力する速度を変更する方法

32行目の  if (stoptime - starttime >= 160) { の160をを変更することで実現できる。

この 160 というのが短点(トン)と長点(ツー)の閾値で、160ミリ秒より短ければ短点、それより長ければ長点と認識される。

対応表

欧文モールス符号を基準に作っている。

キーボードとして使えるようにするため、橙色で示した部分を追加した。

文字 符号   文字 符号   文字 符号
E   G --・   C -・-・
T   O ---   Y -・--
I ・・   H ・・・・   Z --・・
A ・-   V ・・・-   Q --・-
N -・   F ・・-・   ハイフン ---・
M --   backspace ・・--      
S ・・・   L ・-・・   enter ・・・・・
U ・・-   space ・-・-   カンマ ・・・・-
R ・-・   P ・--・   ピリオド ・・・-・
W ・--   J ・---   ! ・・・--
D -・・   B -・・・   ? ・・-・・
K -・-   X -・・-      

 

完成品