Ich bau mir ein Reaktivlicht

LEDEin Reaktivlicht? Wasn das? Beim Geocaching gibt es eine besondere Spielart: der Nachtcache. Dort hangelt man sich eine Wegstrecke anhand von Reflektoren durch den Wald. Wenn man da mal eine längere Distanz zu überbrücken hat sind Reflektoren aber nicht wirklich geeignet weil deren Leuchtweite eingeschränkt ist. Doch da kommt das Reaktivlicht ins Spiel. Es ist eine elektronische Schaltung die darauf lauert kurz angeleuchtet zu werden um dann mit einer Blinksequenz zu antworten. Und da man im Dunkeln das Blinken von hellen LEDs sehr weit sehen kann ist das eine gut Lösung dafür. Es gibt auch noch weitere Möglichkeiten was man mit der Schaltung realisieren kann, dazu aber später mehr.

Da ich nun ein solches benötige aber keine Lust habe mir stumpf eines zu kaufen und ich mich gerade angefangen habe mit Mikrocontrollern zu beschäftigen stand fest: Das krieg ich bestimmt selber hin.

Also stöberte ich mich durch einige Tutorials welche aber alle irgendwie tiefgreifende Kenntnisse in Sachen Programmierung und Elektronik erfordern. Klar, damit ist man zwar in der Lage alles mögliche damit umzusetzen aber keines der Tutorials konnte halbwegs verständlich rüber bringen wie man das macht und was da im Einzelnen passiert. Aber ich hab mich da durch gewurschtelt und immer wieder meinen Freund Helge genervt der mir viele offene Fragen erklären konnte und schreib es hier mal nieder. Ich hoffe es ist einigermaßen verständlich. Falls Fragen offen bleiben oder ich es dann am Ende doch zu kompliziert erklärt habe: einfach nen Kommentar drunter setzen, ich erkläre es dann.

Es gibt ja mehrere Varianten so ein Reaktivlicht umzusetzen. Da wäre z.B. die Methode als Sensor einen lichtempfindlichen Widerstand (LDR) zu benutzen und damit das Blinken einer Leuchtdiode zu starten. Dazu benötigt man aber einige Bauteile die natürlich auch Platz wegnehmen auf einer Platine und Platz ist in so einem wasserdichten PETling doch eher Mangelware.

Bei der Recherche stolperte ich über eine Variante die ein Minimum an Bauteilen erfordert: Batterien, Mikroprozessor und eine LED. Mehr nicht. Die Schaltung und das Programm nutzen einen Trick aus um die LED als Sensor zu benutzen.

Hier meine Bauteilliste (inkl Reichelt-Bestellnummer):

  • 1 Mikroprozessor ATtiny13v (ATTINY 13V-10PU)
  • 1 LED 5 mm super-rot, farblos (LED 5-10500 RT)
  • 1 Batteriehalter 2x Mignon (HALTER 2XAAK)
  • 1 PETling oder anderes, wasserdichtes Gehäuse

Mehr braucht es eigentlich nicht!
Ok, ein wenig Lötzinn, Draht, nen Lötkolben oder eine vernünftige Lötstation, evtl. nen kleines Stückchen Lochrasterplatine und, wer noch nicht hat, einen Programmieradapter für Microkontroller sind schon noch von Nöten, aber so etwas hat man als Bastler im Haus 😉
Gekostet hat mich ein Reaktivlicht knapp € 2,- an Material.

Zuerst habe ich die Schaltung mal auf einem Breadboard aufgebaut. Die Leitungen zum Programmieradapter habe ich der Übersichtlichkeit wegen mal nicht mit eingezeichnet.

Reaktivlicht_Breadboard

Die Schaltung dazu schaut so aus:

Reaktivlicht_Schaltplan

Nun sieht man auf der Schaltung noch einen Jumper. Wozu ist der denn gut?
Ich habe eine Programmierung gefunden bei der man nachträglich die Standard-Blinksequenz umprogrammieren kann. Und das macht man über den Jumper, das geht ohne PC-Anschluss.

Was also macht diese Schaltung und warum benötigt sie nur so wenige Bauteile?
Grundsätzlich wird bei der LED eine Eigenart ausgenutzt sie als Sensor mit zu benutzen. Eine LED kann auch als Solarzelle benutzt werden. Setzt man eine LED dem Licht aus gibt sie Spannung ab. Mit dem Mikrocontroller lässt sich die Spannung messen. Über die unterschiedliche Höhe der Spannung lassen sich Schwellwerte festlegen wo Hell und Dunkel mit definiert werden. Diese muss man individuell je nach verwendeter LED anpassen. Die hier im Programm verwendeten Werte sind auf die LED von Reichelt abgestimmt.
Das Reaktivlicht ist in der Lage Tag und Nacht zu unterscheiden und fällt tagsüber in den Stromsparmodus so dass die Batterien durchaus 1-2 Jahre durchhalten.

