Files
Micropython-IOT/mipyiot/led.py

86 lines
2.4 KiB
Python

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)