import time
import machine
morse_code_dict = {
'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': '--..',
'0': '-----', '1': '.----', '2': '..---', '3': '...--', '4': '....-', '5': '.....', '6': '-....',
'7': '--...', '8': '---..', '9': '----.',
' ': ' ',
}
led_pin = machine.Pin(4, machine.Pin.OUT)
def text_to_morse(text):
morse_code = []
for char in text.upper():
if char in morse_code_dict:
morse_code.append(morse_code_dict[char])
return morse_code
def transmit_morse_code(morse_code):
for code in morse_code:
for symbol in code:
if symbol == '.':
led_pin.on()
time.sleep(0.3)
led_pin.off()
time.sleep(0.3)
elif symbol == '-':
led_pin.on()
time.sleep(0.8)
led_pin.off()
time.sleep(0.3)
else:
time.sleep(0.5) # space between letters
time.sleep(0.8) # space between words
try:
message = "HI"
morse_code_message = text_to_morse(message)
transmit_morse_code(morse_code_message)
except KeyboardInterrupt:
led_pin.off()
print("Morse code transmission stopped.")