Ziel: | Wir wollen herausfinden, wie eine Maus erkennt, in welche Richtung und wie weit sie bewegt wird. An einem zu bauenden Demonstrationsmodell soll die Arbeitsweise gut zu erkennen sein. Die zugehörigen Programme wollen wir ebenfalls entwickeln. |
Der Druckerport verfügt über Anschlüsse, die Informationen an den Computer
schicken können. Ein Drucker sendet schließlich Informationen wie Bereitschaft,
Papier alle, keine Tinte, Papierstau usw.. Diese kann man für seine Zwecke nutzen.
Legt man an solch einen Eingang 5V an, so erkennt der Computer eine logische 1, bei 0V eine
logische 0.
Schaltplan |
Die Abbildung zeigt den Schaltplan für eine einfache
Lichtschrankenanordnung.
Ganz links wird eine Leuchtdiode über einen Vorwiderstand angesprochen. Parallel
dazu steht ein Fototransistor zum Empfang des Lichtes bereit. Fällt Licht auf den Fototransistor, so stellt er eine leitende Verbindung zur Masse her. Damit liegen 0V am Eingang des Negators an, wodurch 5V am Eingang des Computers anliegen. Umgekehrt unterbricht der Transistor bei fehlendem Lichteinfall und am Eingang des Computers liegen 5V an. Der Negator in der Schaltung wird aus drei Gründen eingebaut.
|
Programm 1 Dieses Programm zeigt, wie man die Reaktion des Computers auf Veränderungen an der Lichtschranke abfragen kann. |
CLS WHILE INKEY$="" Eingang=INP(&H379) LOCATE 10,40 PRINT Eingang WEND |
Programm 2 Dieses Programm erkennt, wie oft die Lichtschranke unterbrochen wurde. Zuerst wird der Eingang eingelesen. Danach steckt das Programm in einer Schleife fest, so lange der Eingangswert sich nicht ändert und keine Taste gedrückt wurde. |
CLS Zaehler=0 WHILE INKEY$="" Eingang=INP(&H379) WHILE (Eingang=INP(&H379)) AND (INKEY$="") WEND Zaehler=Zaehler+1 LOCATE 10,40 PRINT Zaehler WEND |
Die Kugel liegt auf der Tischplatte. Wird die Maus bewegt, so wird die
Lichtschranke durch das Zahnrad im ständigen Wechsel unterbrochen und wieder
freigegeben. Diese Wechsel lassen sich beispielsweise mit dem Programm 2 zählen.
Hieraus lässt sich dann bestimmen, wie weit die Maus bewegt wurde. Problem Da die Lichtschranke nur Einsen und Nullen im Wechsel ausgibt, ist nicht erkennbar, ob die Maus nach links oder rechts gerollt wurde. |
|
Mit 2 Lichtschranken lassen sich bereits 4 Zustände unterscheiden. beide LS frei nur die obere LS frei nur die untere LS frei beide LS unterbrochen |
|
Das Lichtschrankenpaar liefert also 4 verschiedene Bitfolgen 11 01 00 10 Jetzt ist die Drehrichtung erkennbar: Angenommen der aktuelle Zustand ist 01. Folgt als nächster Zustand 00, dann dreht die Maus nach rechts, sonst nach links. |
|
Ein Lichtschrankenpaar haben wir bereits aufgebaut. Im nächsten Jahr wollen wir die Maus dann bauen und versuchen diese mit Programmen abzufragen. | |
Zum Testen hat Marty Winkler das killme.zip mit QBAsic geschrieben. |