Kommen wir nun zum Programm.
Während der Recherche fiel mir das nachfolgende Programm in die Hände welches ich auch übernommen habe. Es stammt aus der Feder von Schnasemann und basiert auf vielen Anregungen im Geoclub. Ich habe hier lediglich die Grundsequenz und die Schwellwerte angepasst. Programmiert wurde mit dem Programm BASCOM von dem man sich eine kostenlose Demoversion installieren kann. Diese langt für den kleinen ATtiny13. Erst für größere Projekte benötigt man die Vollversion.

Alternativ könnt ihr Euch die fertig kompilierte hex-Datei und die Datei fürs Eeprom hier downloaden und direkt auf den Mikrocontroller schieben.

Sodale. Jetzt kann man das Programm zwar einfach auf den Controller schreiben, funktionieren würde das Reaktivlicht aber noch nicht. Erst müssen noch die Fuses eingestellt werden.

Fuses? Wasn das?
Grob gesagt sind das Bits mit denen ein Mikrocontroller konfiguriert wird. Man kann da z.B. die interne Frequenz, Schreibschutz, etc. festlegen. Hier verweise ich auf den Wikipedia-Eintrag der das ganz gut beschreibt.

Es sollten eingestellt werden:

  • BODLEVEL 1V8 (hier wird festgelegt dass ab einer Spannung unter 1,8 Volt der Controller resettet wird und es zu keinen Fehlfunktionen kommt. Beim Reaktivlicht ist das eher ungefährlich, es gibt aber durchaus Schaltungen die dann durchdrehen können und wirres Zeug machen)
  • WDT aus (hier wird festgelegt dass der interne Watch-dog Timer nicht dauerhaft an sein soll)
  • CKDIV8 aus (der interne Takt muss nicht durch 8 geteilt werden, wir sind mit 128 KHz schon sehr weit unten)
  • CKSEL 128 kHz, 64ms (hier wird der interne Takt auf 128 KHz festgelegt, die 64ms definieren die Einschwingzeit. Sprich, man gibt dem Controller 64 ms Zeit biss er stabil taktet)

Alle anderen Fuses so belassen wie in der Werkseinstellung!

Nun habe ich ja eingangs schon erwähnt dass man die Blinksequenz umprogrammieren kann. Dazu geht man wie folgt vor:

  • programmiert wird tagsüber, also bei Licht
  • Pin 5&6 oder eben den Jumper brücken
  • Das Reaktivlicht beginnt 5x zu blinken
  • Zum Umprogrammieren den Jumper oder die Brücke vor Blinkende abziehen
  • Nun kann mit dem Jumper oder der Brücke die neue Sequenz einprogrammiert werden
  • Um wieder zur Standard-Sequenz zu gelangen die Pins oder den Jumper über die 5x Blinken hinaus brücken und erst dann abziehen.

Und so schaut das ganze dann verbaut im PETling aus (in der ersten, hier gezeigten Version fehlt noch der Jumper, diesen habe ich mit Litze verlängert an das Ende des Batteriehalters gesetzt welches zum Schraubverschluss zeigt):

Reaktivlicht

Reaktivlicht

Reaktivlicht

 

So, jetzt, wo ich den Artikel fertig geschrieben habe stelle ich fest dass es doch reichlich Text geworden ist und doch noch viele Fachbegriffe drin stehen. Um diese aber noch verständlicher zu schreiben hätte es noch mehr Text gebraucht. Ich glaube es ist einfacher ihr stellt bei Bedarf Fragen die ich dann beantworte.

Am Ende noch meine Quellen der Recherche und des benutzen Programms:

  • reaktivlicht.de Eine sehr ausführliche Anlaufstelle die aber Grundwissen voraussetzt
  • Geoclub Ein Forum für Geocacher in dem das benutzte Programm aus vielen Ideen entstanden ist
  • die Zusammenfassung der Diskussion im Geoclub
  • und natürlich Helge, den ich aber nicht verlinken kann 😉

2 Gedanken zu „Ich bau mir ein Reaktivlicht

  1. Hallo Ulf,

    vielen Dank für den interessanten Artikel. Als absoluter Neuling würde mich interessieren, wie die Leitungen zum Programmieradapter noch aussehen würden, wie kompliziert das Ganze wird?
    Mit dem verlinkten Programmieradapter würde ich Leitungen vom Adapter dann zur fertig aufgebauten Schaltung temporär zum Programmieren anschließen, sehe ich das richtig?

    Vielen Dank und Viele Grüße, Florence

  2. Hallo Florence,

    Ich habe mir für den Programmieradapter eine kleine extra Platine mit einem IC-Sockel gelötet in den ich die zu programmierenden Microcontroller einstecke. Nach dem Programmieren Controller raus ziehen und in das Reaktivlicht einlöten.
    Man kann aber auch direkt in der Schaltung die Leitungen anlöten. Aber wie schon gesagt, mit der kleinen Hilfsplatine war es komfortabler.
    Ich poste die Tage mal ein Bild zu der kleinen Platine

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.