Updated. /JL
This commit is contained in:
111
morsekode/send_morse/main.py
Normal file
111
morsekode/send_morse/main.py
Normal file
@@ -0,0 +1,111 @@
|
|||||||
|
from microbit import *
|
||||||
|
import radio
|
||||||
|
import time
|
||||||
|
|
||||||
|
radio.config(channel=25)
|
||||||
|
radio.on()
|
||||||
|
|
||||||
|
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()
|
||||||
|
|
||||||
|
def send_prik():
|
||||||
|
radio.send(".")
|
||||||
|
|
||||||
|
def send_streg():
|
||||||
|
radio.send("-")
|
||||||
|
sleep(streg)
|
||||||
|
|
||||||
|
def nyt_bogstav():
|
||||||
|
radio.send("/")
|
||||||
|
sleep(bogstav)
|
||||||
|
|
||||||
|
def nyt_ord():
|
||||||
|
radio.send("//")
|
||||||
|
sleep(ord)
|
||||||
|
|
||||||
|
def afslut():
|
||||||
|
radio.send("\\")
|
||||||
|
return False
|
||||||
|
|
||||||
|
def sending(sender=False):
|
||||||
|
while sender:
|
||||||
|
if button_a.was_pressed():
|
||||||
|
send_prik()
|
||||||
|
timeout_prik = time.ticks_add(time.ticks_ms(), prik)
|
||||||
|
timeout_bogstav = time.ticks_add(time.ticks_ms(), bogstav)
|
||||||
|
elif button_b.was_pressed():
|
||||||
|
send_streg()
|
||||||
|
timeout_prik = time.ticks_add(time.ticks_ms(), prik)
|
||||||
|
elif button_a.was_pressed() and button_b.was_pressed():
|
||||||
|
sender=afslut()
|
||||||
|
if time.ticks_diff(timeout_prik, time.ticks_ms()) > 0:
|
||||||
|
if time.ticks_diff():
|
||||||
|
pass
|
||||||
|
|
||||||
|
def receiving(modtag=False):
|
||||||
|
while modtag:
|
||||||
|
tmp = ""
|
||||||
|
msg = radio.receive()
|
||||||
|
|
||||||
|
rolle = "sender"
|
||||||
|
|
||||||
|
# Code in a 'while True:' loop repeats forever
|
||||||
|
while running:
|
||||||
|
if rolle == "sender":
|
||||||
|
sending(sender=True)
|
||||||
|
elif rolle == "modtager":
|
||||||
|
receiving(True)
|
||||||
|
|
42909
morsekode/vis_morse/vis_morse.hex
Normal file
42909
morsekode/vis_morse/vis_morse.hex
Normal file
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user