Go Down

Topic: Increasing Brightness Linearly (Read 648 times) previous topic - next topic


I understand that LED brightness seems to be logarithmic as a function of duty cycle. In other words, perceived brightness = log(duty cycle) or that as the duty cycle becomes higher, the perceived differences in brightness become more imperceptible.

A person on the AVR Freaks forum posted this thread on how to use the formula "brightness = log(10^(duty cycle)) = x" to cancel out the log using a lookup table or linear interpolation.

Is there a name for this kind of "linearizing using the inverse"? I searched wikipedia and found "Inverse problem" but it got complicated really quickly with matrices and I couldn't follow.


what is the colour of the LED as IIRC these formulas depend on the colour too.

If you want to implement a lookup table check multimap() - http://playground.arduino.cc/Main/MultiMap -
Rob Tillaart

Nederlandse sectie - http://arduino.cc/forum/index.php/board,77.0.html -
(Please do not PM for private consultancy)


My particular LEDs were green and white.


The logarithmic curve is only a relatively coarse approximation. More accurate is the CIE LAB correction:


This post on the forum explains how to calculate a lookup table:

You may want to check out "progmem":


Go Up

Please enter a valid email to subscribe

Confirm your email address

We need to confirm your email address.
To complete the subscription, please click the link in the email we just sent you.

Thank you for subscribing!

via Egeo 16
Torino, 10131