Tasten-Programmierwettbewerb               

Beiträge von Michael Gaus                                     

Elektronik-Labor  Literatur  Projekte  Lernpakete  TPS                        

Baustellenampel für Modellbau mit Mega8-TPS

von Michael Gaus


Auf vielen Modelleisenbahnanlagen sind auch Städtenachbauten mit Straßen zu finden. Hierfür kann man mit dem TPS-COntroller eine kleine Schaltung aufbauen zur Steuerung einer Baustellenampelanlage. Es wurde eine selbst gebaute Mini-TPS mit ATmega8 verwendet. Die LEDs wurden "fliegend" an Buchsenleisten angelötet, sodass sie auf die Stiftleisten der TPS aufgesteckt werden können. Es werden 2 Ampeln angesteuert, mit folgender Ablaufsteuerung der einzelnen Ampelphasen:

Ampel1     Ampel2      Dauer [Sek.]
-----------------------------------
rot              grün           10
rot+gelb      gelb            1
grün            rot             10
gelb          rot+gelb        1

Auf Wunsch können die Zeiten auch geändert werden, siehe Befehl 2.
 
Jede Verkehrsampel besteht aus 3 LEDs rot, gelb und grün mit entsprechenden Vorwiderständen.
Dadurch dass die beiden gelben LEDs immer zum gleichen Zeitpunkt an oder aus sind, werden insgesamt 5 Ausgänge benötigt.
Die roten und grünen LEDs werden an die 4 Digitalausgänge A1-4 angeschlossen und die beiden gelben LEDs am PWM1 Ausgang.
Durch Ausgeben des PWM-Werts 15 (F) leuchten beide gelben LEDs, durch Ausgeben des PWM-Werts 0 sind sie ausgeschaltet.





Als Spannungsversorgung kann entweder ein Steckernetzteil mit stabilisierter 5V Ausgangsspannung dienen oder aber
3 in Serie geschaltete Mignonbatterien (ca. 4,5 V) bzw. 4 Mignonakkus (ca. 5 V), so wie auf dem Aufbaufoto zu sehen.

Adresse Befehl Daten Kommentar
00 4 0 A=0
01 5 9 Gelb inaktiv (PWM=0)
02 1 9 Rot1 aktiv, grün2 aktiv
03 2 C Warte 10 Sek.
04 4 F A=F
05 5 9 Gelb aktiv (PWM=F)
06 1 1 Rot1 aktiv, grün2 inaktiv
07 2 9 Warte 1 Sek.
08 4 0 A=0
09 5 9 Gelb inaktiv (PWM=0)
0A 1 6 Grün1 aktiv, rot2 aktiv
0B 2 C Warte 10 Sek.
0C 4 F A=F
0D 5 9 Gelb aktiv (PWM=F)
0E 1 4 Grün1 inaktiv, rot2 aktiv
0F 2 9 Warte 1 Sek.
10 9 0 Springe an den Anfang

Download speziell für Mini-TPS: AMPEL_EEPROM.HEX


Geocaching Koordinatenanzeige

von Michael Gaus  



Geocaching ist im Prinzip eine elektronische Schnitzeljagd per GPS. Es ist im Hobbybereich sehr beliebt, auch als Ergänzung bei Wanderungen oder Radtouren. Es gibt auch sogenannte Multi-Caches, die aus mehreren Stationen bestehen, wobei sich die Koordinaten der nächsten Station meist schrittweise ergeben.
Auf der Seite www.geocaching.com sind viele Geocaches gelistet. Die Registrierung ist kostenlos, auch zum Einstellen von eigenen Caches ist kein kostenpflichtiger Premiumstatus erforderlich.

Mit dieser TPS-Anwendung werden GPS-Koordinaten elektronisch per LEDs dargestellt. Bei einem Multi-cache kann man so an einer Station die Koordinaten für die nächste Station bekannt geben. Dies kann entweder binär über 4 LEDs erfolgen oder aber auch über etwas Zusatzhardware mit einer 7-Segmentanzeige. Bei der Binäranzeige ist der "Rätselfaktor" etwas größer und vielleicht auch interessanter.



Im einfachsten Fall (Schaltplan Variante Binär) werden die 4 vorhandenen LEDs an den Digitalausgängen der TPS verwendet und optional noch die grüne PWM-LED. Somit wird als zusätzliches Bauteil nur ein Reedkontakt benötigt, sodass über einen Magnet die Batteriespannung eingeschaltet werden kann. Die TPS-Platine wird zusammen mit einem Batteriehalter in eine wasserdichte durchsichtige Plastikdose eingebaut (z.B. Gefrierdose aus dem Haushaltsbereich). Die LEDs müssen von außen sichtbar sein, auch die entsprechende binäre Wertigkeit 8/4/2/1 muss erkennbar sein. Zusätzlich wird noch der Bereich markiert, hinter dem sich der Reedkontakt befindet und auf den Magnet reagiert.



Die Dose kann dann als Teil eines Multi-Caches an einem geeigneten Ort versteckt werden. In der Cachebeschreibung im Internet werden die GPS-Koordinaten der Dose veröffentlicht und zusätzlich wird darauf hingewiesen, dass der Geocacher einen Magnet mitbringen muss. Mit diesem kann er dann die TPS vor Ort einschalten und dann die Koordinaten der nächsten Station herausfinden.

Dies hat gleich mehrere Vorteile:
a) Die Schaltung ist nur dann bestromt, wenn ein Geocacher vor Ort ist, d.h. lange Batterielebensdauer.
b) Berührungsloser Kontakt von außen, kaum Verschleiß, wasserdicht.
c) Es kann im Normalfall nicht vergessen werden, das Gerät wieder auszuschalten, da der mitgebrachte Magnet wieder mitgenommen wird.
   Dies kommt wiederum der Batterielebensdauer zugute.


Das Standard-Format für eine GPS-Ortsangabe beim Geocaching sieht so aus:
Breitengrad:  ab°cd.efg'
Längengrad:  hij°kl.mno'
Der Punkt ist im deutschen eigentlich ein Komma, also eine Angabe mit "ab" Grad und "cd,efg" Winkelminuten. Die ersten 7 Ziffern (a-g) kennzeichnen also den Breitengrad (Deutschland liegt auf nördlicher Breite), die folgenden 8 Ziffern (h-o) kennzeichnen den Längengrad (Deutschland liegt auf östlicher Länge). Führende Nullen werden dargestellt, sodass die Breitengradangabe aus genau 7 und die Längengradangabe aus genau 8 Ziffern besteht.

Die Darstellung über die LEDs sieht folgendermaßen aus:

a) Vor jeder Ziffer blitzen kurz alle 4 LEDs sowie die PWM-LED gleichzeitig für ca. 200ms auf. Dies kennzeichnet optisch den Wechsel zur nächsten Ziffer. Nach jedem Blitzen kann also die Binäranzeige abgelesen und die entsprechende Ziffer notiert werden. Dadurch kann man auch 2 direkt nacheinander auftretende gleiche Ziffern gut erkennen. Als Eselsbrücke kann man sich den Vergleich mit einer Digitalfotokamera merken: nach dem Blitz bleibt das Bild kurz im Display stehen.

b) Die Ziffern werden im Binärformat dargestellt (dezimal 0-9, entsprechend binär 0000-1001).
c) Es wird nacheinander mit genau 7 Ziffern die Breitengradangabe und dann mit genau 8 Ziffern die Längengradangabe dargestellt.
d) Jede Ziffer ist für ca. 2 Sekunden zu sehen.
e) Am Ende der insgesamt 15 Ziffern erfolgt eine ca. 5 Sekunden lange Pause, während der alle 4 LEDs an sind.

Danach wiederholt sich der Vorgang von vorne. Wenn man zwischendrin beim Ablesen der angezeigten Werte aus dem Tritt gekommen ist, einfach den Magnet kurz wegnehmen und dann wieder an den Reedkontakt ranhalten, damit die Anzeige von vorne beginnt.



Falls jemand lieber eine Anzeige im Klartext mit einer 7-Segment-Anzeige möchte, dann kann ein CD4511 (BCD-zu-7-Segment-Dekoder) an A1-A4 angeschlossen werden (Schaltplan Variante 7-Segment). Wenn jedoch alle 4 Eingänge des 4511 High sind, dann sind alle Ziffernsegmente aus, sodass der Wechsel zwischen den Ziffern nicht optisch angezeigt wird (außer über die PWM-LED). Als Abhilfe kann der Dezimalpunkt der 7-Segment-Anzeige an den PWM-Ausgang angeschlossen werden, sodass über ein kurzes Aufblitzen des Punktes der Wechsel zur nächsten Ziffer sichtbar ist.

