INFO - FAQ - CC2-Forum - CCPro-Forum |
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 |