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!