SoftPWM LED Adventskranz mit PIC12F675 (XC8 Free vs. BoostC)
von
am 13.12.2014 um 18:32 (7004 Hits)
Wenn man von Gadgets spricht...
Hier eine kleine Bastelei für einen Adventabend. Passend zu der Jahreszeit hier die (alle Jahre wieder aktuelle) Idee, ein Adventskranz mit per Taster zuschaltbaren 1-4 LEDs zu basteln. Die LEDs flackern unabhängig voneinander per Soft-PWM und immitieren das Kerzengeflacker. Die Helligkeitsfunktion ist eine Normalverteilung 20%-100% mit Median bei 80%, als Zahlenreihe hinterlegt.
Per #define ist eine Option zuschaltbar, dass nach dem 5ten Tastendruck alle LEDs ausgehen und der Mikrocontroller in den SLEEP Modus geht. Mit erneutem Tastendruck wird die MCU wieder geweckt. Die SoftPWM läuft mit >100Hz und die Helligkeitsstufen wechseln alle ca. 100ms.
Die 4 LEDs sind so auf Kabelchen aufgelötet (und mit Schrumpfschlauch fixiert), dass sie in ein Teelicht gesteckt werden können. Die Platine mit Batterie wird natürlich unter Tannenzweigen versteckt
Die Software für PIC12F675 ist in C geschrieben und mit MPLAB und XC8 im kostenlosen free mode getestet. Das ganze ist natürlich nur eine kleine LED Spielerei, aber vielleicht als C-Beispiel für Midrange-PICs für jemanden interessant.
Allen Blog-Lesern einen schönen Advent
witkatz
Nachtrag 01.12.2015:
- Schaltplan angepasst für den Betrieb mit 3x NiMh Mignon und Tiefentladeschutz durch BOD
- Überarbeitetes C Quellcode mit BOD.
Nachtrag 27.11.2016
Es gibt Basteleien, die Jahre überdauern. Mein LED Adventskranz flackert wieder auf dem Tisch. Dieses Jahr mit hellen bernsteinfarbenen LEDs. Ich wollte eine Kleinigkeit im PIC ändern und leider den PIC erstmal zerschrieben. Dachte schon der wäre hinüber, aber dann die Fehlermeldungen genauer gelesen. Ja, da war mal was. Der PIC12F braucht zum Flashen eine Mindestspannung von 4,5V. Von 3xNiMh Akkus versorgt lässt der PIC nicht flashen - schnell eine Akkuzelle rausgenommen, die Versorgung vom Brenner aus zugeschaltet und schwups ist der PIC wieder da.