forked from Shirashoji/arduino_morse
-
Notifications
You must be signed in to change notification settings - Fork 0
/
morse_transmitter.py
92 lines (85 loc) · 2.29 KB
/
morse_transmitter.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
import serial
import time
import sys
ser = serial.Serial("/dev/cu.usbmodem14101", 9600)
Morse = {
"A": "・-",
"B": "-・・・",
"C": "-・-・",
"D": "-・・",
"E": "・",
"F": "・・-・",
"G": "--・",
"H": "・・・・",
"I": "・・",
"J": "・---",
"K": "-・-",
"L": "・-・・",
"M": "--",
"N": "-・",
"O": "---",
"P": "・--・",
"Q": "--・-",
"R": "・-・",
"S": "・・・",
"T": "-",
"U": "・・-",
"V": "・・・-",
"W": "・--",
"X": "-・・-",
"Y": "-・--",
"Z": "--・・",
"1": "・----",
"2": "・・---",
"3": "・・・--",
"4": "・・・・-",
"5": "・・・・・",
"6": "-・・・・",
"7": "--・・・",
"8": "---・・",
"9": "----・",
"0": "-----",
".": "・-・-・-",
",": "--・・--",
":": "---・・・",
";": "-・-・-・",
"?": "・・--・・",
"_": "・・--・-",
"+": "・-・-・",
"-": "-・・・・-",
"'": "・----・",
"!": "-・-・--",
"/": "-・・-・",
"(": "-・--・",
" ": " "
}
def light(signal):
for i in list(signal):
if i == "・":
print("・", end="")
ser.write("1".encode())
time.sleep(0.2)
ser.write("0".encode())
elif i == "-":
print("-", end="")
ser.write("1".encode())
time.sleep(0.5)
ser.write("0".encode())
elif i == " ":
print(" ", end="")
ser.write("0".encode())
time.sleep(0.2)
time.sleep(0.2)
print()
def text2morse(text):
return [Morse[i] for i in list(text)]
if __name__ == '__main__':
if len(sys.argv) > 1:
filename = sys.argv[1]
with open(filename, mode='r') as f:
lines = f.readlines()
for text in lines:
[light(i) for i in list(text2morse(text.replace('\r', '').replace('\n', ' ').replace('-', '').upper()))]
else:
text = input("TEXT: ").upper()
[light(i) for i in list(text2morse(text))]