LED Leiter-Game             

von Silvio Mathys                 
Elektronik-Labor  Literatur  Projekte  Lernpakete  TPS


 
Hier wird lediglich der TPS Controller im Grundaufbau benötigt.
 
Kürzlich stolperte ich im Conrad über ein TPS Lernpaket welches mich auf Anhieb faszinierte. Ich dachte mir, genau so etwas müsste ich doch einmal ausprobieren. Zu Hause, wegen der schwarz-weiss Anleitung doch ein wenig verunsichert, begann ich mit dem Aufbau der ersten Versuche. Es funktionierte aber alles bestens und ich war hell begeistert. Wirklich cool, ich kann einen Controller programmieren ganz ohne PC, mein beinahe vergessenes  Interesse an Elektrotechnik war wieder geweckt und im nu arbeitete ich alle Versuche durch. Vielen Dank für diese tolle Idee und den leichten Einstieg in die Welt der Mikrocontroller, ich hatte wirklich viel Spass mit diesem Lernpaket.

 

Nun wollte ich aber auch noch selber etwas programmieren und ich entschied mich für ein kleines Game. Dazu wird lediglich der Grundaufbau benötigt und etwas Fleiß, denn das Spiel ist letztendlich doch 52 Adressen lang geworden!

Spielprinzip:
Bei diesem Geschicklichkeitsspiel geht es darum eine binäre Leiter von 1 bis 15 hochzuklettern. Zuerst blinkt die erste LED, also die 1. Wird der Taster S2 im richtigen Moment gedrückt, klettert man auf die 2 usw. Dies ist jedoch nur während einer Leuchtphase möglich, drückt man den Taster im falschen Moment nämlich während einer Dunkelphase, fällt der Spieler die binäre LED Leiter herunter und muss von vorne anfangen.
 
Das Spiel gewinnen:
Erreicht der Spieler die 15 (alle 4 LEDs blinken) muss er diese noch bestätigen und ein letztes Mal im richtigen Moment drücken. Gelingt dies, wird der Spieler visuell belohnt (Überraschung)!
 
Achtung:
Bei jeder Stufe, die man ansteigt, verkürzt sich die Leuchtphase um 50 ms!!!
Zuletzt hat man noch einen kurzen Blitz von ca. 50 ms Zeit.
 
Tipp:
Häufig wenn man zurückfällt, hat man den Taster zu früh gedrückt. Also immer schön warten, bis man das Leuchten sieht.
 
Das Spiel kann man auch trainieren. Wievielmal nacheinander schaffst Du es, zu gewinnen, ohne zurückzufallen? Schaffst Du es auch direkt, in jeder Leuchtphase anzusteigen, ohne Verschnaufpause?
 

 

 

LED Leiter-Game, TPS Programmcode:
 
Adresse Befehl/ Daten Kommentar Bemerkung
00 41 A=1  
01 51 B=A  In B wird der aktuelle Spielstand abgespeichert
02 61 A=B  
03 7A A=Not A
04 71 A=A+1
05 52 C=A  
06 80 Page 0  
07 AA C mal Adr 0A Schleife der Leuchtphase (C=invertierter Wert vom Spielstand +1)
08 81 Page 1  
09 9A Adr 1A  
0A 61 A=B  
0B 54 Port=A  
0C 25 Warte 50 ms  
0D 00 00 Platzhalter. Hier konnte ich versuchsweise Wartebefehle mit Adr 0C kombinieren
0E CD Skip if S2=0  Bei jedem Durchlauf wird gefragt, ob der Taster S2 gedrückt wird
0F 38 Springe -8  
10 71 A=A+1  Der Spielstand wird um 1 erhöht
11 51 B=A  und in B abgespeichert. Wird 15 überschritten fällt der Spielstand auf 0
12 54 Port=A  
13 CF Skip if S2=1  Der Taster muss losgelassen werden, damit das Spiel weitergehen kann
14 31 Springe -1  
15 40 A=0  
16 82 Page 2  
17 C3 Skip if A=B Gewonnen! (B=0)
18 99 Adr 29  Sprung über Adr 29 auf Adr 1A zur Dunkelphase
19 9B Adr 2B  Sprung zur Siegesanimation
1A 4F A=15  
1B 53 D=A  
1C 82 Page 2  
1D B0 D mal Adr 20 Schleife der Dunkelphase (15 mal)
1E 80 Page 0  
1F 92 Adr 02  
20 10 Port=0  
21 25 Warte 50 ms  
22 CD Skip if S2=0  Falls der Taster gedrückt ist…
23 36 Springe -6  
24 41 A=1  …wird der Spielstand auf 1
25 51 B=A  zurückgesetzt
26 54 Port=A  
27 CF Skip if S2=1  
28 31 Springe -1  
29 81 Page 1  
2A 9A Adr 1A  
2B 71 A=A+1 Siegesanimation
2C 54 Port=A  
2D 59 PWM=A  
2E 26 Warte 100 ms  
2F CD Skip if S2=0 Spiel neu starten
30 35 Springe -5  
31 40 A=0  
32 59 PWM=A  
33 94 Adr 24  

 

 

 

 

 

 

 

 

 

Da auch ein kurzer Tastendruck länger als 50 ms dauert, wird er immer vom Programm erkannt.




Elektronik-Labor  Literatur  Projekte  Lernpakete  TPS