Anfänger braucht Hilfe ??
Hab ein Problem!!!
Ich möchte gerne eine Programmablaufsteuerung für ein Entwickler-Bad mit
einem ATmega8 und Bascom aufbauen und komme irgendwie nicht richtig vorwärts.
Bin auch in Basic noch nicht so perfeckt.
Hab's mir irgendwie einfacher vorgestellt.
Die Steuerung sollte folgendes machen:
Es soll ein Ausgang sofort nach einem Tastendruck (Start) eingeschaltet werden;
(das ist ja noch kein Problem)
dann soll nach genau 4:50 Minuten ein zweiter Motor eingeschaltet werden,
und nach 13:10 Minuten müssen beide Motoren abgeschaltet werden
(das bekomme ich auch noch hin)
Wenn während der Laufzeit noch mal start gedrückt wird, soll sich an dem Einschaltzeitpunkt
des zweiten Motors nichts ändern,
(allso immer noch nach den ersten angefanngenen 4:50 Minuten Motor zwei einschalten)
aber der Ausschaltzeitpunkt der beiden Motoren soll jetzt
um genau die Zeit die zwischen dem ersten Start und dem zweiten,dritten,vierten,...usw.
(jenachdem wie oft Start gedrückt wird) verlängert werden.
Hat jemand eine Idee wie man da am besten vorgeht??
Gruß
Georg
brauche immer noch Hilfe!!!
Hallo Robert,
mit diener Hilfe bin ich schon mal viel viel weiter gekommen.
Hab mal folgendes Programm erstellt.
Es läuft auch, nur beim wiederholten drücken der Start Taste ändern sich die Zeiten
und die Laufzeit ist ca. 0,5sec. zu kurz.
Hier mal mein 1.Versuch (Bitte nicht lachen!!!)
$regfile = "m8def.dat"
'Quarzfrequenz, entsprechend ihren Angaben
'der passende Quarz muss in die Fassung gesteckt werden
$crystal = 3686400
Declare Sub Starttaste
Dim Zahleins As Integer
Dim Zahlzwei As Integer
Dim Zahldrei As Integer
'Hier wird der Timer und der Teiler festgelegt
Config Timer1 = Timer , Prescale = 64
Config Debounce = 50
Ddrd = &B11010000 'Pin PD6 Ausgang, Rest Eingang
Portd.5 = 1 'PullUp an PD 5
'Hier ist die Programmhauptschleife
Do
Debounce Pind.5 , 0 , Starttaste , Sub
If Timer1 = 57600 Then
Timer1 = 0
Zahleins = Zahleins + 1
Zahlzwei = Zahlzwei - 1
Zahldrei = Zahldrei - 1
Toggle Portd.7 'nur damit ich sehen kann ob Timer arbeitet
If Zahlzwei = 0 Then Portd.4 = 1
If Zahldrei = 0 Then Portd.4 = 0
If Zahldrei = 0 Then Portd.6 = 0
End If
Loop
Sub Starttaste
If Portd.6 = 0 Then
Zahleins = 0
Zahlzwei = 5 'hab hier kleinere Werte eingegeben
Zahldrei = 10 'um beim Test nicht so lange warten zu müssen
Portd.6 = 1 'sollte jetzt 10sec. gesamt laufzeit sein
Timer1 = 0
Start Timer1
Else
Zahldrei = Zahldrei + Zahleins
Zahleins = 0
End If
End Sub
Vielleicht kannst du mir ja noch einen Tipp geben ???
Ich habs auch schon mal mit dem Timer Interrupt versucht aber da hab ich das Programm gar nicht zum laufen gebracht.
Gruß
Georg