Updated. /JL

This commit is contained in:
Jan Lerking
2025-04-10 11:06:28 +02:00
parent cffc195128
commit 0948db2a2e
7 changed files with 63 additions and 52 deletions

View File

@@ -1,19 +0,0 @@
from microbit import *
BINÆR_DATA = {
0: "00000:", 1: "00009:", 2: "00090:", 3: "00099:", 4: "00900:", 5: "00909:",
6: "00990:", 7: "00999:", 8: "09000:", 9: "09009:", 10: "09090:", 11: "09099:",
12: "09900:", 13: "09909", 14: "09990:", 15: "09999:", 16: "90000:", 17: "90009:",
18: "90090:", 19: "90099:", 20: "90900:", 21: "90909:", 22: "90990:", 23: "90999:",
24: "99000:", 25: "99009:", 26: "99090:", 27: "99099:", 28: "99900:", 29: "99909:",
30: "99990:", 31: "99999:"
}
while True:
for b in range(32):
display.show(BINÆR_DATA[b],
"00000:"
"00000:"
"00000:"
"00000")
sleep(100) #sov 0.1 sekund

View File

@@ -1,32 +0,0 @@
from microbit import *
# Binære tal tælles altid fra 0
# Binære tal representeres med 0-ere og 1-ere - Derfor også kaldet 2-talssystem
# Binære tal læses altid fra højre mod venstre i følgende orden:
# 16-ere, 8-ere, 4-ere, 2-ere og 1-ere
# Et eksempel for værdien 13 oversat til binær
# 0 16-ere, 1 8-er, 1 4-er, 0 2-ere, 1 1-er
# | | | | |
# 0 1 1 0 1 = 01101 = 1 + 4 + 8 = 13
def get_binær(n):
# Vi starter med at formatere vores binære streng til 5 karakterer (5 led), hvilket giver n = max 31
# f.eks. hvis n er 10, bliver den binære værdi til "0b01010"
bin_format = format(n, '05b')
# Vi fjerner "0b" fra strengen
# Herved bliver strengen til "01010"
bin_nummer = bin_format[2:]
# Vi erstatter "1" med "9", og tilføjer ":" og returnerer den nye streng
# Den returnerede streng bliver "09090:"
return bin_nummer.replace("1", "9") + ":"
while True:
for b in range(32):
display.show(get_binær(b),
"00000:"
"00000:"
"00000:"
"00000")
sleep(100) #sov 0.1 sekund

View File

@@ -1,6 +1,6 @@
from microbit import *
while True:
def billede():
display.show(Image.HEART)
sleep(1000)
display.scroll('Hello')

52
binær_tæller.py Normal file
View File

@@ -0,0 +1,52 @@
from microbit import *
# Binære tal tælles altid fra 0
# Binære tal representeres med 0-ere og 1-ere - Derfor også kaldet 2-talssystem
# Binære tal læses altid fra højre mod venstre i følgende orden:
# 16-ere, 8-ere, 4-ere, 2-ere og 1-ere
# Et eksempel for værdien 13 oversat til binær
# 0 16-ere, 1 8-er, 1 4-er, 0 2-ere, 1 1-er
# | | | | |
# 0 1 1 0 1 = 01101 = 1 + 4 + 8 = 13
def get_binær(n):
bin_nummer = "00000:00000:00000:00000:00000"
# Vi starter med at formatere vores binære streng til 5 karakterer (5 led), hvilket giver n = max 31
# f.eks. hvis n er 10, bliver den binære værdi til "0b01010"
bin_num = bin(n).format(n, '25b')
# Vi fjerner "0b" fra strengen
# Herved bliver strengen til "01010"
# bin_nummer = "".join(reversed(bin_num[2:]))
bin_nummer = bin_num[2:]
for idx, n in enumerate(bin_nummer):
if idx % 5 == 0:
if idx == len(bin_nummer):
break
bin_nummer = bin_nummer[idx:] + ":" + bin_nummer[:idx]
# Vi erstatter "1" med "9", og tilføjer ":" og returnerer den nye streng
# Den returnerede streng bliver "09090:"
return bin_nummer.replace("1", "9")
def bin_taeller_v2():
for bb in range(1000000):
display.show(Image(get_binær(bb)))
sleep(100) #sov 0.1 sekund
BINÆR_DATA = {
0: "00000:", 1: "00009:", 2: "00090:", 3: "00099:", 4: "00900:", 5: "00909:",
6: "00990:", 7: "00999:", 8: "09000:", 9: "09009:", 10: "09090:", 11: "09099:",
12: "09900:", 13: "09909", 14: "09990:", 15: "09999:", 16: "90000:", 17: "90009:",
18: "90090:", 19: "90099:", 20: "90900:", 21: "90909:", 22: "90990:", 23: "90999:",
24: "99000:", 25: "99009:", 26: "99090:", 27: "99099:", 28: "99900:", 29: "99909:",
30: "99990:", 31: "99999:"
}
def binaer(n):
return BINÆR_DATA[n]+"00000:00000:00000:00000"
def bin_taeller_v1():
for b in range(32):
display.show(Image(binaer(b)))
sleep(100) #sov 0.1 sekund

10
main.py Normal file
View File

@@ -0,0 +1,10 @@
from microbit import *
from billede import billede
from binær_tæller import bin_taeller_v1
from binær_tæller import bin_taeller_v2
running = True
while running:
#billede()
bin_taeller_v2()