Der Musteraufbau verwendet die Binäranzeige. Der Reedkontakt wurde in das Batteriekabel eingeschleift. Das ganze wurde in eine Gefrierdose eingebaut. Im Beispielprogramm werden die GPS-Koordinaten eines berühmten Bauwerks dargestellt. Wer kriegt raus, worum es sich handelt?

Das TPS-Programm ist für die Binär- und 7-Segment-Variante das gleiche. Um beliebige Koordinaten auszugeben, müssen einfach die Werte der Ziffern BG und LG entsprechend angepasst werden.

 

Adresse

Befehl

Daten

Kommentar

00

9

9

Springe zu Adr. 09

01

2

A

Warte 2s

(UP: Pause zwischen Zeichen)

02

1

F

Alle 4 LEDs an

03

4

F

A=F

04

5

9

PWM=A

05

2

7

Warte 200ms

06

4

0

A=0

07

5

9

PWM=A

08

E

0

Ret (Ende UP Pause)

09

D

2

UP aufrufen (ohne Wartezeit)

0A

1

5

1. Ziffer BG: 5

0B

D

1

UP Pause aufrufen

0C

1

2

2. Ziffer BG: 2

0D

D

1

UP Pause aufrufen

0E

1

3

3. Ziffer BG: 3

0F

D

1

UP Pause aufrufen

10

1

0

4. Ziffer BG: 0

11

D

1

UP Pause aufrufen

12

1

9

5. Ziffer BG: 9

13

D

1

UP Pause aufrufen

14

1

7

6. Ziffer BG: 7

15

D

1

UP Pause aufrufen

16

1

8

7. Ziffer BG: 8

17

D

1

UP Pause aufrufen

18

1

0

1. Ziffer LG: 0

19

D

1

UP Pause aufrufen

1A

1

1

2. Ziffer LG: 1

1B

D

1

UP Pause aufrufen

1C

1

3

3. Ziffer LG: 3

1D

D

1

UP Pause aufrufen

1E

1

2

4. Ziffer LG: 2

1F

D

1

UP Pause aufrufen

20

1

2

5. Ziffer LG: 2

21

D

1

UP Pause aufrufen

22

1

6

6. Ziffer LG: 6

23

D

1

UP Pause aufrufen

24

1

5

7. Ziffer LG: 5

25

D

1

UP Pause aufrufen

26

1

9

8. Ziffer LG: 9

27

D

1

UP Pause aufrufen

28

2

B

Warte 5 Sekunden

29

9

0

Springe zu Adr. 00



Als Spannungsversorgung können drei in Serie geschaltete Mignonbatterien (ca. 4,5 V) bzw. 4 Mignonakkus (ca. 5 V) verwendet werden, so wie auf dem Aufbaufoto zu sehen.

Happy Geocaching!




Elektronischer LED-Würfel

von Michael Gaus  



Diese TPS-Anwendung ist ein elektronisches Abbild eines klassischen Würfels, mit dem eine Zahl zwischen 1 und 6 gewürfelt werden kann. Die gewürfelte Zahl wird dabei genauso in Form einer Kombination von 7 LED-Würfelaugen dargestellt, wie beim Vorbild. Es gibt also 7 LEDs, die mit den Digitalausgängen A1-A4 gesteuert werden. Da aufgrund der auftretenden Kombinationen der Würfelaugen an 3 Ausgängen jeweils 2 LEDs parallel angesteuert werden können, reichen 4 Ausgänge aus.



Nach Reset leuchten alle 7 LEDs des Würfels, dies dient als LED-Test. Durch Drücken von S2 beginnt der Würfel durchzuzählen, d.h. alle 7 LEDs leuchten scheinbar mit verminderter Helligkeit, da der Vorgang zu schnell für das menschliche Auge ist. Sobald S2 losgelassen wird stoppt der Zählvorgang und der aktuelle gewürfelte Wert wird mit den 7 LEDs dargestellt.

Es wurde eine selbst gebaute Mini-TPS mit ATmega8 verwendet. Die LEDs wurden auf eine kleine Platine mit Buchsenleisten angelötet, sodass sie auf die Stiftleisten der TPS aufgesteckt werden können.

