Lauflichtschaltung - Kleine Modifikationen 1&2
Schritt 1
Nun, da wir schon ein Lauflicht haben, muß es nur noch "das richtige"
produzieren. Im
Einschaltzustand sollen alle LED ausgeschaltet sein. Anschließend geht
eine LED nach der
anderen an, bis alle leuchten. Dann soll eine LED nach der anderen wieder ausgehen,
bis
alle ausgeknipst sind. Nix leichter als das:
Im Einschaltmoment ist das Schieberegister leer. Um unsere LEDs zum Leuchten
zu bringen,
müssen wir 1-Pegel in das Schieberegister pumpen. Dazu nehmen wir Ausgang
Nummer 8,
invertieren dessen Pegel mit einem 74LS06 (ein 74LS00 tut es auch) und legen
den an den
Eingang des Registers. Und siehe da, wir schieben lauter 1-Pegel in das Register.
Warum Ausgang 8 ? Nun... Was passiert, wenn Ausgang 8 einen 1-Pegel hat ? Zunächst
einmal
leuchten dann bereits ALLE LED's, schließlich hat unsere Dauer-1 am Eingang
sie alle
angeknipst. Zusätzlich wird Ausgang 8 ja noch invertiert - aus 1 mach also
0. Ui, solange
Ausgang 8 also 1-Pegel hat, schieben wir jetzt 0-Pegel in das Register...
Bis Ausgang 8 selbst 0-Pegel hat. Alle LED gehen der Reihe nach an, um dann
in derselben
Reihenfolge wieder auszugehen. Prima Sache, eigentlich.
Schritt 2
Zwei Absätze zuvor habe ich geschrieben: Im Einschaltmoment ist das Schieberegister
leer.
Dem ist leider nicht ganz so.
Tatsächlich enthalten die Ausgänge des Registers beim Einschalten
zufällige Werte. Das
ergibt einen netten Effekt, wenn wild nullen und einsen durch die LED-Ketten
flitzen, ist
aber nicht das, was wir wollen. Was tun ?
Da gibts ja noch den RESET-Eingang... Genau der kommt uns zu Hilfe. Wird der
nämlich
auf Lo-Pegel gezogen, werden alle Ausgänge auf 0 gestellt. Natürlich
darf der Pin nicht
dauernd auf Lo liegen - wir brauchen also eine Reset-Logik, die für eine
kurze Weile
unseren Reset-Pin auf Lo legt und so das Register initialisiert und dann für
den Rest
der Zeit auf Hi-Pegel liegen bleibt.
Eine volle Woche habe ich nach sowas gesucht... Und dann in einem Schaltplan
für den
C64 aus dem Jahre 1984 eine ultrasimple Lösung gefunden:
Die funktioniert so: Im Einschaltmoment ist C2 leer. Dadurch scheint es unserem
UND-Gatter, als würde sein Pin 2 auf Masse liegen, während Pin 1 auf
Hi-Pegel liegt. Da bei einem UND-Gatter bereits ein Eingang auf Masse genügt
(Masse = Lo-Pegel), steht am Ausgang ebenfalls Lo-Pegel. Dieser Ausgang mit
dem Reset-Eingang des Registers verbunden, Initialisiert unser Register.
C2 lädt sich nun über R1 allmählich auf - irgendwann ist seine
Spannung hoch genug, das das UND-Gatter dies als Hi-Pegel erkennt. Nun sind
beide Eingänge Hi, folglich geht auch der Ausgang auf Hi. Der Reset-Pin
liegt nicht mehr auf Lo-Pegel und wir sind durch damit. Somit haben wir das
Problem der Zufallswerte prima gelöst - Danke an meinen Dad, der mich auf
diese Spur brachte.
Fertig aufgebaut, mit etlichen Kontroll-LED usw. (ist ja ein Prototyp) sieht
das ganze
etwa so aus:
Weiter mit: Die LED-Leiste
<<<
- 03 - >>>
|