from machine import Pin
from time import sleep
led = Pin(15, Pin.OUT)
time_multiplier = 3 # this will multiply all durations to make it 3 times longer
# Define Morse code durations
DOT = 0.06 * time_multiplier # Short blink duration
DASH = 0.18 * time_multiplier # Long blink duration
GAP = 0.06 * time_multiplier # Space between blinks
LETTER_GAP = 0.18 * time_multiplier # Space between S and O, O and S
def blink(duration): # Function to blink a dot or a dash
led.value(1)
sleep(duration)
led.value(0)
sleep(GAP)
def sos(): # Function to flash SOS in Morse code
# "S" = dot-dot-dot
print('flashing S')
for _ in range(3):
blink(DOT)
sleep(LETTER_GAP) # Space between letters
# "O" = dash-dash-dash
print('flashing O')
for _ in range(3):
blink(DASH)
sleep(LETTER_GAP) # Space between letters
# "S" = dot-dot-dot
print('flashing S')
for _ in range(3):
blink(DOT)
print('') # newline between words
sleep(2) # Space between words
while True: # Main loop
sos() # Keep repeating SOS signal