from machine import Pin from time import sleep class LED: """Define a LED on a defined pin""" def __init__(self, LEDPin=2): self.LEDPin = Pin(LEDPin, Pin.OUT) print("New LED defined on Pin %s" % LEDPin) def Blink(self, number, timeon=0.2, timeoff=0.2): """Blinks the LED (number) times, (timeon) and (timeoff) are self explanatory""" for x in range(number): self.LEDPin.off() sleep(timeon) self.LEDPin.on() sleep(timeoff) def Pulse(self, seconds, Speed=1): """Helper function for Morse Code""" self.LEDPin.off() sleep(seconds) self.LEDPin.on() sleep(0.1 * Speed) def Morse(self, text, Speed=1): """Blinks (text) in morse code. Speed is around 60 cpm at 1 and proportional""" Speed = 1 / Speed Dot = 0.1 * Speed Dash = 0.3 * Speed SpaceInLetter = 0.1 * Speed SpaceBetweenLetters = 0.3 * Speed Space = 0.7 * Speed alphabet = { " ": " ", "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": "-----", ".": ".-.-.-", } print("morsing %s" % text) for c in text: for m in alphabet[c.lower()]: if m == ".": self.Pulse(Dot, Speed) if m == "-": self.Pulse(Dash, Speed) if m == " ": sleep(Space) sleep(SpaceBetweenLetters)