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: Kann mir wer helfen Kategorie: Programmierung Basic (von Achim - 21.08.2005 23:13)
 Als Antwort auf Re: Kann mir wer helfen von tom - 21.08.2005 22:24
Achim nutzt:  CC1-Station V1.1

> > > Ich will meine Poolpumpe auf 3 Arten schalten.
> > > -ein auf Standbye
> > > -ein Dauernd
> > > -aus
> > > da ich nur einen Taster zuverfügung habe mus ich es Softwaremäsig lösen nur wie.
> >
> > Du musst Dich ja zunächst mal entscheiden, wie Du mit dem Taster die Zustände erreichen willst:

> Aus -> Tastendruck -> Standby -> Tastendruck -> Aus-> 3sTastendruck -> Dauernd -> Tastendruck -> Aus
> wie sieht das programm aus?

Die genaue Syntax von der Micro 2 kenne ich nicht. Skizziert und ungetestet in 1.1-Syntax könnte das so angehen:

define status byte
define AUS 0
define STANDBY 1
define DAUERND 2

define taster port[1]

define tasten_zeit word

status = AUS

#loop
#008000">' auf Taster warten
tasten_zeit = timer
if not taster then goto loop

pause 5 #008000">' Entprellen

if NOT (status = STANDBY or status = DAUERND) then goto status_aus
  #008000">' Wir sind in standby oder dauernd und schalten aus
  status = AUS
  gosub Schalte_die_Pumpe_aus
  wait not taster #008000">' warten, bis Taster losgelassen
  pause 5  #008000">' Entprellen
  goto loop #008000">' Alles von vorne

#st
> > > Ich will meine Poolpumpe auf 3 Arten schalten.
> > > -ein auf Standbye
> > > -ein Dauernd
> > > -aus
> > > da ich nur einen Taster zuverfügung habe mus ich es Softwaremäsig lösen nur wie.
> >
> > Du musst Dich ja zunächst mal entscheiden, wie Du mit dem Taster die Zustände erreichen willst:

> Aus -> Tastendruck -> Standby -> Tastendruck -> Aus-> 3sTastendruck -> Dauernd -> Tastendruck -> Aus
> wie sieht das programm aus?

Die genaue Syntax von der Micro 2 kenne ich nicht. Skizziert und ungetestet in 1.1-Syntax könnte das so angehen:

define status byte
define AUS 0
define STANDBY 1
define DAUERND 2

define taster port[1]

define tasten_zeit word

status = AUS

#loop
' auf Taster warten
tasten_zeit = timer
if not taster then goto loop

pause 5 ' Entprellen

if NOT (status = STANDBY or status = DAUERND) then goto status_aus
  ' Wir sind in standby oder dauernd und schalten aus
  status = AUS
  gosub Schalte_die_Pumpe_aus
  wait not taster ' warten, bis Taster losgelassen
  pause 5  ' Entprellen
  goto loop ' Alles von vorne

#st
> > > Ich will meine Poolpumpe auf 3 Arten schalten.
> > > -ein auf Standbye
> > > -ein Dauernd
> > > -aus
> > > da ich nur einen Taster zuverfügung habe mus ich es Softwaremäsig lösen nur wie.
> >
> > Du musst Dich ja zunächst mal entscheiden, wie Du mit dem Taster die Zustände erreichen willst:

> Aus -> Tastendruck -> Standby -> Tastendruck -> Aus-> 3sTastendruck -> Dauernd -> Tastendruck -> Aus
> wie sieht das programm aus?

Die genaue Syntax von der Micro 2 kenne ich nicht. Skizziert und ungetestet in 1.1-Syntax könnte das so angehen:

define status byte
define AUS 0
define STANDBY 1
define DAUERND 2

define taster port[1]

define tasten_zeit word

status = AUS

#loop
' auf Taster warten
tasten_zeit = timer
if not taster then goto loop

pause 5 ' Entprellen

if NOT (status = STANDBY or status = DAUERND) then goto status_aus
  ' Wir sind in standby oder dauernd und schalten aus
  status = AUS
  gosub Schalte_die_Pumpe_aus
  wait not taster ' warten, bis Taster losgelassen
  pause 5  ' Entprellen
  goto loop ' Alles von vorne

#st
> > > Ich will meine Poolpumpe auf 3 Arten schalten.
> > > -ein auf Standbye
> > > -ein Dauernd
> > > -aus
> > > da ich nur einen Taster zuverfügung habe mus ich es Softwaremäsig lösen nur wie.
> >
> > Du musst Dich ja zunächst mal entscheiden, wie Du mit dem Taster die Zustände erreichen willst:

> Aus -> Tastendruck -> Standby -> Tastendruck -> Aus-> 3sTastendruck -> Dauernd -> Tastendruck -> Aus
> wie sieht das programm aus?

Die genaue Syntax von der Micro 2 kenne ich nicht. Skizziert und ungetestet in 1.1-Syntax könnte das so angehen:

define status byte
define AUS 0
define STANDBY 1
define DAUERND 2

define taster port[1]

define tasten_zeit word

status = AUS

#loop
' auf Taster warten
tasten_zeit = timer
if not taster then goto loop

pause 5 ' Entprellen

if NOT (status = STANDBY or status = DAUERND) then goto status_aus
  ' Wir sind in standby oder dauernd und schalten aus
  status = AUS
  gosub Schalte_die_Pumpe_aus
  wait not taster ' warten, bis Taster losgelassen
  pause 5  ' Entprellen
  goto loop ' Alles von vorne

#status_aus
' Pumpe ist AUS, Länge Tastendruck entscheidet über Folgezustand
if abs(timer - tasten_zeit) > 3 * 50 then goto dauernd
if taster then goto status_aus ' Taster noch gedrĂĽckt, aber noch keine 3 s abgelaufen

' Taster nach weniger als 3s losgelassen
status = STANDBY
gosub Schalte_die_Pumpe_auf_standby
pause 5  ' Entprellen
goto loop ' Alles von vorne

#dauernd
status = DAUERND
gosub Schalte_die_Pumpe_auf_dauernd
wait not taster ' warten, bis Taster losgelassen
pause 5  ' Entprellen
goto loop ' Alles von vorne

HTH

Bye
 Achim

 Antwort schreiben

Bisherige Antworten: