Ausgehend von Marvins LED-Blume habe ich die Firmware erweitert, sodass sie auch eigenständig arbeitet und nicht vom Rechner gesteuert werden muss.
Leider sind die USB-ISR und die PWM-ISR nicht miteinander kompatibel: Beide sind zeitkritisch. Weil der USB-Bus wichtiger ist als ein kurzes Aufblitzen der LEDs, hat die USB-ISR Vorrang. Solange man das Ding aber nur am USB-Bus hat, ohne mit ihm zu kommunizieren, stört das nicht. Auch mit USB-Fernsteuerung sieht man nur ab und zu ein Aufblitzen, das nicht sein dürfte.
Bedienung
Die Bedienung erfolgt über drei Taster:
- P: Programmwechsel (kurz) / zurück / ausschalten (lang)
- H: Helligkeit verändern / Wert verringern
- R: Geschwindigkeit verändern / Wert erhöhen
Andere Programme als die aktuell fertigen (Farbwechsel im Kreis, Farbwechsel jede LED einzeln, Disco-Blitzer) können selbst geschrieben werden.
Firmware
Die Firmware steht größtenteils unter der GPL, der PWM-Code unter der Beerware-Lizenz. Mein Code ist natürlich BSD-GPL-duallizensiert. :-D
Dateien |
---|
ledflower-r1241.tar.bz2 |
Danksagungen
Vielen Dank an Marvin für die Entwicklung der Schaltung. Seine Anleitung erlaubt es selbst dem ungeübten Löter, die Schaltung zusammenzubauen. Außerdem an Falk Brunner, von dem der Code für die Software-PWM und die Formeln für die Anpassung der LED-Helligkeit an die menschliche Wahrnehmung stammen.