Als Spannungsversorgung kann entweder ein Steckernetzteil mit stabilisierter 5 V Ausgangsspannung dienen oder aber 3 in Serie geschaltete Mignonbatterien (ca. 4,5 V) bzw. 4 Mignonakkus (ca. 5 V), so wie auf dem Aufbaufoto zu sehen.

 
Adresse Befehl Daten Kommentar
00 1 F Würfel: alle LEDs an
01 C D Skip if S2=0
02 3 1 Springe -1
03 1 4 Würfel: 1
04 C D Skip if S2=0
05 9 1 Springe zu Adr. 01
06 1 8 Würfel: 2
07 C D Skip if S2=0
08 9 1 Springe zu Adr. 01
09 1 C Würfel: 3
0A C D Skip if S2=0
0B 9 1 Springe zu Adr. 01
0C 1 9 Würfel: 4
0D C D Skip if S2=0
0E 9 1 Springe zu Adr. 01
0F 1 D Würfel: 5
10 C D Skip if S2=0
11 9 1 Springe zu Adr. 01
12 1 B Würfel: 6
13 C D Skip if S2=0
14 9 1 Springe zu Adr. 01
15 9 3 Springe zu Adr. 03
 

Siehe auch: Ein Video von Jürgen Pintaske: https://www.facebook.com/groups/269499491046124/permalink/463051558357582/

Schwimmende Teichleuchte mit RGB Farbwechsel

von Michael Gaus  



Bei diesem Projekt handelt es sich um eine wasserdichte schwimmende Teichleuchte als Dekoration. Die Schaltung wird in eine wasserdichte Plastikdose eingebaut, die im Haushaltsbereich, z.B. als Gefrierdose, verwendet wird.

Sobald die Dose ins Wasser gesetzt wird, wird über eine RGB-LED ein Regenbogen-Farbwechsel erzeugt. Dadurch kann z.B. eine effektvolle schwimmende Beleuchtung des Gartenteichs an lauen Sommerabenden erfolgen.



In den Boden der Plastikdose werden 2 blanke leitfähige Reissnägel (z.B. aus Messing) eingedrückt und auf der Innenseite jeweils Fädeldrähte angelötet, siehe Fotos. Dadurch wird ein Sensorkontakt gebildet, sodass bei Benetzung mit Wasser eine leitfähige Verbindung entsteht. Auf der Innenseite können die Reisszwecken noch zusätzlich mit Klebstoff oder Silikon abgedichtet werden, damit sicher kein Wasser eindringen kann.



Diese beiden Kontakte werden mit J1 verbunden. Ohne leitfähige Verbindung ist der A/D-Wandler am Anschlag. Bei leitender Verbindung (z.B. durch Wasser) sinkt die Spannung an AD1, sodass detektiert werden kann, ob die Dose im Wasser ist.



Als RGB-LED wird ein Typ mit gemeinsamer Kathode verwendet. Um einen Regebogen-Effekt mit den entsprechenden Farbübergängen zu erzeugen, ist immer 1 LED aus, 1 LED an und 1 LED wird  auf- oder abgedimmt. Die 3 LEDs r/g/b können folgendermaßen von der TPS gesteuert werden:

a) LED aus: Der entsprechende TPS-Ausgang Ax (1 für rot, 2 für blau, 3 für grün) wird auf Low-Pegel geschaltet. Dadurch liegt eine Diode (D1-D3) parallel zur LED, sodass die LED nicht leuchtet.

b) LED an: Der entsprechende TPS-Ausgang Ax wird auf High-Pegel geschaltet und der entsprechende Ausgang des Dezimalzählers 4017 (Q0 für rot, Q1 für grün, Q2 für blau) hat High-Pegel. Über eine Diode (D7-D9) liegt die LED dann auf High-Pegel.

c) LED wird gedimmt: Der entsprechende TPS-Ausgang Ax wird auf High-Pegel geschaltet und der entsprechende Ausgang des Dezimalzählers 4017 hat Low-Pegel. Über eine Diode (D4-D6) ist die LED dann mit dem PWM-Ausgang der TPS verbunden und die Helligkeit kann in 16 Stufen
gesteuert werden.

