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