Das Open-Control-Projekt - Die Alternative zur C-Control-I


Das Forum zur C-Control-1
Welche C-Control-Varianten existieren?
Übersicht - Suchen - Neueste 50 Beiträge - Neuer Beitrag - Login - Registrieren
INFO - FAQ - CC2-Forum - CCPro-Forum 

 Re: Taster abfragen Kategorie: Programmierung Basic (von Laika - 30.11.2007 11:06)
 Als Antwort auf Taster abfragen von Alex - 29.11.2007 15:44
Laika nutzt:  CC1-Unit V1.1
Hallo!

wie Manfred schon sagte, bist du prinzipiell auf dem richtigen Weg, indem du das Programm ad infinitum in einer Schleife laufen lässt und den Taster, d.h. den Port ständig abfragst.
Zu beachten ist natürlich, dass der Taster lange genug gedrückt bleibt, damit das Signal auch erfasst wird, wenn du gerade während einer längeren Bearbeitung des Programms draufdrückst.
Die Frage ist: was machst du mit dem Taster?
Ich habe auch eine Heizungsregelung, die natürlich vollautomatisch läuft: Aufladung Nachtspeicher, Vorlaufregelung Fußbodenheizung, Warmwasserboiler, div. Kontaktüberwachungen, Meldungen und Quittierungen, Kommunikation mit dem PC. Letztere beide verlangen eine zyklische Abfrage:

#endlos
     :
   if RXD then gosub PC_bedienung
   if quitt_taste then gosub quittieren
     :
   pause ZYK_S
goto endlos

Vorstehender Code ist natürlich stark vereinfacht! Davor sind die ganzen Bearbeitungen und Zyklussteuerungen.  ZYK_S macht mit 50*20 msec den Sekundentakt.
Das Programm läuft also im Sekundentakt, der in einem Minuten-, Stunden- und Tagestakt eingebettet ist. Das hat den Nachteil, dass der (Quittier-) Taster mind. eine Sek. gedrückt werden muss (müsste da mal einen Monoflop zur Tastersignalverlängerung einbauen).
Die Verzögerung der Reaktion auf eine PC-Bedienung (if RXD ...) ist mit einer max. Sek. kein Problem.

Eine ganz andere Möglichkeit ist das angebotene "Multitasking in BASIC" - siehe links im Menü unter Download Area. Wollte das schon immer mal ausprobieren ... irgendwann mal. Vielleicht wäre das was für dich.

Wie du den Taster verdrahten musst, ist wohl klar?
Ich habe einen Umschaltkontakt, der Öffner (geschlossen, wenn nicht gedrückt) ist an Masse, der Schliesser über einen Widerstand an +5V. So wird ein sicherer Signalwechsel LOW -> HIGH erzeugt. Die sekündliche Abfrage vermeidet auch jedes Problem mit dem Kontaktprellen.

So, das war das Wort zum Wochenende
Laika

 Antwort schreiben

Bisherige Antworten:

Re: Taster abfragen (von ManfredW - 30.11.2007 12:09)
    Re: Taster abfragen (von Laika - 1.12.2007 18:30)