Der Dezimalzähler kann über A4 durch Ausgeben eines High-Pegels gefolgt von einem Low-Pegel eine Stufe weitergeschaltet werden .Damit nach dem Einschalten der Dezimalzähler auf einen definierten Wert gesetzt werden kann, ist der Ausgang Q0 mit dem TPS-Eingang E1 verbunden. Falls nach dem Einschalten Q0 nicht aktiv ist, können so lange Taktpulse auf den Zähler ausgegeben werden, bis Q0 aktiv wird.

Das Ausgabemuster auf die LEDs r/g/b für den Regenbogeneffekt sieht so aus:

rot            grün           blau
------------------------------------
an           dimmen 0-F   aus
dimmen F-0   an           aus
aus          an           dimmen 0-F
aus          dimmen F-0   an
dimmen 0-F   aus          an
an           aus          dimmen F-0


Wenn als Plastikdose eine etwas milchig-trübe weiße Dose verwendet wird, dann kann dadurch in der Dunkelheit ein besserer Streueffekt erreicht werden, sodass nicht nur der Lichtpunkt der RGB-LED sichtbar ist, sondern auch das ganze Gehäuse farblich etwas leuchtet.

Als Spannungsversorgung können 3 in Serie geschaltete Mignonbatterien (ca. 4,5 V) bzw. 4 Mignonakkus (ca. 5 V) verwendet werden, so wie auf dem Aufbaufoto zu sehen.

 
Adresse Befehl Daten Kommentar
00 8 1 Page 1
01 9 9 Springe zu Adr. 19
02 4 1 A=1 (UP: Clockpuls)
03 5 8 Dout.3=A.0
04 4 0 A=0
05 5 8 Dout.3=A.0
06 E 0 Ret
07 4 E A=14 (UP: PWM rauf)
08 5 2 C=A
09 4 0 A=0
0A 2 7 Warte 200ms
0B 7 1 A=A+1
0C 5 9 PWM=A
0D A A Schleife C* (Adr. 0A)
0E E 0 Ret
0F 4 E A=14 (UP: PWM runter)
10 5 2 C=A
11 4 F A=15
12 8 1 Page 1
13 2 7 Warte 200ms
14 7 2 A=A-1
15 5 9 PWM=A
16 A 3 Schleife C* (Adr. 13)
17 8 0 Page 0
18 E 0 Ret
19 C 8 Skip if Din.0=0
1A 9 F Springe zu Adr. 1F
1B 8 0 Page 0
1C D 2 Call UP Clockpuls
1D 8 1 Page 1
1E 3 5 Springe -5
1F 4 8 A=8
20 5 1 B=A
21 6 9 A=AD1
22 C 2 Skip if A<B
23 3 2 Springe -2
24 8 0 Page 0
25 1 5 Port 0101
26 D 7 Call UP PWM rauf
27 D 2 Call UP Clockpuls
28 D F Call UP PWM runter
29 1 6 Port 0110
2A D 7 Call UP PWM rauf
2B D 2 Call UP Clockpuls
2C D F Call UP PWM runter
2D 1 3 Port 0011
2E D 7 Call UP PWM rauf
2F D 2 Call UP Clockpuls
30 D F Call UP PWM runter
31 8 1 Page 1
32 9 F Springe zu Adr. 1F
 


Lichtwecker

von Michael Gaus



Viele Menschen sind morgens unausgeruht, weil sie vom akustischen Wecker unsanft aus dem Schlaf gerissen werden. Ein entspannteres Aufwachen kann erreicht werden, wenn der Körper langsam aus dem Schlaf geholt wird, in dem ein Sonnenaufgang simuliert wird. Dadurch wird der menschliche Organismus langsam und schonend auf das Aufstehen vorbereitet und kann so besser in den Tag starten.



Mit der TPS und einer Highpower-LED kann ein solcher Lichtwecker gebaut werden. Nach Ablauf einer einstellbaren Zeit wird mit dem Aufdimmvorgang begonnen. Jede Minute wird es eine PWM-Stufe heller. Nachdem die volle Helligkeit erreicht wurde, beginnt die LED nach 5 Minuten zusätzlich noch zu blinken, sozusagen als nachdrücklicher Hinweis, jetzt doch endlich aufzustehen. Um zu verhindern, dass ganz hartnäckige Morgenmuffel doch verschlafen könnten, wäre auch noch eine weitere Stufe denkbar: ein akustischer Alarm nach einigen weiteren Minuten, darauf wird hier jedoch verzichtet.



