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 |