Powell
20.08.2006, 16:22
Hi
Ich möchte ein Programm schreiben, bei dem ein ATmega 8 drei Relais schaltet, und zwar für eine genau definierte Zeit (nennen wir sie im folgenden t1). Die Relais sollen angesteuert werden, wenn taster 1 oder 2 gedrückt werden. Und zwar soll nur relais 1 anziehen, wenn taster 1 gedrückt wird, und relais 2 und 3 soll anziehen wenn taster 2 gedrückt wird. Relais 3 soll aber verzögert (Verzögerungszeit: t2)nach relais 2 anziehen. Des weiteren soll eine weitere zeit t3 integriert werden, die=0 ist, wenn einer der taster zum zweiten mal hintereinander betätigt wird. Wird erst Taster 1 und dann taster 2 betätigt, soll t3=20 ms sein.
Die Zeit t1 wird vorgegeben von einem Drehschalter S1, er sagt dem MC wie lange Relais 1 und 2 schalten sollen. Je nachdem in welcher Stellung der Drehschalter (nicht Poti!) ist wird eben Eingangspin 0....7 auf low gezogen, und das Programm bekommt die dementsprechende Zeit mitgeteilt (z.b. 10ms bei stellung 1, 20 bei stellung 2 usw.).
Die Zeit t2 soll genauso über einen zweiten Drehschalter eingestellt werden können.
Ich brauche jetzt keinen ganzen Quelltext, sondern hänge nur an einem Problem: wenn ich mit dem Befehl "dim Time as Byte" arbeite, und dann sage If ... then time = 20 ... waitms time , dann funktioniert das ganze, allerdings nur mit genau einer zeit Time. jetzt habe ich aber 3 Zeiten und nur einmal die Variable Time. Ich habe es versucht mit dem Befehl "dim t2 as byte" und "dim t3 as byte", allerdings funktioniert es da nicht. Kann mir jemand Helfen?
Gruß Paul
Ich möchte ein Programm schreiben, bei dem ein ATmega 8 drei Relais schaltet, und zwar für eine genau definierte Zeit (nennen wir sie im folgenden t1). Die Relais sollen angesteuert werden, wenn taster 1 oder 2 gedrückt werden. Und zwar soll nur relais 1 anziehen, wenn taster 1 gedrückt wird, und relais 2 und 3 soll anziehen wenn taster 2 gedrückt wird. Relais 3 soll aber verzögert (Verzögerungszeit: t2)nach relais 2 anziehen. Des weiteren soll eine weitere zeit t3 integriert werden, die=0 ist, wenn einer der taster zum zweiten mal hintereinander betätigt wird. Wird erst Taster 1 und dann taster 2 betätigt, soll t3=20 ms sein.
Die Zeit t1 wird vorgegeben von einem Drehschalter S1, er sagt dem MC wie lange Relais 1 und 2 schalten sollen. Je nachdem in welcher Stellung der Drehschalter (nicht Poti!) ist wird eben Eingangspin 0....7 auf low gezogen, und das Programm bekommt die dementsprechende Zeit mitgeteilt (z.b. 10ms bei stellung 1, 20 bei stellung 2 usw.).
Die Zeit t2 soll genauso über einen zweiten Drehschalter eingestellt werden können.
Ich brauche jetzt keinen ganzen Quelltext, sondern hänge nur an einem Problem: wenn ich mit dem Befehl "dim Time as Byte" arbeite, und dann sage If ... then time = 20 ... waitms time , dann funktioniert das ganze, allerdings nur mit genau einer zeit Time. jetzt habe ich aber 3 Zeiten und nur einmal die Variable Time. Ich habe es versucht mit dem Befehl "dim t2 as byte" und "dim t3 as byte", allerdings funktioniert es da nicht. Kann mir jemand Helfen?
Gruß Paul