Forum: Mikrocontroller und Digitale Elektronik Fading-Berechnung local?


von ich (Gast)


Lesenswert?

Um ein gleichmäßiges LED-Fading hinzubekommen, muss man ja die 
Helligkeit (PWM-Werte) mit einer logarithmus-Funktion ausrechnen. In der 
Anleitung auf dieser Seite 
(http://www.mikrocontroller.net/articles/LED-Fading), kann man eine 
Excel-Tabelle runterladen und die Werte berechnen lassen, um sie danach 
in einem Array im Code zu haben. Da stelle ich mir die Frage, ob es 
nicht einfacher ist, diese Berechnung auf dem µC selber zu machen, da 
die math-lib von C ja alles nötige hat. Man würde so u.U. viel 
Speicherplatz sparen. Ist diese Berechnung so aufwendig/rechenlastig, 
dass sich das nicht lohnt oder warum wird das mit Hilfe vom Array 
gemacht?

von Lehrmann M. (ubimbo)


Lesenswert?

ich schrieb:
> Ist diese Berechnung so aufwendig/rechenlastig

Ja schau mal nach wieviele Operationen dafür nötig sind ... das bekommt 
man nie und nimmer in der Zeit hin.

von Falk B. (falk)


Lesenswert?

@  ich (Gast)

>Helligkeit (PWM-Werte) mit einer logarithmus-Funktion ausrechnen.

Potenzfunktion.

>in einem Array im Code zu haben.

Einfach und kompakt.

> Da stelle ich mir die Frage, ob es
>nicht einfacher ist, diese Berechnung auf dem µC selber zu machen, da
>die math-lib von C ja alles nötige hat.

Nö, denn die Funktionen brauchen recht viel Speicherplatz. Und wenn man 
sie just in Time nutzt, kostet das einiges an zeit.

> Man würde so u.U. viel Speicherplatz sparen.

Nö, siehe oben.

>dass sich das nicht lohnt oder warum wird das mit Hilfe vom Array
>gemacht?

Das Array hat bei max. 16 Bit PWM mit 256 exponentiellen Stufen 256 
Einträge a 16 Bit, macht 512 Byte. Wenn deine Funktion zur Berechnung 
kleiner ist und der Zeitaufwand nicht ins Gewicht fällt, kann man es mit 
einer Funktion machen. Wenn nicht, nimm das Array.

MFG
Falk

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.