Einfache Zeitsteuerung / M-Unit
Hi @ all,
Ich möchte eine Pumpensteuerung für einen Zimmerspringbrunnen (2 Pumpen) bauen.
Über 4 versch. Taster soll der Modus ausgewählt werden.
Taste 1 = Pumpe 1 soll 30 min laufen, dann 15 min Pause. Dann wieder von vorn beginnen.
Taste 2 = Pumpe 2 soll 30 min laufen, dann 15 min Pause. Dann wieder von vorn beginnen.
Taste 3 = Pumpe 1 soll 30 min laufen, dann Pumpe 2 für 30 min. Dann wieder von vorn beginnen.
Taste 4 = Pumpe 1 und 2 sollen beide gleichzeitig 30 min laufen, dann 15 min Pause. Dann wieder von vorn beginnen.
Für Pumpe 1 und 2 wurden die beiden Digitalports (Ausgänge) gewählt. Über einen Vorwiderstand soll ein Transistor jeweils ein Relais ansteuern.
Für Taster 1 bis 4 wurden die Digitalports Ports 3 bis 6 gewählt. Alle haben einen 10k Pull up Widerstand, die Eingänge liegen also auf High und werden durch die Taster auf Low gezogen.
Hier noch das Listing:
'************************************************* *******************************
'
' C-Control Basic pumpe.bas
' Aufgabe:
'
' Taste 1 steuert Pumpe 1 für 30 min - dann 15 min Pause
'
' Taste 2 steuert Pumpe 2 für 30 min - dann 15 min Pause
'
' Taste 3 steuert Pumpe 1 dann Pumpe 2 mit den gleichen Zeiten
'
' Taste 4 steuert Pumpe 1 und 2 gleichzeitig mit den gleichen Zeiten wie oben
'
'************************************************* *******************************
' ---------- Definitionen ----------
'
'Ausgänge
define Pumpe1 port[1] 'ohne Pullup-Widerstand
define Pumpe2 port[2] 'ohne Pullup-Widerstand
'
'Eingänge
define Taster1 port[3] 'mit Pullup-Widerstand
define Taster2 port[4] 'mit Pullup-Widerstand
define Taster3 port[5] 'mit Pullup-Widerstand
define Taster4 port[6] 'mit Pullup-Widerstand
'
'
define Minuten Word
define Anzeit 30 ' 30 min
'
' ---------- Programmoperationen ----------
Pumpe1 = off
Pumpe2 = off
Taster1 = on
Taster2 = on
Taster3 = on
Taster4 = on
if Taster1 = off then gosub Programm1
if Taster2 = off then gosub Programm2
if Taster3 = off then gosub Programm3
if Taster4 = off then gosub Programm4
#Programm1
Pumpe2 = off
Pumpe1 = on
for Minuten = 1 to Anzeit
next Minuten
Pause 45000 ' 15 min Auszeit
return
#Programm2
Pumpe1 = off
Pumpe2 = on
for Minuten = 1 to Anzeit
next Minuten
Pause 45000 ' 15 min Auszeit
return
#Programm3
Pumpe1 = on
Pumpe2 = off
for Minuten = 1 to Anzeit
next Minuten
Pumpe1 = 0
Pumpe2 = on
for Minuten = 1 to Anzeit
next Minuten
return
#Programm4
Pumpe1 = on
Pumpe2 = on
for Minuten = 1 to Anzeit
next Minuten
Pause 45000 ' 15 min Auszeit
return