Bauplan Schaltplan Atmel Tiny Dämmerungsschalter

Tiny Experimentireplatine als Dämmerungsschalter

Normale Leuchtdioden kann man sehr gut als Lichtsensor einsetzen, wie zum Beispiel auf dieser Seite beschrieben wird. Und erfreulicherweise lässt sich dieser Effekt auch sehr gut mit einem Mikrocontroller auswerten, so dass mit minimalem Bauteilaufwand lichtempfindliche Schaltungen entworfen werden können.

Als Beispielsoftware für die bekannte Tiny Experimentierplatine habe ich eine Software geschrieben, welche einen Atmel 13 Controller in einen Dämmerungsschalter verwandelt. Als Lichtsensor dient dabei eine superhelle, Rote LED, welche zwischen PB0 und PB1 angeschlossen wird, die Kathode kommt dabei an PB1. Die Platine muss dabei so bestückt sein, dass PB0 und PB1 ohne weitere Zwischenbauteile direkt an die Klemmen geführt werden!

Die Software (Download hier) erledigt dabei folgende Funktionen:

Der Watchdog Timer wird so initialisitert, dass er den Controller alle 250ms aufweckt. Ein Softwarezähler sorgt dafür, dass nach einer eingestellten Anzahl von WDT-Interrupts eine Messung begonnen wird. Nach der voreingestellten Interrupt-Anzahl wird dann der Zustand von PB1 eingelesen. Wenn die LED während der Messzeit ausreichend beleuchtet wurde, ist der Zustand von PB1 während dieser Zeit auf LOW gewechselt, andernfalls ist er HIGH.

Um kurzfristige Schwankungen zu verhindern, müssen mindestens 5 Messungen hintereinander LOW bzw HIGH ergeben, damit sich der Ausgang ändert. Diese Hysterese ergibt auch in der Dämmerung ein stabiles Schaltverhalten.

Im Quellcode kann festgelegt werden, wie lange eine Messung dauert (MAX_WDT_COUNTER). Dieses legt die Schwelle fest, ab welcher Lichtstärke Dunkelheit und Helligkeit detektiert werden.

Der Wert von MAX_DARKNESS_COUNTER legt fest, wieviele Messungen hintereinander gleich sein müssen, bis der Ausgang umgeschaltet wird. Dies verhindert kurzzeitige Störungen am Ausgang.

Das Programm ist dabei so aufgebaut, dass die Interruptroutine sehr kurz ist. Die Interruptroutine setzt nur ein Flag, welches dann in der Hauptprogrammschleife ausgewertet wird. Um Strom zu sparen, wird der Prozessor nach jedem Durchlauf in den Power Down Modus versetzt, nach Ablauf des Watchdog Timers wird er wieder aufgeweckt und führt das Programm weiter aus.

Bauteile für dieses Projekt - Anzeigen:
Aktive Bauelemente

Passive Bauelemente


Weitere Informationen,Grundlagen,Bauanleitung,Schaltplan, Links zum Thema
Anzeigen:

Neueste Artikel
Anzeigen:
Aktuelle Newsbeiträge
Sie sind Besucher Nr. 1212565