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 

 Wait Befehl im IRSWITCH Programm von DIE HARD Kategorie: Programmierung Basic (von Thorsten - 28.02.2005 21:45)
Hallo.

Ich möchte mit der Micro eine elektrische Jalousie per Infrarot und per Hand steuern. Dazu sollen die Relais per Infrarotbefehl anziehen und nach z.B. 2 Minuten wieder abfallen. Die Handbedienung soll vorrang haben.
Mein Problem ist der Wait Befehl an dem das Programm dann ja wohl stehen bleibt.

Ich hoffe jemand hat einen Tip für mich.

Vielen Dank im Voraus.

Gruß Thorsten

Hier das IRSWITCH Programm welches ich benutzen will.


'IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
'IIIIIIIIIIIIIII      DEMO ZUM C-CONTROL MICRO             IIIIIIIIIIII
'IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
' CONRAD ELECRONIC 9.03 (by DIE HARD)
'-----------------------------------------------------------------------
' Sie sehen hier die Anwendung der C-Control MICRO als IR-Schalter,
' z.B. als Fernsteuerung für ein Garagentor.
' Sie können dafür eine handelsübliche Fernsteuerung nehmen, die RC5 codiert ist.
' Die gesendeten Codes Ihrer Fernsteuerung können Sie anzeigen lassen,
' wenn Sie die Variablen COMMAND und ADDRESS mit PRINT an das Hyperterminal schicken
' Das Relais schaltet, EIN/AUS wenn der richtige RC 5 IR-Code empfangen wurde
' Hier: Adresse 0, Command 32 -> EIN
'       Adresse 0, Command 33 -> AUS
' Das Programm kann natürlich an beliebige Codes  angepasst werden, auch eine Erweiterung auf bis zu
' 4 Kanäle ist schnell zu realisieren.
' Ebenso kann natürlich das Schaltverhalten dem Zweck angepasst werden.
' Der Treiber stellt in den Variablen COMMAND und ADDRESS die Empfangenen Daten bereit.
'---------------------------------------------------------------------------
'
' !!!  DER TREIBER PASST NICHT ZUR MICRO MIT BETRIEBSSYSTEM-VERSION V 2.00 !!!
'
' Ein Tool um die OS-Version festzustellen finden Sie im Verzeichnis MICRO_TOOLS
'----------------------------------------------------------------------------

'--------------------------
'------ I/O PORTS ---------
'--------------------------
define IRIN      port[4]
define LED       port[5]
define BUTTON    port[3]
'-------- PROGRAMM START --------
define COMMAND   byte[1]
define ADDRESS   byte[2]

baud 9600

SYS &HFD06 'ENABLE BACKGROUND RECEIVING

#loop
'----- WAITING FOR RECEIVED DATA -------
wait (COMMAND or ADDRESS)<>0
'print COMMAND
'print ADDRESS
'----- DELETE TOGGLE BIT ---------------
ADDRESS=ADDRESS and &H1F
if ADDRESS = 0 then goto CLEAR_DATA
if COMMAND=32 then goto OPEN
if COMMAND=33 then goto CLOSE
goto CLEAR_DATA
'---------------------------------------
#CLOSE
LED=off:goto CLEAR_DATA
'---------------------------------------
#OPEN
LED=on:goto CLEAR_DATA
'---------------------------------------
#CLEAR_DATA
COMMAND=0:ADDRESS=0:goto LOOP

SYSCODE "RC5_P0.s19"

 Antwort schreiben

Bisherige Antworten: