# Exponentialfunktion für optisch gleichmäßiges Licht
# y=(exp(x*B)-1)*A
# mit den Randbedingungen
# y(0) = 0
# y(1) = 1 für sinnvolle Steuerung kleiner Lichtstärken
# y(255) = 65536
# Ausgabe-Wert -1 (ATmega-PWM-Wert 0 = kurzer Puls, 65535=Dauerplus)
function Ausgabe(E,A,B) {
for(i=0;i<=E;i++) {
printf("%d,",(exp(i*B)-1)*A-0.5); # "%d" rundet ab
}
print "";
}
BEGIN{
#Probier-Kode
A=33.0925;
B=0.0297708;
E=255;
print "A(x=1) = " 1/(exp(B)-1);
print "A(x=E) = " 255/(exp(E*B)-1);
for(i=0;i<=E;i++) {
if (i<5 || i>=E-1) print i " " (exp(i*B)-1)*A;
}
#Ausgabe-Kode
Ausgabe(E,A,B);
}
Detected encoding: UTF-8 | 0
|