from machine import Pin, PWM, Timer
from time import sleep_ms
# Configurando o pino 15 como saída para controlar o LED.
led = Pin(15, Pin.OUT)
# Configurando o pino 16 para controlar o buzzer com PWM
buzzer = PWM(Pin(16))
buzzer.duty_u16(0) # Desliga o buzzer inicialmente
buzzer.freq(440)
# Dicionário que relaciona letras e números ao código Morse.
morse_code = {
'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': '-----'
}
# Função que pisca o LED e emite som para representar o código Morse.
def flash_morse_code(morse):
for char in morse:
if char == '.':
led.on()
buzzer.duty_u16(1000)
sleep_ms(200)
elif char == '-':
led.on()
buzzer.duty_u16(1000)
sleep_ms(600)
led.off()
buzzer.duty_u16(0)
sleep_ms(200)
# Função que converte texto em código Morse.
def text_to_morse(text):
morse = ""
for char in text:
if char.upper() in morse_code:
morse += morse_code[char.upper()] + " "
else:
morse += " "
return morse
# Converte o texto "Hello World" em código Morse e imprime.
code = text_to_morse("Hello World")
print("Morse Code:", code)
# Piscando o LED para representar o código Morse.
flash_morse_code(code)