Lordcyber
24.06.2007, 22:03
Hallo,
so fragen und Plane habe ich ja schon genug gestellt jetzt geht es ans eingemachte.
Also meine Feuertaufe wie man so schön sagt.
Habe als Grundlage ein Snugboard von Andree-HB mit Atmega 8
Geschaltet werden soll eine Förderpumpe welche 12V braucht.
Der Schalter ist in dem Fall ein Schwimmschalter.
Das ganze soll meine jetzige Schwellwertschaltung ablösen.
Also Funktion.
Sobald der Schwimmschalter anspringt also Wasserstand niedrig soll die Pumpe anspringen.
Sollte die Pumpe aber länger als 5 Sec laufen soll er auf Error schallten bis ich die Schaltung Resete. Also da ganze neu Starte per Resettaster.
Gut das könnte man auch per Taster lösen.
Mal sehen ist aber auch nicht das Problem.
Errorschalltung sollte ein Buzzer und LED sein.
LED an und Buzzer so alle 5 min 1 Sec anspringen.
Man ist ja nicht immer da.
Und die Katzen würden beim Dauerpiepen abdrehen.
Könnt Ihr mir sagen wie ich das mache das er wenn die Förderpumpe 5sec läuft in Sub geht.
Könnt ja auch mal sehen ob der Rest überhaupt stimmt.
Danke
Bisheriges Program:
'****Pegelregelung / Nachfüllautomatik****
'* (c) 2007 Michael Lavalle *
'* *
'*****************************************
'Fühler Pegel Filter an pind.2
'Förderpumpe Salzwasser an portd.5
'FERROR LED an portd.6
'ERROR Buzzer an portd.8
$regfile = "m8def.dat" 'definieren des verwendeten Chips
$crystal = 16000000 'definieren des verwendeten externen Quarz (8MHz)
Dim A As Byte 'dimensionieren der verwendeten Variablen
Dim B As Byte
Ddrd = &B11100000 'definieren der verwendeten Ports ( 1 = ausgang; 0= eingang)
Portd = &B00000000 'definieren der einzelnen Pins an einem Port ( 0= low level; 1= high level)
Main: 'Hauptprogramm
Do
'Anfang des Schwimmerschalter
If Pind.2 = 1 Then 'Wenn an Pin 2 von Port D ein high level anliegt..
Portd.5 = 1 '...setze Pin 5 von Port D auf High, Pumpe läuft
Else Portd.5 = 0 '...setze Pin 5 von Port D auf low, Pumpe aus
End If 'Ende der Bedingung
Loop 'zum Anfang der Schleife
Error: 'Untermenü "Error ausgabe"
Portd.6 = 1 'Error LED leuchtet
Portd.7 = 1 'setzte den Pin 7 von Port D auf high
Wait 1 '1 Sec Buzzer an
Portd.7 = 0 'setzt den Pin 7 von Port D auf low
Wait 300 ' Warte 5 Min
Portd.7 = 1 'setzte den Pin 7 von Port D auf high
Wait 1 '1 Sec Buzzer an
Portd.7 = 0 'setzt den Pin 7 von Port D auf low
Loop
Return 'zurück zum Hauptmenü
'zurück zum Hauptmenü
so fragen und Plane habe ich ja schon genug gestellt jetzt geht es ans eingemachte.
Also meine Feuertaufe wie man so schön sagt.
Habe als Grundlage ein Snugboard von Andree-HB mit Atmega 8
Geschaltet werden soll eine Förderpumpe welche 12V braucht.
Der Schalter ist in dem Fall ein Schwimmschalter.
Das ganze soll meine jetzige Schwellwertschaltung ablösen.
Also Funktion.
Sobald der Schwimmschalter anspringt also Wasserstand niedrig soll die Pumpe anspringen.
Sollte die Pumpe aber länger als 5 Sec laufen soll er auf Error schallten bis ich die Schaltung Resete. Also da ganze neu Starte per Resettaster.
Gut das könnte man auch per Taster lösen.
Mal sehen ist aber auch nicht das Problem.
Errorschalltung sollte ein Buzzer und LED sein.
LED an und Buzzer so alle 5 min 1 Sec anspringen.
Man ist ja nicht immer da.
Und die Katzen würden beim Dauerpiepen abdrehen.
Könnt Ihr mir sagen wie ich das mache das er wenn die Förderpumpe 5sec läuft in Sub geht.
Könnt ja auch mal sehen ob der Rest überhaupt stimmt.
Danke
Bisheriges Program:
'****Pegelregelung / Nachfüllautomatik****
'* (c) 2007 Michael Lavalle *
'* *
'*****************************************
'Fühler Pegel Filter an pind.2
'Förderpumpe Salzwasser an portd.5
'FERROR LED an portd.6
'ERROR Buzzer an portd.8
$regfile = "m8def.dat" 'definieren des verwendeten Chips
$crystal = 16000000 'definieren des verwendeten externen Quarz (8MHz)
Dim A As Byte 'dimensionieren der verwendeten Variablen
Dim B As Byte
Ddrd = &B11100000 'definieren der verwendeten Ports ( 1 = ausgang; 0= eingang)
Portd = &B00000000 'definieren der einzelnen Pins an einem Port ( 0= low level; 1= high level)
Main: 'Hauptprogramm
Do
'Anfang des Schwimmerschalter
If Pind.2 = 1 Then 'Wenn an Pin 2 von Port D ein high level anliegt..
Portd.5 = 1 '...setze Pin 5 von Port D auf High, Pumpe läuft
Else Portd.5 = 0 '...setze Pin 5 von Port D auf low, Pumpe aus
End If 'Ende der Bedingung
Loop 'zum Anfang der Schleife
Error: 'Untermenü "Error ausgabe"
Portd.6 = 1 'Error LED leuchtet
Portd.7 = 1 'setzte den Pin 7 von Port D auf high
Wait 1 '1 Sec Buzzer an
Portd.7 = 0 'setzt den Pin 7 von Port D auf low
Wait 300 ' Warte 5 Min
Portd.7 = 1 'setzte den Pin 7 von Port D auf high
Wait 1 '1 Sec Buzzer an
Portd.7 = 0 'setzt den Pin 7 von Port D auf low
Loop
Return 'zurück zum Hauptmenü
'zurück zum Hauptmenü