Hallo,
mein Programm sieht so aus:
1 | '1 = GND
|
2 | '2= +5V VCC
|
3 | '3= heizt
|
4 | '4= bereit
|
5 | '5= zu heiss
|
6 | $regfile = "atTiny45.dat"
|
7 | $crystal = 1000000
|
8 | $hwstack = 10
|
9 | $swstack = 10
|
10 | $framesize = 20
|
11 |
|
12 |
|
13 | Kalt Alias Pinb.1
|
14 | Config Kalt = Output
|
15 |
|
16 | Warm Alias Pinb.2
|
17 | Config Warm = Output
|
18 |
|
19 | Heiss Alias Pinb.4
|
20 | Config Heiss = Output
|
21 | Dim Wert As Word
|
22 |
|
23 |
|
24 |
|
25 | 'Konfiguriert ADC
|
26 | 'Config Adc = Single , Prescaler = Auto , Reference = Aref
|
27 | 'Start Adc
|
28 | Kalt = 1
|
29 | Warm = 1
|
30 | Heiss = 1
|
31 | Waitms 1000
|
32 | Kalt = 0
|
33 | Warm = 0
|
34 | Heiss = 0
|
35 | Waitms 1000
|
36 | Wert = 1100
|
37 |
|
38 |
|
39 | Do
|
40 | Wert = 1100
|
41 | 'Wert = Getadc(3)
|
42 | Waitms 100
|
43 | If Wert < 754 Then
|
44 | Kalt = 1
|
45 | Warm = 0
|
46 | Heiss = 0
|
47 | End If
|
48 | If Wert > 754 And Wert < 943 Then
|
49 | Kalt = 0
|
50 | Warm = 1
|
51 | Heiss = 0
|
52 | End If
|
53 | If Wert > 943 Then
|
54 | Kalt = 0
|
55 | Warm = 0
|
56 | Heiss = 1
|
57 | End If
|
58 | Loop
|
59 |
|
60 | End
|
Der zugehörige Aufbau auf einem Steckbrett funktioniert soweit. Nur:
Nachdem die "Hochfahrphase alle drei LEDs (die kalt, warm und heiß
repräsentieren) angeschaltet wurden gehen sie nicht mehr aus. Es handelt
sich um normale Wald- und Wiesen-Lowpower-LEDs.
Und: Je nach eingestelltem Wert blinkt die richtige LED - aber sie
blinkt. Ich hätte gerne, dass nur die LED, deren Wertebereich getroffen
wird statisch leuchtet, sonst keine.
Ich habe mir jetzt schon eine ganze Weile den Kopf zerbrochen. Fehler in
der Schaltung kann ich ausschließen, da z.B. ein Lauflicht auf exakt
demselben Aufbau keine Probleme macht.
Der Fehler muss also irgendwo im Programm liegen. Nur finde ich ihn
nicht.
Danke im Voraus.