<はじめての python_cw1 >

モールス信号の送信(CW)を、Raspberry Pi zero のpython3で挑戦しました。

下の画像をクリックしますと、CQ CQ DE JA3RUA PSE K のモールスが聞こえます。


CWは、トンツーで知られるところですが、現在、プロの世界では使われていないようですがアマチュア無線の世界では
現役で活躍しています。

モールス信号の詳しくはウィキペディアのここを参照して下さい

トンツーとは、短点と長点の組み合わせで下のような関係になっています。

下に示すように短点1に対して長点は3倍の長さになります。
短点●
長点●●●

短点と長点の間隔1つ○
文字と文字の間隔3つ○○○
単語と単語の間隔7つ○○○○○○○

Aは、短点、長点なので●○●●●
Cは、長点、短点、長点、短点なので●●●○●○●●●○●

いずれも短点と長点(長点と短点)の間に、間隔1つ○が入ります

                        ←   A  →      ←        C         →
ACと文字が連続の場合は、●○●●●○○○●●●○●○●●●○●
                                  ------
                                    ↑
                           文字と文字の間隔3つ○○○です

                     ←        C         →      ←          Q           →              ←        C         →      ←          Q           →
CQ CQと単語の場合は、●●●○●○●●●○●○○○●●●○●●●○●○●●●○○○○○○○●●●○●○●●●○●○○○●●●○●●●○●○●●●
                                           ------                          --------------                      ------
                                             ↑                                  ↑                              ↑                               

                                         文字間隔3つ                         単語間隔7つ                     文字間隔3つ



回路図



RaspberryのGPIOとタイマーもどきを(time.sleep)使えば、出来そうです。
第一歩と言うことで、上記回路を組み立てて、python3で下のプログラムを書いて、実行して見て下さい。
Aのトンツーが聞こえたと思います。
-----------------------------------------------------------
import RPi.GPIO as GPIO
import time

GPIO.setmode(GPIO.BCM)

key=18
GPIO.setup(key,GPIO.OUT,initial=GPIO.LOW)

#A
GPIO.output(key,GPIO.HIGH)
time.sleep(0.1)             #●
GPIO.output(key,GPIO.LOW)
time.sleep(0.1)             #○
GPIO.output(key,GPIO.HIGH)
time.sleep(0.3)             #●●●
GPIO.output(key,GPIO.LOW)
-----------------------------------------------------------

次回は、関数を使ったやり方をやって見たいと思います。