Ding:Adventskranz, LED, gelötet: Unterschied zwischen den Versionen

Aus FabLab Region Nürnberg
(→‎Programmierung: Beispielzeilen C-Code hinzugefügt)
K (Link zu Rkeil angepasst)
Zeile 2: Zeile 2:
|Foto = advent_wreath_1.jpg
|Foto = advent_wreath_1.jpg
|Status = gruen
|Status = gruen
|Schöpfer = [[Benutzer:Mac|Mac]] ([[Benutzer Diskussion:Mac|Diskussion]]), Rainer
|Schöpfer = [[Benutzer:Mac|Mac]] ([[Benutzer Diskussion:Mac|Diskussion]]), [[Benutzer:Rkeil|Rkeil]]
}}
}}



Version vom 2. Dezember 2013, 00:44 Uhr

Foto
advent wreath 1.jpg
Basisdaten
Status funktionstüchtig
Schöpfer Mac (Diskussion), Rkeil


Auf der Seite Geeky Advent auf Alex Webers Blog Tinkerlog ist die Anleitung für einen hübschen LED-Adventskranz zu finden.

Material

Benötigt werden

  • 4 x LEDs (gelb oder orange)
  • 1 x Atmel ATtiny13
  • 1 x Batterie Lithium Knopfzelle CR2032 (3V)
  • 1 x Büroklammer
  • ein paar Zentimeter Draht

Als Werkzeug benötigt man

  • Lötkolben
  • Lötzinn
  • kleine Spitzzange
  • kleiner Seitenschneider

Die LEDs dienen einerseits als Helligkeitssensoren, um den Adventskranz in der Dämmerung einzuschalten und andererseits als "Kerzen".

Programmierung

Unten auf Geeky Advent findet man die notwendige Software für den ATtiny13: advent.zip

Entpackt man die Archivdatei, dann findet man in dem Unterverzeichnis advent die Datei Makefile und den Sourcecode advent.c, welche mit dem C-Compiler avr-gcc übersetzt wird.

In der Datei Makefile muss man die gegebenenfalls die Variablen DEVICE, CLOCK, PROGRAMMER und FUSES anpassen. In meinem Fall hat es genügt, die Zeile für den Programmer in

PROGRAMMER = -c usbasp

zu ändern. Mit dem Befehl make install kann man den ATtiny nun programmieren. Dabei wird advent.c übersetzt, auf den Chip geschrieben und die Fuse-Bits gesetzt.

Der Quellcode stammt aus dem Novermber 2009 und lässt sich mit einem aktuellen avr-gcc eventuell nicht übersetzen. Tritt der Fehler

advent.c:46:9: error: variable 'randomvals' must be const in order to be put into read-only section by means of '__attribute__((progmem))'
uint8_t randomvals[] PROGMEM = {
        ^
Makefile:37: recipe for target 'advent.o' failed
make: *** [advent.o] Error 1

auf, dann kann man die Zeile 46 in der Datei advent.c von

uint8_t randomvals[] PROGMEM = {

in

const int8_t randomvals[] PROGMEM = {

ändern, d.h. es muß const hinzuefügt werden.

Aufbau

Der Chip liegt bei dieser Konstruktion auf dem Rücken. Der Pin 4 wird um des Gehäuse auf die Oberseite gebogen und daran lötet man ein Drahtstück. Aus einer Büroklammer wird eine Batteriehalterung für die Knopfzelle gebogen und Pin 8 wird an die Büroklammer gelötet.

advent wreath 2.jpg

Da der ATtiny nur mit Pin 8 an der Büroklammer befestigt ist, hat es sich als günstig erwiesen, diesen Pin auf der ganzen Länge mit einem kurzen Drahtstück zu verlöten und den Draht ein paar mal um die Büroklammer zu wickeln und auch daran zu verlöten.

Die (kürzeren an der abgeflachten Seite des LED Gehäuses angebrachten) Kathodendrähte der LEDs werden zu einem Kreis zsammengelötet. Danach lötete man die vier längeren Anodendrähte an die Pins 2,3,6 und 7 des ATtiny Chips. Pin 1 und 5 werden nach der Programmierung nicht mehr verwendet.

Das Drahtstück, welches mit dem Pin 4 verlötet ist, wird nun noch mit dem Ring verlötet, der die Minuspole der LEDs verbindet.

Mit der Knopfzelle wird der Chip in die Büroklammerkonstruktion - den Batteriehalter - festgeklemmt. Die Oberseite des Chipgehäuses weist dabei nach unten und die Pins nach oben.

Die Knopfzelle weist mit dem Pluspol nach unten und dem Minuspol nach oben. Dadurch ist der Pluspol mit Pin 8 verbunden. Der Minuspol bildet einen Kontakt zu dem Pin 4, der auf die Chipgehäuseseite gebogen wurde, die nun zur Batterie weist.

Betrieb

Die LEDs sind als Helligkeitssensor geschaltet, der den Adventskranz ausschaltet, wenn eine bestimmte Helligkeit erreicht wird. Die Beleuchtung wird alle zwei Sekunden geprüft und die LEDs werden eigeschlatet, wenn es dunkel genug ist.

Wenn Strom an die Konstruktion angelegt wird, wird die erste LED eingeschaltet. Entfernt man die Stromquelle - die Lithiumknopfzelle - und verbindet sie danach wieder mit dem Büroklammerbatteriehalter, dann ist der zweite Advent, d.h. nun flackern zwei LEDs. Wiederholt man den Vorgang, dann schaltet sich die dritte LED dazu und schlussendlich die Vierte.

Entnimmt man nun die Batterie und schliesst sie erneut an, dann brennt wieder nur eine LED. Der ganz Zyklus ist also

|-> 1 -> 2 -> 3 -> 4 ->|
<----------------------v