Würfelspiel

Elektronik-Labor  Projekte  Mikrocontroller  TLScript  





Ähnliche Würfel wurden oft mit CMOS-Zählern gebaut. Die Umsetzung der Zahlen in das Würfelmuster aus insgesamt sieben LEDs wurde meist mit vielen Dioden gelöst. In TLScript geht das einfacher, weil die Bitmuster direkt eingegeben werden können. Die Eingabe als Binärzahlen ist am einfachsten, weil die binären Ziffern direkt für die einzelnen LEDs stehen.

Für die Ausgaben werden die Ports diesmal nicht voll eingeschaltet, sondern es wurden nur die internen Pullup-Widerstände des CH32V003 aktiviert, damit die LEDs nicht blenden, sondern nur gedimmt leuchten. Beim Arduino funktioniert das ohne Änderung, aber beim Pico müsste man Pout durch Pullup ersetzen.

              Rem Wuerfel2
0x0900  Pdir = 0
0x0AFF  Pullup = 255
              L1:
0x0811  Pout = 0b00010001
0x210F  Call L2:
0x0893  Pout = 0b10010011
0x210F  Call L2:
0x08BB  Pout = 0b10111011
0x210F  Call L2:
0x08EF  Pout = 0b11101111
0x210F  Call L2:
0x08AB  Pout = 0b10101011
0x210F  Call L2:
0x0883  Pout = 0b10000011
0x210F  Call L2:
0x2002  Jmp L1:
              L2:
0x0201  B = 1
0x4000  A = Pin0
0x2213  If A=B Jmp L3:
0x4800  Ret
              L3:
0x1914  Delay ms = 20
0x4000  A = Pin0
0x2213  If A=B Jmp L3:
0x4800  Ret

Der Würfel verwendet ein Unterprogramm L2 zur Abfrage des Tasters an P0. Wenn er gedrückt wird, gibt es einen Rücksprung, sodass alle Bitmuster schnell durchlaufen. Man sieht dann nur ein gleichförmiges und etwas abgeschwächtes Leuchten aller sieben LEDs. Wenn man wieder loslässt, bleibt ein zufälliges Muster stehen. Die sechs Zahlen des Würfels sollten gleichverteilt kommen. Wer das überprüfen will, muss mehr als 100 Würfe dokumentieren und auswerten.


Elektronik-Labor  Projekte  Mikrocontroller  TLScript