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: Terrariensteuerung die x-te Kategorie: Programmierung Basic (von ManfredW, Homepage - 13.10.2008 19:30)
 Als Antwort auf Terrariensteuerung die x-te von Florian86 - 6.10.2008 22:16
Hallo,

Anmerkungen habe ich eingefügt.

MfG ManfredW
>
>
>
> 'Geckoterrariumsteuerung Test.bas
>
> define LED1 port[1] 'LEDs an Port 1-6
> define LED2 port[2]
> define LED3 port[3]
> define LED4 port[4]
> define LED5 port[5]
> define LED6 port[6]
>
> define K1 port[7] 'Relais 1 und 2 an Port 7 und 8
> define K2 port[8] 'K1=Licht K2=Licht(Heizen)
>
> define Temp ad[5]
>
> define T1 word 'Variable für Temperatur
>
> define Uhrzeit word 'Variable für die aktuelle Uhrzeit
>
> define minTemp 27 'Minimaltemperatur 27°C (Schalttemperatur)
> define maxTemp 33 'Maximaltemperatur 33°C (Schalttemperatur)
>
> define absminTemp 20 'Absolute Minimaltemperatur (Alarmtemperatur)
> define absmaxTemp 40 'Absolute Maximaltemperatur (Alarmtemperatur)
>
>
> '***Das eigentliche Programm***
>
>
> #Anfang
Bei Station V1.1 sind bei Neustart die LEDs und Relais immer ausgeschaltet. Diese Befehle kannst Du weglassen.
> LED1=OFF 'Hier wird sichergestellt, dass LED1-6 aus sind
> LED2=OFF
> LED3=OFF
> LED4=OFF
> LED5=OFF
> LED6=OFF
> K1=OFF 'Hier wird sichergestellt, dass Relais 1 und 2 aus sind
> K2=OFF
Diese Zeile muss in der Endlosschleife sein, damit die Berechnung ständig erfolgt.
Für den Alarm zusätzlich den zweiten Fühler nehmen, für den Fall, dass der eine Fühler versagt.  
> T1=(Temp*5-250)/10 'Hier wird die Temperatur errechnet
>
> #loop 'Endlosschleife
> if second=0 or second=59 then goto loop 'Verhindert Fehler beim Stundenwechsel
> Uhrzeit=hour*100+minute 'Aktuelle Uhrzeit für Auswertung zwischenspeichern
> if Uhrzeit >= 2000 then gosub AllesAus
 ... goto AllesAus verhindert, dass nach 20 Uhr auch "AllesAn" bearbeitet wird.
> if uhrzeit >=  830 then gosub AllesAn
... wie vor goto... statt gosub ...
Hier muss "AllesAus" eingefügt werden (ohne Return),
 damit auch von 0 Uhr bis 8:30 "AllesAus" bearbeitet wird.  

> goto loop
>
>   #AllesAn 'wird morgens um 8.30Uhr aufgerufen
>    K1=ON 'Relais 1 zieht an ("Sonnenaufgang")
>    if T1<(minTemp) then K2=ON 'Wenn Temp <27 zieht K2 an (heizen)
>    if T1>(maxTemp) then K2=OFF 'Wenn Temp >33 fällt K2 ab (heizen aus)
>    if T1<(absminTemp) then gosub minAlarm
>    if T1>(absmaxTemp) then gosub maxAlarm
goto loop
>    return
>
>    #minAlarm 'LED1 blinkt und es ertönt ein Alarmsignal
>     pause 1
pause kann entfallen, wenn BEEP mit Zeit gesetzt wird.
>     LED1=1
LED = ON
>     BEEP 250,20,0
>     pause 1
>     LED1=0
LED = OFF
>     BEEP 350,20,0
>     return
>
>    #maxAlarm 'LED6 blinkt und es ertönt ein Alarmsignal
>     pause 1
>     LED6=1
>     BEEP 250,20,0
>     pause 1
>     LED6=0
>     BEEP 350,20,0
>     return
>
>   #AllesAus 'wird abends um 20.00Uhr aufgerufen
>    K1=OFF 'Beleuchtung geht aus
>    K2=OFF
goto loop
>    return
>
>


Meine Homepage: http://manfred.wilzeck.de

 Antwort schreiben

Bisherige Antworten: