new calibration data and their implementation

This commit is contained in:
interfisch 2018-04-14 17:02:00 +02:00
parent 3bece79a5f
commit 59d59475c0
8 changed files with 106 additions and 52 deletions

View File

@ -1,43 +1,90 @@
low;high;Fstop;Shutter;EV low;high;Fstop;Shutter;EV;
3924;2779;5.6;0.001;14.936637939 4057;3730;16;0.0005;18.9657842847;
;;;; 4056;3719;16;0.0005;18.9657842847;
3778;2142;5.6;0.003125;13.2927817492 4047;3639;16;0.000625;18.6438561898;
3732;1992;5.6;0.004;12.936637939 4053;3705;16;0.0008;18.2877123795;
3833;2357;5.6;0.002;13.936637939 4036;3534;16;0.00125;17.6438561898;
3790;2188;5.6;0.0025;13.6147098441 4027;3486;16;0.00125;17.6438561898;
3747;2039;5.6;0.003125;13.2927817492 4020;3423;16;0.002;16.9657842847;
3737;2014;5.6;0.004;12.936637939 4018;3407;16;0.002;16.9657842847;
3575;1588;5.6;0.00625;12.2927817492 4010;3347;16;0.0025;16.6438561898;
3497;1437;5.6;0.008;11.936637939 4009;3338;16;0.0025;16.6438561898;
3441;1342;5.6;0.01;11.6147098441 3983;3149;16;0.004;15.9657842847;
3360;1224;5.6;0.0125;11.2927817492 3972;3070;16;0.004;15.9657842847;
3042;876;2.8;0.005;10.6147098441 3965;3033;16;0.005;15.6438561898;
3018;849;2.8;0.005;10.6147098441 3965;3022;16;0.005;15.6438561898;
3094;921;5.6;0.0166666667;10.8777442499 3924;2779;5.6;0.001;14.936637939;
2930;786;5.6;0.0222222222;10.4627067507 3911;2711;16;0.0090909091;14.7813597135;
2787;689;5.6;0.0333333333;9.8777442499 3865;2493;5.6;0.0015625;14.2927817492;
2485;538;5.6;0.04;9.6147098441 3834;2354;16;0.0142857143;14.1292830169;brett
2318;464;2.8;0.0125;9.2927817492 3808;2301;5.6;0.002;13.936637939;
2032;367;2.8;0.02;8.6147098441 3778;2142;5.6;0.003125;13.2927817492;
1866;315;2.8;0.025;8.2927817492 3732;1992;5.6;0.004;12.936637939;
1524;230;2.8;0.04;7.6147098441 3722;1964;5.6;0.004;12.936637939;
1135;157;2.8;0.0769230769;6.6712933725 3833;2357;5.6;0.002;13.936637939;
1064;144;2.8;0.125;5.9708536543 3790;2188;5.6;0.0025;13.6147098441;
857;113;2.8;0.125;5.9708536543 3747;2039;5.6;0.003125;13.2927817492;
1045;142;2.8;0.1666666667;5.5558161551 3737;2014;5.6;0.004;12.936637939;
965;129;2.8;0.1666666667;5.5558161551 3575;1588;5.6;0.00625;12.2927817492;
673;87;2.8;0.2;5.2927817492 3497;1437;5.6;0.008;11.936637939;
514;64;2.8;0.3;4.7078192485 3441;1342;5.6;0.01;11.6147098441;
381;49;2.8;0.8;3.2927817492 3366;1229;5.6;0.0125;11.2927817492;
405;53;2.8;0.8;3.2927817492 3360;1224;5.6;0.0125;11.2927817492;
340;44;2.8;1.3;2.5923420311 3246;1078;5.6;0.0181818182;10.7522133679;brett
282;39;2.8;1.6;2.2927817492 3042;876;2.8;0.005;10.6147098441;
288;40;2.8;2.5;1.6489255595 3018;849;2.8;0.005;10.6147098441;
267;36;2.8;3.2;1.2927817492 3154;979;5.6;0.02;10.6147098441;
266;36;2.8;4;0.9708536543 2930;786;5.6;0.0222222222;10.4627067507;
262;36;2.8;5;0.6489255595 2787;689;5.6;0.0333333333;9.8777442499;falsch?
245;34;2.8;6;0.3858911536 2485;538;5.6;0.04;9.6147098441;falsch?
225;32;2.8;10;-0.3510744405 2318;464;2.8;0.0125;9.2927817492;falsch?
233;33;2.8;15;-0.9360369413 2032;367;2.8;0.02;8.6147098441;
219;31;2.8;20;-1.3510744405 1866;315;2.8;0.025;8.2927817492;
217;30;2.8;25;-1.6730025354 1821;303;2.8;0.0333333333;7.8777442499;
1524;230;2.8;0.04;7.6147098441;
1521;233;2.8;0.05;7.2927817492;
1215;171;2.8;0.0769230769;6.6712933725;papier boden
1135;157;2.8;0.0769230769;6.6712933725;
857;113;2.8;0.125;5.9708536543;
897;119;2.8;0.1818181818;5.430285273;papier boden
673;87;2.8;0.2;5.2927817492;
927;123;2.8;0.2;5.2927817492;papier bett
768;100;2.8;0.25;4.9708536543;
671;86;2.8;0.3;4.7078192485;
514;64;2.8;0.3;4.7078192485;
580;74;2.8;0.35;4.4854268272;
514;67;2.8;0.5;3.9708536543;
502;65;2.8;0.6;3.7078192485;
381;49;2.8;0.8;3.2927817492;falsch?
405;53;2.8;0.8;3.2927817492;
467;60;2.8;0.8;3.2927817492;
404;53;2.8;1;2.9708536543;
379;51;2.8;1;2.9708536543;
399;52;2.8;1.1;2.8333501306;
398;52;2.8;1.15;2.7692197932;
340;44;2.8;1.3;2.5923420311;
325;43;2.8;1.6;2.2927817492;
282;39;2.8;1.6;2.2927817492;
312;44;2.8;2;1.9708536543;
288;40;2.8;2.5;1.6489255595;
267;36;2.8;3.2;1.2927817492;
277;36;2.8;4;0.9708536543;
266;36;2.8;4;0.9708536543;
241;33;2.8;5;0.6489255595;
262;36;2.8;5;0.6489255595;
249;35;2.8;5;0.6489255595;
245;34;2.8;6;0.3858911536;
228;34;2.8;6.4;0.2927817492;
238;33;2.8;7;0.1634987323;
228;33;2.8;8;-0.0291463457;
229;32;2.8;9;-0.1990713471;
225;32;2.8;10;-0.3510744405;
223;32;2.8;14;-0.8365012677;
233;33;2.8;15;-0.9360369413;
219;31;2.8;20;-1.3510744405;
212;31;2.8;20;-1.3510744405;
213;29;2.8;24;-1.6141088464;
217;30;2.8;25;-1.6730025354;
213;31;2.8;32;-2.0291463457;
212;30;2.8;36;-2.1990713471;
210;31;2.8;40;-2.3510744405;

1 low high Fstop Shutter EV
2 3924 4057 2779 3730 5.6 16 0.001 0.0005 14.936637939 18.9657842847
3 4056 3719 16 0.0005 18.9657842847
4 3778 4047 2142 3639 5.6 16 0.003125 0.000625 13.2927817492 18.6438561898
5 3732 4053 1992 3705 5.6 16 0.004 0.0008 12.936637939 18.2877123795
6 3833 4036 2357 3534 5.6 16 0.002 0.00125 13.936637939 17.6438561898
7 3790 4027 2188 3486 5.6 16 0.0025 0.00125 13.6147098441 17.6438561898
8 3747 4020 2039 3423 5.6 16 0.003125 0.002 13.2927817492 16.9657842847
9 3737 4018 2014 3407 5.6 16 0.004 0.002 12.936637939 16.9657842847
10 3575 4010 1588 3347 5.6 16 0.00625 0.0025 12.2927817492 16.6438561898
11 3497 4009 1437 3338 5.6 16 0.008 0.0025 11.936637939 16.6438561898
12 3441 3983 1342 3149 5.6 16 0.01 0.004 11.6147098441 15.9657842847
13 3360 3972 1224 3070 5.6 16 0.0125 0.004 11.2927817492 15.9657842847
14 3042 3965 876 3033 2.8 16 0.005 10.6147098441 15.6438561898
15 3018 3965 849 3022 2.8 16 0.005 10.6147098441 15.6438561898
16 3094 3924 921 2779 5.6 0.0166666667 0.001 10.8777442499 14.936637939
17 2930 3911 786 2711 5.6 16 0.0222222222 0.0090909091 10.4627067507 14.7813597135
18 2787 3865 689 2493 5.6 0.0333333333 0.0015625 9.8777442499 14.2927817492
19 2485 3834 538 2354 5.6 16 0.04 0.0142857143 9.6147098441 14.1292830169 brett
20 2318 3808 464 2301 2.8 5.6 0.0125 0.002 9.2927817492 13.936637939
21 2032 3778 367 2142 2.8 5.6 0.02 0.003125 8.6147098441 13.2927817492
22 1866 3732 315 1992 2.8 5.6 0.025 0.004 8.2927817492 12.936637939
23 1524 3722 230 1964 2.8 5.6 0.04 0.004 7.6147098441 12.936637939
24 1135 3833 157 2357 2.8 5.6 0.0769230769 0.002 6.6712933725 13.936637939
25 1064 3790 144 2188 2.8 5.6 0.125 0.0025 5.9708536543 13.6147098441
26 857 3747 113 2039 2.8 5.6 0.125 0.003125 5.9708536543 13.2927817492
27 1045 3737 142 2014 2.8 5.6 0.1666666667 0.004 5.5558161551 12.936637939
28 965 3575 129 1588 2.8 5.6 0.1666666667 0.00625 5.5558161551 12.2927817492
29 673 3497 87 1437 2.8 5.6 0.2 0.008 5.2927817492 11.936637939
30 514 3441 64 1342 2.8 5.6 0.3 0.01 4.7078192485 11.6147098441
31 381 3366 49 1229 2.8 5.6 0.8 0.0125 3.2927817492 11.2927817492
32 405 3360 53 1224 2.8 5.6 0.8 0.0125 3.2927817492 11.2927817492
33 340 3246 44 1078 2.8 5.6 1.3 0.0181818182 2.5923420311 10.7522133679 brett
34 282 3042 39 876 2.8 1.6 0.005 2.2927817492 10.6147098441
35 288 3018 40 849 2.8 2.5 0.005 1.6489255595 10.6147098441
36 267 3154 36 979 2.8 5.6 3.2 0.02 1.2927817492 10.6147098441
37 266 2930 36 786 2.8 5.6 4 0.0222222222 0.9708536543 10.4627067507
38 262 2787 36 689 2.8 5.6 5 0.0333333333 0.6489255595 9.8777442499 falsch?
39 245 2485 34 538 2.8 5.6 6 0.04 0.3858911536 9.6147098441 falsch?
40 225 2318 32 464 2.8 10 0.0125 -0.3510744405 9.2927817492 falsch?
41 233 2032 33 367 2.8 15 0.02 -0.9360369413 8.6147098441
42 219 1866 31 315 2.8 20 0.025 -1.3510744405 8.2927817492
43 217 1821 30 303 2.8 25 0.0333333333 -1.6730025354 7.8777442499
44 1524 230 2.8 0.04 7.6147098441
45 1521 233 2.8 0.05 7.2927817492
46 1215 171 2.8 0.0769230769 6.6712933725 papier boden
47 1135 157 2.8 0.0769230769 6.6712933725
48 857 113 2.8 0.125 5.9708536543
49 897 119 2.8 0.1818181818 5.430285273 papier boden
50 673 87 2.8 0.2 5.2927817492
51 927 123 2.8 0.2 5.2927817492 papier bett
52 768 100 2.8 0.25 4.9708536543
53 671 86 2.8 0.3 4.7078192485
54 514 64 2.8 0.3 4.7078192485
55 580 74 2.8 0.35 4.4854268272
56 514 67 2.8 0.5 3.9708536543
57 502 65 2.8 0.6 3.7078192485
58 381 49 2.8 0.8 3.2927817492 falsch?
59 405 53 2.8 0.8 3.2927817492
60 467 60 2.8 0.8 3.2927817492
61 404 53 2.8 1 2.9708536543
62 379 51 2.8 1 2.9708536543
63 399 52 2.8 1.1 2.8333501306
64 398 52 2.8 1.15 2.7692197932
65 340 44 2.8 1.3 2.5923420311
66 325 43 2.8 1.6 2.2927817492
67 282 39 2.8 1.6 2.2927817492
68 312 44 2.8 2 1.9708536543
69 288 40 2.8 2.5 1.6489255595
70 267 36 2.8 3.2 1.2927817492
71 277 36 2.8 4 0.9708536543
72 266 36 2.8 4 0.9708536543
73 241 33 2.8 5 0.6489255595
74 262 36 2.8 5 0.6489255595
75 249 35 2.8 5 0.6489255595
76 245 34 2.8 6 0.3858911536
77 228 34 2.8 6.4 0.2927817492
78 238 33 2.8 7 0.1634987323
79 228 33 2.8 8 -0.0291463457
80 229 32 2.8 9 -0.1990713471
81 225 32 2.8 10 -0.3510744405
82 223 32 2.8 14 -0.8365012677
83 233 33 2.8 15 -0.9360369413
84 219 31 2.8 20 -1.3510744405
85 212 31 2.8 20 -1.3510744405
86 213 29 2.8 24 -1.6141088464
87 217 30 2.8 25 -1.6730025354
88 213 31 2.8 32 -2.0291463457
89 212 30 2.8 36 -2.1990713471
90 210 31 2.8 40 -2.3510744405

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

View File

@ -19,7 +19,7 @@ with open('20180413_calibration.csv', 'r') as csvfile:
if len(xvalue)>0 and len(yvalue)>0 and not firstrow: if len(xvalue)>0 and len(yvalue)>0 and not firstrow:
xvalue=float(xvalue) xvalue=float(xvalue)
yvalue=float(yvalue) yvalue=float(yvalue)
if yvalue<7.5: if yvalue<=4:
#print(""+str(xvalue)+" - "+str(yvalue)) #print(""+str(xvalue)+" - "+str(yvalue))
xvalues.append(xvalue) xvalues.append(xvalue)
yvalues.append(yvalue) yvalues.append(yvalue)
@ -32,6 +32,11 @@ with open('20180413_calibration.csv', 'r') as csvfile:
ytest=np.polyval(coefs, xtest) #calculate y values with polynomial function ytest=np.polyval(coefs, xtest) #calculate y values with polynomial function
#ytest=[coefs[3]+coefs[2]*pow(x,1)+coefs[1]*pow(x,2)+coefs[0]*pow(x,3) for x in xtest] #ytest=[coefs[3]+coefs[2]*pow(x,1)+coefs[1]*pow(x,2)+coefs[0]*pow(x,3) for x in xtest]
for i in range(200,4000,10):
yv=np.polyval(coefs, i)
print(str(i)+";"+str(yv))
exit()
plt.scatter(xvalues,yvalues,s=0.25,c='g') #plot sample data plt.scatter(xvalues,yvalues,s=0.25,c='g') #plot sample data
plt.plot(xtest,ytest,c='r') #plot approximated curve plt.plot(xtest,ytest,c='r') #plot approximated curve
plt.xlabel('LDR Value') plt.xlabel('LDR Value')

Binary file not shown.

Binary file not shown.

View File

@ -233,8 +233,6 @@ void setup() {
} }
//display.drawPixel(10, 10, WHITE);
} }
@ -730,18 +728,22 @@ float getEV(){
if (meteringmode == METERINGMODE_REFLECTIVE){ //### SPOT if (meteringmode == METERINGMODE_REFLECTIVE){ //### SPOT
//ev=map(analog_low,500, 3500 ,500, 1400)/100.0; //for testing //ev=map(analog_low,500, 3500 ,500, 1400)/100.0; //for testing
//first prototype //first prototype.
double highev=11.7400532 + 0.000216655133*analog_high + 0.00000111372253*pow(analog_high,2) + -0.000000000163800818 *pow(analog_high,3); //double highev=11.7400532 + 0.000216655133*analog_high + 0.00000111372253*pow(analog_high,2) + -0.000000000163800818 *pow(analog_high,3);
double lowev=-0.763427709 + 0.0138031137*analog_low + -0.00000576990095*pow(analog_low,2) + 0.000000000871611285*pow(analog_low,3); //double lowev=-0.763427709 + 0.0138031137*analog_low + -0.00000576990095*pow(analog_low,2) + 0.000000000871611285*pow(analog_low,3);
//calibration 20180413
double highev=4.76455098 + 0.00961533698*analog_high - 0.00000399325586*pow(analog_high,2) + 0.000000000654378697 *pow(analog_high,3);
double lowev=-38.9534785 + 0.310426970*analog_low - 0.000769939297*pow(analog_low,2) + 0.000000639458491*pow(analog_low,3);
if (lowev>14){ if (lowev>6){
_ev=highev; _ev=highev;
}else if(lowev<12.5){ }else if(lowev<4){
_ev=lowev; _ev=lowev;
}else{ //mix of both }else{ //mix of both
float mix=min(1.0, max(0.0,(lowev-12.5)/(14-12.5))); //0 to 1, 0-> use only lowev, 1-> use only highev float mix=min(1.0, max(0.0,(lowev-4)/(6-4))); //0 to 1, 0-> use only lowev, 1-> use only highev
_ev=lowev*(1-mix)+highev*mix; _ev=lowev*(1-mix)+highev*mix;
} }
}else if (meteringmode == METERINGMODE_INCIDENT){ //### INCIDENT }else if (meteringmode == METERINGMODE_INCIDENT){ //### INCIDENT