4
Zeilen Zeitsteuerung in Q-Basic (so einfach ist das!):
Das Programm steuert
eine Relaiskarte, die an die parallele Schnittstelle (LPT 1)
angeschlossen ist.
OUT 888, 1
DO
LOOP UNTIL TIME$ = "12:34:56"
OUT 888, 0
Wie arbeitet das Programm?
Zeile
1 |
An
die Portadresse 888 (dort befindet bei den meisten
PCs das Datenregister von LPT 1) wird ein Byte mit
dem Wert 1 ausgegeben. Das bewirkt das Schließen
von Relais 1 und Öffnen der Relais 2 - 8. Hinweis: 888
ist in hexadezimaler Schreibweise = 378. |
Zeile 2 |
Beginn einer
Schleife |
Zeile 3 |
So lange zum
Beginn der Schleife springen bis die Zeit (von der
Funktion TIME$ geliefert) gleich 12:34:56 ist. |
Zeile 4 |
Ein Byte mit
dem Wert 0 an das Datenregister von LPT 1 ausgeben;
Relais 1 öffnet. |
Wozu könnte das Programm dienen?
Angenommen, wir besitzen ein einfaches Ladegerät ohne
automatische Abschaltung. In das Ladekabel wird Relais 1 eingeschleift.
Unser PC zeigt eine Uhrzeit von 18:00 Uhr. Nach 14 Stunden soll
die Ladung beendet werden. Wir ändern 12:34:56 in
08:00:00. Um 8:00 Uhr wird der Ladestromkreis unterbrochen.
ACHTUNG: Das Programm verzeiht keine Fehler. Bei 8:00:00
wird nie abgeschaltet (führende Null fehlt) ebenso bei
08:10:62.
Wie können wir das Programm
ausbauen?
- Benutzerabfrage der Abschaltzeit (einfach).
- Anzeige von aktueller Zeit und Abschaltzeit (einfach).
- Möglichkeit zum Abbrechen (einfach).
- Kontrolle der Portadresse(n) (schon etwas schwieriger).
- Abfangen von Eingabefehlern (etwas aufwendiger).
- Mausbedienung (???; andere Baustelle).
Wo können wir mehr erfahren?
... im Tutorial, über die
Ansteuerung der seriellen und parallelen Schnittstelle.
Wie komme wir an eine Relaiskarte?
Für weniger als 5 Euro können wir sowas
selber bauen: Die ausführliche Bauanleitung
für die Einfach-Relaiskarte zeigt, wie es geht!