Die Bedienung funktioniert folgendermaßen:

1) Nach dem Einschalten bzw. nach Reset leuchtet die LED 8 der TPS als Kennzeichnung für die Eingabe der Stunden. Mit der Taste S1 kann nun die gewünschte Anzahl Stunden bis zum Wecken von 0-15 eingestellt und dann mit der Taste S2 bestätigt werden.

2) Nun leuchtet die LED 4 als Kennzeichnung für die Eingabe der Minuten, dies erfolgt in 5-Minuten Schritten. Mit der Taste S1kann nun die gewünschte Anzahl von 5-Minuten-Schritten bis zum Wecken von 0-11 (entsprechend 0-55 Minuten) eingestellt und dann mit der Taste S2 bestätigt werden.

3) Nun leuchtet die LED 2 als Kennzeichnung, dass der Wecker aktiv ist und die eingestellte Weckzeit intern runtergezählt wird.4) Sobald die Weckzeit abgelaufen ist, leuchtet die LED 1 und der Weckvorgang beginnt. Über den PWM-Ausgang wird die Highpower-LED jede Minute eine Stufe heller geschaltet. Nachdem die volle Helligkeit erreicht wurde, beginnt die LED nach 5 Minuten zusätzlich noch zu blinken.

Beispiel für die Weckzeit:
Es sei 21:30 Uhr und man möchte am anderen Morgen um 6:15 Uhr geweckt werden, also in 8 Stunden und 45 Minuten. 45 geteilt durch 5 ergibt 9, also werden die Stunden auf 8 und die Minuten auf 9 gestellt.

Als Spannungsversorgung kann ein Steckernetzteil mit stabilisierter Ausgangsspannung für die LED-Versorgung dienen. Es könnte so z.B. auch eine 12V LED-Reflektorlampe versorgt werden. Für die TPS-Versorgung können 3 in Serie geschaltete Mignonbatterien (ca. 4,5 V) bzw. 4 Mignonakkus (ca. 5 V) verwendet werden, so wie auf dem Aufbaufoto zu sehen. Falls es nachts einen kurzen Stromausfall geben sollte, beeinflusst dies dann dieTPS nicht, sodass am nächsten Morgen der Wecker seinen Dienst verrichten kann.

 
Adresse Befehl Daten Kommentar
00 4 0 A=0
01 5 1 B=A
02 1 8 LEDs 1000
03 8 3 Page 3
04 D 5 Call UP Eingabe
05 5 2 C=A (Anzahl Stunden)
06 1 4 LEDs 0100
07 D 5 Call UP Eingabe
08 5 3 D=A (Anzahl 5 Minuten)
09 1 2 LEDs 0010
0A 8 2 Page 2
0B D 9 Call UP Warte_A*_5Minuten
0C 6 2 A=C
0D 8 1 Page 1
0E C 1 Skip if A>B
0F 9 7 Springe zu Adr. 17
10 7 2 A=A-1
11 5 2 C=A
12 4 C A=12
13 8 2 Page 2
14 D 9 Call UP Warte_A*_5Minuten
15 8 1 Page 1
16 A 2 Schleife C* zu Adr. 12
17 1 1 LEDs 0001
18 4 E A=14
19 5 2 C=A
1A 4 1 A=1
1B 5 9 PWM=A
1C 2 F Warte 1 Minute
1D 7 1 A=A+1
1E A B Schleife C* zu Adr. 1B
1F 4 1 A=1
20 8 2 Page 2
21 D 9 Call UP Warte_A*_5Minuten
22 4 0 A=0
23 5 9 PWM=A
24 2 8 Warte 500ms
25 4 F A=F
26 5 9 PWM=A
27 2 8 Warte 500ms
28 3 6 Springe -6
29 C 1 Skip if A> B
(UP Warte_A*_5Minuten)
2A E 0 Ret
2B 7 2 A=A-1
2C 5 3 D=A
2D 2 F Warte 1 Minute
2E 2 F Warte 1 Minute
2F 2 F Warte 1 Minute
30 2 F Warte 1 Minute
31 2 F Warte 1 Minute
32 8 2 Page 2
33 B D Schleife D* zu Adr. 2D
34 E 0 Ret
(Ende UP Warte_A*_5Minuten)
35 C C Skip if S1=0
(UP Eingabe)
36 3 1 Springe -1
37 1 0 LEDs 0000
38 4 0 A=0
39 2 3 Warte 10ms
3A C E Skip if S1=1
3B 3 1 Springe -1
3C 2 3 Warte 10ms
3D C F Skip if S2=1
3E E 0 Ret
3F C C Skip if S1=0
40 3 3 Springe -3
41 7 1 A=A+1
42 5 4 LEDs=A
43 2 3 Warte 10ms
44 C E Skip if S1=1
45 3 1 Springe –1
46 2 3 Warte 10ms
47 3 A Springe –10
(Ende UP Eingabe)
 


