diff --git a/morsekode/main.py b/morsekode/main.py new file mode 100644 index 0000000..9703393 --- /dev/null +++ b/morsekode/main.py @@ -0,0 +1,72 @@ +from microbit import * + +alfabet = { + "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": "-----" +} + +morse = { + ".-": "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" +} + +tegn_skiller = "/" +ord_skiller = "//" + +prik = 200 # tid, i millisekunder +streg = prik * 3 # 600 millisekunder +bogstav = streg # 600 millisekunder pause +ord = prik * 7 # 1.4 sekund pause + +test_ord = "coding pirates rules" + +running = True + +def alfa_2_morse(tegn): + return alfabet[tegn.upper()] + +def morse_2_alfa(kode): + return morse[kode] + +def vis_prik(): + display.set_pixel(2, 2, 9) + sleep(prik) + display.clear() + +def vis_streg(): + display.set_pixel(2, 2, 9) + sleep(streg) + display.clear() + +# Code in a 'while True:' loop repeats forever +while running: + for t in test_ord: + if t == " ": + sleep(ord) + continue + mors = alfa_2_morse(t) + for k in mors: + if k == ".": + vis_prik() + elif k == "-": + vis_streg() + sleep(bogstav) + running = False \ No newline at end of file