Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - FAQ - Zum CC1-Forum - Zum CC-Pro-Forum

Re: Funktionstasten Kategorie: Programmierung (von reneforster - 11.12.2006 20:44)
Als Antwort auf Funktionstasten von Walter - 9.12.2006 23:13
Ich nutze:
C-Control II Station, OSOPT V3.0
> Hallo!
>
> Möchte gerne mit der Funktionstaste (F1) den Relaisausgang (K1) bei Betätigung
> schalten. Hoffe mir kann wieder mal jemand helfen!
>
> Vielen Dank - wünsche noch ein schönes Wochenende!

Servus Walter,

die Funktionstasten werden wie die normalen Tasten mit einem Code abgefragt.
F1 = 10
F2 = 11
F3 = 12

Ich habe bei mir z.B. einen Extra Thread zur Tastenabfrage erstellt. Dieser Thread läuft dann in einer
Schleife mit run1. (niedrige Prio, reicht für die Erkennung des Tastendrucks völlig aus)

z.B.


//-------------------------------------
thread Tasten
//-------------------------------------
{
run 1;
byte data_s[7];
int n,ad,getkey;
long code;
string s,t;

global.Menu=0;

loop
{
code=stkeyb.get();


//**//**//**//**//**//**//**//**//**//**//**//**//**//**//**//**//**//**//**//**
if(code == 1) // Ausführen bei Drücken von 1 *********************************
{plm.beep(plm.TONE_C2); sleep 50; plm.beep(plm.TONE_OFF);
if global.Menu==1 {// Licht Wohnzimmer alles AUS **************************************
max7311.set(2,0,0);max7311.set(2,1,0);max7311.set(2,2,0);max7311.set(2,3,0);
max7311.set(2,4,0);max7311.set(2,5,0);max7311.set(2,6,0);max7311.set(2,7,0);
max7311.set(2,8,0);max7311.set(2,9,0);max7311.set(2,10,0);max7311.set(2,11,0);
max7311.set(2,12,0);max7311.set(2,13,0);max7311.set(2,14,0);
lcdext.clear();lcdext.print("Licht Wohnzimmer");lcdext.line(2);lcdext.print("Lampen AUS");
global.LA1=0;global.LA2=0;global.LA3=0;global.LA4=0;global.LA5=0;global.aus232=4;sleep 500;continue;}

if global.Menu==2 // Ostseite alles Rolladen ZU **************************************
{max7311.set(0,7,1);max7311.set(0,1,1);max7311.set(0,9,1);
lcdext.clear();lcdext.print("Ostseite");lcdext.line(2);lcdext.print("Rolladen ZU");
sleep 500;max7311.set(0,7,0);max7311.set(0,1,0);max7311.set(0,9,0);sleep 500;continue;}

if global.Menu==3 // Wohnzimmer Strom EIN **************************************
{max7311.set(6,5,0);max7311.set(6,4,1);
lcdext.clear();lcdext.print("Wohnzimmer");lcdext.line(2);lcdext.print("Strom EIN");
sleep 500;continue;}

sleep 500;}



//**//**//**//**//**//**//**//**//**//**//**//**//**//**//**//**//**//**//**//**
if(code == 2) // Ausführen bei Drücken von 2 *********************************
{plm.beep(plm.TONE_C2); sleep 50; plm.beep(plm.TONE_OFF);
if global.Menu==1 {// Licht Wohnzimmer alles EIN **************************************
max7311.set(2,0,1);max7311.set(2,1,0);max7311.set(2,2,0);
max7311.set(2,3,1);max7311.set(2,4,0);max7311.set(2,5,0);
max7311.set(2,6,1);max7311.set(2,7,0);max7311.set(2,8,0);
max7311.set(2,9,1);max7311.set(2,10,0);max7311.set(2,11,0);
max7311.set(2,12,1);max7311.set(2,13,0);max7311.set(2,14,0);
lcdext.clear();lcdext.print("Licht Wohnzimmer");
lcdext.line(2);lcdext.print("Lampen EIN");
global.LA1=1;global.LA2=1;global.LA3=1;global.LA4=1;global.LA5=1;global.aus232=4;sleep 500;continue;}
 
if global.Menu==2 // Ostseite alles Rolladen AUF *************************************
{max7311.set(0,6,1);max7311.set(0,0,1);max7311.set(0,8,1);lcdext.clear();
lcdext.print("Ostseite");lcdext.line(2);lcdext.print("Rolladen AUF");
sleep 500;max7311.set(0,6,0);max7311.set(0,0,0);max7311.set(0,8,0);sleep 500;continue;}

if global.Menu==3 // Wohnzimmer Strom AUS **************************************
{max7311.set(6,4,0);max7311.set(6,5,1);
lcdext.clear();lcdext.print("Wohnzimmer");lcdext.line(2);lcdext.print("Strom AUS");
sleep 500;continue;}

sleep 500;}
 
 
 
//**//**//**//**//**//**//**//**//**//**//**//**//**//**//**//**//**//**//**//**
if(code == 3) // Ausführen bei Drücken von 3 *********************************
{plm.beep(plm.TONE_C2); sleep 50; plm.beep(plm.TONE_OFF);
if global.Menu==1 {// Licht Wohnzimmer alles Tageslicht ******************************
max7311.set(2,15,1);
max7311.set(2,0,1);max7311.set(2,1,1);max7311.set(2,2,0);
max7311.set(2,3,1);max7311.set(2,4,1);max7311.set(2,5,0);
max7311.set(2,6,1);max7311.set(2,7,1);max7311.set(2,8,0);
max7311.set(2,9,1);max7311.set(2,10,1);max7311.set(2,11,0);
max7311.set(2,12,1);max7311.set(2,13,1);max7311.set(2,14,0);
lcdext.clear();lcdext.print("Licht Wohnzimmer");
lcdext.line(2);lcdext.print("Lampen TAG");
global.LA1=4;global.LA2=4;global.LA3=4;global.LA4=4;global.LA5=4;global.aus232=4;sleep 500;continue;}
 
if global.Menu==2 // Südseite alles Rolladen ZU **************************************
{max7311.set(0,11,1);max7311.set(0,5,1);max7311.set(1,1,1);lcdext.clear();
lcdext.print("Suedseite");lcdext.line(2);lcdext.print("Rolladen ZU");
sleep 500;max7311.set(0,11,0);max7311.set(0,5,0);max7311.set(1,1,0);sleep 500;continue;}

if global.Menu==3 // Arbeitszimmer Strom EIN **************************************
{max7311.set(6,3,0);max7311.set(6,2,1);
lcdext.clear();lcdext.print("Arbeitszimmer");lcdext.line(2);lcdext.print("Strom EIN");
sleep 500;continue;}
 
sleep 500;}



//**//**//**//**//**//**//**//**//**//**//**//**//**//**//**//**//**//**//**//**
if(code == 4) // Ausführen bei Drücken von 4 *********************************
{plm.beep(plm.TONE_C2); sleep 50; plm.beep(plm.TONE_OFF);
if global.Menu==1 {max7311.set(2,15,1);
max7311.set(2,0,0);max7311.set(2,1,1);max7311.set(2,2,0);
max7311.set(2,3,0);max7311.set(2,4,1);max7311.set(2,5,0);
max7311.set(2,6,0);max7311.set(2,7,1);max7311.set(2,8,0);
max7311.set(2,9,0);max7311.set(2,10,1);max7311.set(2,11,0);
max7311.set(2,12,0);max7311.set(2,13,1);max7311.set(2,14,0);
lcdext.clear();lcdext.print("Licht Wohnzimmer");
lcdext.line(2);lcdext.print("Lampen Kombi 1");
global.LA1=2;global.LA2=2;global.LA3=2;global.LA4=2;global.LA5=2;global.aus232=4;sleep 500;continue;}

if global.Menu==2 // Südseite alles Rolladen AUF *************************************
{max7311.set(0,10,1);max7311.set(0,4,1);max7311.set(1,0,1);lcdext.clear();
lcdext.print("Sueddseite");lcdext.line(2);lcdext.print("Rolladen AUF");
sleep 500;max7311.set(0,10,0);max7311.set(0,4,0);max7311.set(1,0,0);sleep 500;continue;}

if global.Menu==3 // Arbeitszimmer Strom AUS **************************************
{max7311.set(6,2,0);max7311.set(6,3,1);
lcdext.clear();lcdext.print("Arbeitszimmer");lcdext.line(2);lcdext.print("Strom AUS");
sleep 500;continue;}
 
sleep 500;}



//**//**//**//**//**//**//**//**//**//**//**//**//**//**//**//**//**//**//**//**
if(code == 5) // Ausführen bei Drücken von 5 *********************************
{plm.beep(plm.TONE_C2); sleep 50; plm.beep(plm.TONE_OFF);
if global.Menu==1 {max7311.set(2,15,1);
max7311.set(2,0,0);max7311.set(2,1,1);max7311.set(2,2,0);
max7311.set(2,3,0);max7311.set(2,4,0);max7311.set(2,5,1);
max7311.set(2,6,0);max7311.set(2,7,1);max7311.set(2,8,0);
max7311.set(2,9,0);max7311.set(2,10,0);max7311.set(2,11,1);
max7311.set(2,12,0);max7311.set(2,13,1);max7311.set(2,14,0);
lcdext.clear();lcdext.print("Licht Wohnzimmer");
lcdext.line(2);lcdext.print("Lampen Kombi 2");
global.LA1=2;global.LA2=3;global.LA3=2;global.LA4=3;global.LA5=2;global.aus232=4;sleep 500;continue;}

if global.Menu==2 // Westseite alles Rolladen ZU *************************************
{max7311.set(1,3,1);max7311.set(1,5,1);lcdext.clear();
lcdext.print("Westseite");lcdext.line(2);lcdext.print("Rolladen ZU");
sleep 500;max7311.set(1,3,0);max7311.set(1,5,0);sleep 500;continue;}

if global.Menu==3 // Heizdecke einschalten **************************************
{max7311.set(6,1,0);max7311.set(6,0,1);
lcdext.clear();lcdext.print("Heizdecke");lcdext.line(2);lcdext.print("eingeschaltet");
sleep 500;continue;}
 
sleep 500;}



//**//**//**//**//**//**//**//**//**//**//**//**//**//**//**//**//**//**//**//**
if(code == 6) // Ausführen bei Drücken von 6 *********************************
{plm.beep(plm.TONE_C2); sleep 50; plm.beep(plm.TONE_OFF);
if global.Menu==1 {max7311.set(2,15,1);
max7311.set(2,0,0);max7311.set(2,1,0);max7311.set(2,2,1);
max7311.set(2,3,0);max7311.set(2,4,0);max7311.set(2,5,1);
max7311.set(2,6,0);max7311.set(2,7,0);max7311.set(2,8,1);
max7311.set(2,9,0);max7311.set(2,10,0);max7311.set(2,11,1);
max7311.set(2,12,0);max7311.set(2,13,0);max7311.set(2,14,1);
lcdext.clear();lcdext.print("Licht Wohnzimmer");
lcdext.line(2);lcdext.print("Lampen Kombi 3");
global.LA1=3;global.LA2=3;global.LA3=3;global.LA4=3;global.LA5=3;global.aus232=4;sleep 500;continue;}

if global.Menu==2 // Westseite alles Rolladen AUF ************************************
{max7311.set(1,2,1);max7311.set(1,4,1);lcdext.clear();
lcdext.print("Westseite");lcdext.line(2);lcdext.print("Rolladen AUF");
sleep 500;max7311.set(1,2,0);max7311.set(1,4,0);sleep 500;continue;}

if global.Menu==3 // Heizdecke ausschalten **************************************
{max7311.set(6,0,0);max7311.set(6,1,1);
lcdext.clear();lcdext.print("Heizdecke");lcdext.line(2);lcdext.print("ausgeschaltet");
sleep 500;continue;}
 
sleep 500;}



//**//**//**//**//**//**//**//**//**//**//**//**//**//**//**//**//**//**//**//**
if(code == 7) // Ausführen bei Drücken von 7 *********************************
{plm.beep(plm.TONE_C2); sleep 50; plm.beep(plm.TONE_OFF);
if global.Menu==1 {max7311.set(2,15,1);
max7311.set(2,0,0);max7311.set(2,1,1);max7311.set(2,2,0);
max7311.set(2,3,0);max7311.set(2,4,0);max7311.set(2,5,1);
max7311.set(2,6,0);max7311.set(2,7,0);max7311.set(2,8,1);
max7311.set(2,9,0);max7311.set(2,10,0);max7311.set(2,11,1);
max7311.set(2,12,0);max7311.set(2,13,1);max7311.set(2,14,0);
lcdext.clear();lcdext.print("Licht Wohnzimmer");
lcdext.line(2);lcdext.print("Lampen Kombi 4");
global.LA1=2;global.LA2=3;global.LA3=3;global.LA4=3;global.LA5=2;global.aus232=4;sleep 500;continue;}

if global.Menu==2 // Nordseite alles Rolladen ZU *************************************
{max7311.set(1,9,1);max7311.set(0,3,1);max7311.set(0,15,1);max7311.set(0,13,1);lcdext.clear();
lcdext.print("Nordseite");lcdext.line(2);lcdext.print("Rolladen ZU");sleep 500;
max7311.set(1,9,0);max7311.set(0,3,0);max7311.set(0,15,0);max7311.set(0,13,0);sleep 500;continue;}
 
sleep 500;}



//**//**//**//**//**//**//**//**//**//**//**//**//**//**//**//**//**//**//**//**
if(code == 8) // Ausführen bei Drücken von 8 *********************************
{plm.beep(plm.TONE_C2); sleep 50; plm.beep(plm.TONE_OFF);
if global.Menu==1 {max7311.set(2,15,1);
max7311.set(2,0,0);max7311.set(2,1,0);max7311.set(2,2,1);
max7311.set(2,3,0);max7311.set(2,4,0);max7311.set(2,5,1);
max7311.set(2,6,0);max7311.set(2,7,1);max7311.set(2,8,0);
max7311.set(2,9,0);max7311.set(2,10,0);max7311.set(2,11,1);
max7311.set(2,12,0);max7311.set(2,13,0);max7311.set(2,14,1);
lcdext.clear();lcdext.print("Licht Wohnzimmer");
lcdext.line(2);lcdext.print("Lampen Kombi 5");
global.LA1=3;global.LA2=3;global.LA3=2;global.LA4=3;global.LA5=3;global.aus232=4;sleep 500;continue;}

if global.Menu==2 // Nordseite alles Rolladen AUF ************************************
{max7311.set(1,8,1);max7311.set(0,2,1);max7311.set(0,14,1);max7311.set(0,12,1);lcdext.clear();
lcdext.print("Nordseite");lcdext.line(2);lcdext.print("Rolladen AUF");sleep 500;
max7311.set(1,8,0);max7311.set(0,2,0);max7311.set(0,14,0);max7311.set(0,12,0);sleep 500;continue;}

sleep 500;}



//**//**//**//**//**//**//**//**//**//**//**//**//**//**//**//**//**//**//**//**
if(code == 9) // Ausführen bei Drücken von 9 ***********************************
{plm.beep(plm.TONE_C2); sleep 50; plm.beep(plm.TONE_OFF);
if global.Menu==1 { // LED am Brunnen einschalten *************************************
max7311.set(5,1,1);global.LED6=1;global.aus232=4;
lcdext.clear();lcdext.print("Licht Wohnzimmer");lcdext.line(2);lcdext.print("LED Brunnen EIN");
sleep 500;continue;}

sleep 500;}
 
 
 
//**//**//**//**//**//**//**//**//**//**//**//**//**//**//**//**//**//**//**//**
if(code == 0) // Ausführen bei Drücken von 0 *********************************
{plm.beep(plm.TONE_C2); sleep 50; plm.beep(plm.TONE_OFF);
if global.Menu==1 { // LED am Brunnen ausschalten *************************************
max7311.set(5,1,0);global.LED6=0;global.aus232=4;
lcdext.clear();lcdext.print("Licht Wohnzimmer");lcdext.line(2);lcdext.print("LED Brunnen AUS");
sleep 500;continue;}

sleep 500;}



//**//**//**//**//**//**//**//**//**//**//**//**//**//**//**//**//**//**//**//**
if(code == 10) // Ausführen bei Drücken von F1 *********************************
{plm.beep(plm.TONE_C2); sleep 50; plm.beep(plm.TONE_OFF);
if global.Menu==2 // Rolladen Zentral AUF *********************************************
{max7311.set(1,8,1);max7311.set(0,2,1);max7311.set(0,14,1);max7311.set(0,12,1);lcdext.clear();
lcdext.print("Zentral");lcdext.line(2);lcdext.print("Rolladen AUF");sleep 500;
max7311.set(1,8,0);max7311.set(0,2,0);max7311.set(0,14,0);max7311.set(0,12,0);sleep 1000;
max7311.set(0,6,1);max7311.set(0,0,1);max7311.set(0,8,1);sleep 500;
max7311.set(0,6,0);max7311.set(0,0,0);max7311.set(0,8,0);sleep 1000;
max7311.set(0,10,1);max7311.set(0,4,1);max7311.set(1,0,1);sleep 500;
max7311.set(0,10,0);max7311.set(0,4,0);max7311.set(1,0,0);sleep 1000;
max7311.set(1,2,1);max7311.set(1,4,1);sleep 500;
max7311.set(1,2,0);max7311.set(1,4,0);sleep 500;continue;}

sleep 500;}


//**//**//**//**//**//**//**//**//**//**//**//**//**//**//**//**//**//**//**//**
if(code == 11) // Ausführen bei Drücken von F2 *********************************
{plm.beep(plm.TONE_C2); sleep 50; plm.beep(plm.TONE_OFF);
if global.Menu==2 // Rolladen Zentral ZU **********************************************
{max7311.set(1,9,1);max7311.set(0,3,1);max7311.set(0,15,1);max7311.set(0,13,1);lcdext.clear();
lcdext.print("Zentral");lcdext.line(2);lcdext.print("Rolladen ZU");sleep 500;
max7311.set(1,9,0);max7311.set(0,3,0);max7311.set(0,15,0);max7311.set(0,13,0);sleep 1000;
max7311.set(0,7,1);max7311.set(0,1,1);max7311.set(0,9,1);sleep 500;
max7311.set(0,7,0);max7311.set(0,1,0);max7311.set(0,9,0);sleep 1000;
max7311.set(0,11,1);max7311.set(0,5,1);max7311.set(1,1,1);sleep 500;
max7311.set(0,11,0);max7311.set(0,5,0);max7311.set(1,1,0);sleep 1000;
max7311.set(1,3,1);max7311.set(1,5,1);sleep 500;
max7311.set(1,3,0);max7311.set(1,5,0);sleep 500;continue;}

sleep 500;}


//**//**//**//**//**//**//**//**//**//**//**//**//**//**//**//**//**//**//**//**
if(code == 12) // Ausführen bei Drücken von F3 *******************************
{plm.beep(plm.TONE_C2); sleep 50; plm.beep(plm.TONE_OFF);

if systemzeit.dow==0 {t="Sonntag";}
if systemzeit.dow==1 {t="Montag";}
if systemzeit.dow==2 {t="Dienstag";}
if systemzeit.dow==3 {t="Mittwoch";}
if systemzeit.dow==4 {t="Donnerstag";}
if systemzeit.dow==5 {t="Freitag";}
if systemzeit.dow==6 {t="Samstag";}
if systemzeit.dow==7 {t="Sonntag";}
lcdext.clear();sleep 5;lcdext.print(t);

t="";str.putint(t,systemzeit.Uhrzeit);
lcdext.line(2);lcdext.print(t);
sleep 500;}





 

//**//**//**//**//**//**//**//**//**//**//**//**//**//**//**//**//**//**//**//**
if(code == 13) // Ausführen bei Drücken von C ********************************
{plm.beep(plm.TONE_C2); global.Menu=0;sleep 50; plm.beep(plm.TONE_OFF);
lcdext.clear();sleep 5;lcdext.print("C-Control ist");
lcdext.line(2);lcdext.print("betriebsbereit");
sleep 500;continue;}



//**//**//**//**//**//**//**//**//**//**//**//**//**//**//**//**//**//**//**//**

if(code == 14) // Ausführen bei Drücken von ENTER ****************************
{plm.beep(plm.TONE_C2); sleep 50; plm.beep(plm.TONE_OFF);
if global.Menu==0 {global.Menu=1;lcdext.clear();sleep 5;lcdext.print("Menueauswahl");
lcdext.line(2);lcdext.print("Licht Wohnzimmer");sleep 500;continue;}
if global.Menu==1 {global.Menu=2;lcdext.clear();sleep 5;lcdext.print("Menueauswahl");
lcdext.line(2);lcdext.print("Rolladen");sleep 500;continue;}
if global.Menu==2 {global.Menu=3;lcdext.clear();sleep 5;lcdext.print("Menueauswahl");
lcdext.line(2);lcdext.print("Funktionen");sleep 500;continue;}
if global.Menu==3 {global.Menu=0;lcdext.clear();sleep 5;lcdext.print("Menueauswahl");
lcdext.line(2);lcdext.print("nicht belegt 2");sleep 500;continue;}
sleep 500;
}
 
}}



Nimmst Dir halt raus was Du brauchst, im Beispiel ist ein Menü.
Aber den Sinn kann man hoffentlich rauslesen.

Rene


    Antwort schreiben


Antworten:

Re: Funktionstasten (von Walter - 16.12.2006 20:04)