Reaktivlicht für Geocaching

von Michael Gaus



Beim Geocaching gibt es auch Nachtcaches, die bei Dunkelheit gesucht werden können. Sehr beliebt sind dort sogenannte Reaktivlichter, die durch Anstrahlen mit Licht von z.B. einer Taschenlampe eine gewisse Zeit lang blinken. Dadurch kannder Geocacher in der Dunkelheit das Geocacheversteck aufspüren. Solch ein Reaktivlicht kann auch mit der TPS aufgebaut werden.



Als Lichtsensor dient ein LDR, der zusammen mit dem Vorwiderstand R1 einen Spannungsteiler bildet, dessen Abgriff mit dem Analogeingang AD1 der TPS verbunden ist. Wenn auf den LDR viel Licht fällt, dann sinkt dessen Widerstand, sodass nur eine kleine Spannung an AD1 anliegt. Bei wenig Licht entsteht eine größere Spannung an AD1.

Im TPS-Programm wird zunächst solange gewartet, bis der Wert an AD1 eine bestimmte Schwelle von 5 unterschritten hat, d.h. bis genügend Licht detektiert wird. Sobald dies der Fall ist, wird über eine Schleife zehn mal ein Blinkmuster an den 4 LEDs der TPS ausgegeben: abwechselnd wird das Leuchtmuster 1001 und 0110 dargestellt.
Anschließend wird in einer Schleife alle 100 ms der Wert an AD1 geprüft. Nur wenn der Wert 10 mal hintereinander größer als 10 ist, wird die Schleife verlassen, d.h. es muss mindestens 1 Sekunde lang (10 * 100ms) entsprechend wenig Licht detektiert werden. Dadurch wird verhindert, dass es bei Tageslicht (z.B. helle Sonneneinstrahlung) zu einem unnötigen Dauerblinken kommt.

Nachdem es 1 Sekunde lang genügend dunkel war, wird dies durch ein kurzes Aufblitzen der 4 LEDs für ca. 200 ms visualisiert. Nun wird wieder an den Programmanfang gesprungen und das ganze befindet sich wieder im Grundzustand, d.h. sobald genügend Licht einfällt, wiederholt sich der Ablauf.

Als Spannungsversorgung kann entweder ein Steckernetzteil mit stabilisierter 5V Ausgangsspannung dienen oder aber 3 in Serie geschaltete Mignonbatterien (ca. 4,5 V) bzw. 4 Mignonakkus (ca. 5 V), so wie auf dem Aufbaufoto zu sehen.

Happy Geo-Night-Caching!

 
Adresse Befehl Daten Kommentar
00 1 0 LEDs 0000
01 4 5 A=5
02 5 1 B=A
03 6 9 A=AD1
04 C 2 Skip if A<B
05 9 0 Springe zu Adr. 00
06 4 9 A=9
07 5 2 C=A
08 1 9 LEDs 1001
09 2 8 Warte 500ms
0A 1 6 LEDs 0110
0B 2 8 Warte 500ms
0C A 8 Schleifensprung C* zu Adr. 08
0D 1 0 LEDs 0000
0E 4 9 A=9
0F 5 2 C=A
10 2 6 Warte 100ms
11 4 A A=10
12 5 1 B=A
13 6 9 A=AD1
14 C 1 Skip if A>B
15 3 7 Springe –7
16 8 1 AdrHi=1
17 A 0 Schleifensprung C* zu Adr. 10
18 1 F LEDs 1111
19 2 7 Warte 200ms
1A 1 0 LEDs 0000
1B 8 0 AdrHi=0
1C 9 0 Springe zu Adr. 00
 

 




Elektronik-Labor  Literatur  Projekte  Lernpakete  TPS