Hallo,
..wie habe ich mir das gedacht..
Was sollen Deine Tasten bewirken:
Wenn Taste1 gedrückt wird soll, solange sie gedrückt wird, aufgedimmt
werden mit +5 beim loslassen automatisch mit -1 abgedimmt werden.
Wenn Taste2 gedrückt wird soll, solange sie gedrückt wird, aufgedimmt
werden mit +10 beim loslassen automatisch mit -10 abgedimmt werden.
Wenn also eine TasteX gedrückt wird, dann dimme auf mit einem Wert z.B.
DimmUp.Wenn diese losgelassen wird abdimmen mit einem Wert DimmDown.
Du erstellst Dir zwei Sub's
1 | const UpperLimit = 1023
|
2 | const LowerLimit = 0
|
3 | ....
|
4 | DIM DimmUp as Byte,DimmDown as Byte,LetzteTaste as Byte
|
5 |
|
6 | Declare Sub Aufdimmen
|
7 | Declare Sub Abdimmen
|
8 | ...
|
9 |
|
10 | sub Aufdimmen
|
11 | A = A+DimmUp
|
12 | IF A > UpperLimit then
|
13 | A = UpperLimit
|
14 | end sub
|
15 |
|
16 | sub Abdimmen
|
17 | A = A-DimmDown
|
18 | IF A < LowerLimit then
|
19 | A = LowerLimit
|
20 | end sub
|
LetzteTaste speichert nun, ob keine (0) oder Taste1 (1) oder Taste2 (2)
gedrückt gewesen war.
Zu Beginn ist LetzteTase = 0
1 | Wiederhole diesen Kram:
|
2 | Wenn letzteTaste <> 0 dann
|
3 | Wenn Gedrückte Taste = LetzteTaste dann
|
4 | Aufdimmen
|
5 | sonst
|
6 | 'Egal ob die andere Taste jetzt gedrückt wird, wird nichts gemacht
|
7 | 'Erst wieder im nächsten Durchgang
|
8 | ' sonst abdimmen
|
9 | letzteTaste = 0
|
10 | sonst
|
11 | Wenn Taste1 gedrückt dann
|
12 | ' Dimmwerte festlegen
|
13 | DimmUp = 5
|
14 | DimmDown =1
|
15 | 'Taste merken
|
16 | LetzteTaste = 1
|
17 | Aufdimmen ' kann man auch weglassen dann fehlen 20 ms....
|
18 | sonst
|
19 | Wenn Taste2 gedrückt dann
|
20 | DimmUp = 10
|
21 | DimmDown = 10
|
22 | LetzteTaste = 2
|
23 | Aufdimmen
|
24 | sonst ' keine Taste gedrückt
|
25 | Abdimmen ' mit dem Wert , der vorher festgelegt war
|
26 | Führe den PWM aus
|
27 | 'und wieder von vorne
|
Damit wird auch bei gleichzeitigem drücken beider Tasten immer nur die
erste das Rennen machen.Solange diese gedrückt bleibt ist die andere
egal.Erst nach dem loslassen, kommen die andere zum Zug.