![]() |
Immer wenn es darum geht, ein Gerät an den Computer anzuschließen, welches
eventuell auch noch selbst gebaut wurde, denken viele an komplizierte und
undurchschaubare Schaltungen, große Geldausgaben und eventuell an Angst, die
eigene Bastelei an das wertvolle Gerät anzuschließen. Das muss aber nicht so sein... |
|
![]() |
Wird vom Computer an Y eine logische 1 ausgegeben, so liegen dort 5V an. Dadurch fließt
durch den Widerstand ein Strom von ca. 5V:10kW=0,5mA. in den
Transistor. Der Transistor wird leitend und so kann ein Strom vom Pluspol durch die
Leuchtdiode, den Widerstand von 200W und den Transistor zum
Minuspol fließen.
Diese Schaltung wird 8 mal nebeneinander aufgebaut. Dabei werden alle Emitter miteinander
verbunden, mit dem Minuspol der Schaltung und dem Pin 18 des Druckerports. Die Anoden der
Leuchtdioden werden ebenfalls untereinander verbunden und mit dem Pluspol der Schaltung.
Als Spannungsquelle reicht eine einfache Flachbatterie mit 4,5V aus. Bei höheren
Spannungen muss der Wert von 200 W entsprechend erhöht
werden.
Die 8 Anschlüsse Y gehen an die Pins 2-9 des Druckerports. Zum Testen der Schaltung
reicht es, wenn der Pluspol der Schaltung kurz an jeden Eingang Y der Schaltung gehalten wird.
Genau dann muss die zugehörige Leuchtdiode aufleuchten.
Die Schaltung wird erst an den Computer angeschlossen, wenn sie einwandfrei funktioniert.
Unbedingt auf die richtige Polarität der Spannungsquelle achten. Erst die Schaltung
anschließen, dann den Computer einschalten.
Hier noch einmal die komplette Schaltung:
Das nachfolgende Programm gibt nacheinander die Zahlen von 1 bis 255 an den Druckerport aus.
Die Warteschleife (FOR Zahl=1 to 1000 : NEXT --> 1000 mal nichts tun) ist erforderlich, um
die Ausgabe auch an der Lichtorgel beobachten zu können. Ohne sie wäre der Ablauf
zu schnell. Bei schnelleren Computern muss die Anzahl der Schleifen eventuell erhöht
werden.
CLS 'Bildschirm löschen
Drucker=&H378 'Zuweisung der Druckeradresse an
'die Variable Drucker
FOR Zahl=1 TO 255
OUT Drucker, Zahl 'Ausgabe von Zahl an den Druckerport
FOR Zeit=1 TO 1000 : NEXT 'und für 1000 Schleifen warten
NEXT
OUT Drucker, 0 'alle Pins auf 0 setzen
|
| Ziel : | Zwei helle Punkte sollen immer hin und her laufen. Auf Tastendruck wird das Programm beendet und alle Leuchtdioden gehen aus. |
![]() |
Im ersten Arbeitsschritt zeichnet man sich nacheinander alle Zustände
auf, welche die Lichtorgel nacheinander annehmen soll. Dabei bedeutet jede Zeile einen
aktuellen Zustand. Dort wo die LED leuchtet, muss am Druckerport eine 1 ausgegeben
werden, sonst eine 0. Man kann also jede Zeile als eine 8- stellige Dualzahl betrachten. Daneben wandelt man diese Dualzahlen gleich in Dezimalzahlen um. In diesem Beispiel kann man sehen, dass sich alle Zustände nach der 12. Zeile wiederholen. |
CLS 'Bildschirm löschen
Drucker=&H378 'Zuweisung der Druckeradresse an
Anzahl=12 'die Variable Drucker, Anzahl und
Dauer=1000 'Wartezeit zwischen 2 Zuständen
'angeben
WHILE INKEY$="" 'Solange keine Taste gedrückt wurde
RESTORE 'Datenzeiger auf Anfang setzen
FOR Zahl=1 TO Anzahl 'Wiederhole für alle Zustände
READ Wert 'Wert von DATA- Zeile holen
OUT Drucker, Wert 'Wert an den Druckerport ausgeben
FOR Zeit=1 TO Dauer : NEXT 'warten
NEXT 'weiter mit nächstem Wert
WEND 'Ende der WHILE- Schleife
OUT Drucker, 0 'alle Pins auf 0 setzen
DATA 192, 96, 48, 24, 12, 6 'die eigentlichen Daten für den
DATA 3, 6, 12, 24, 48, 96 'Druckerport
|