@Dennisstrehl
Ich habe jetzt reale Tests gefahren mit einem Polynom 3. Grades mit Ausblendung der unrelevanten Bereiche mit einer selektiven Berechnung. Das Resultat war im praktisch akzeptablen Bereich für die Anwendung und ich werde es einmal über längere Zeit auf die Praxistauglichkeit testen. Ich habe es mit einigen verschiedenen Stützwerten und Polynom-Graden getestet und habe nun vorerst eine passende Gleichung dafür gefunden.
Code:
' Licht-Interpolation
' *******************
' y = 20,367924 - 0,078266092 x + 0,00010096023 x^2 - 0,000000042928788 x^3
LichtInterpolation:
' AD-Messung durchführen
ADCWert = GetADC(LDR)
' Grenzwerte beachten
If ADCWert < 700 Then
' Quadrat errechnen
TmpWert1 = ADCWert
TmpWert2 = TmpWert1 ^ 2
TmpWert3 = TmpWert1 ^ 3
' 1. Teil
TmpWert4 = 20.367924
' 2. Teil
TmpWert5 = TmpWert1 * 0.078266092
' 3. Teil
TmpWert6 = TmpWert2 * 0.00010096023
' 4. Teil
TmpWert7 = TmpWert3 * 0.000000042928788
' Summe
LichtWert = TmpWert4 - TmpWert5
LichtWert = LichtWert + TmpWert6
LichtWert = LichtWert - TmpWert7
' Lichtfläche itegrieren
LichtMenge = LichtMenge + LichtWert
Else
LichtWert = 0
End If
Return
@Oberallgeier
Das mit der Herleitung gibt Mathe-Ass ja leider nicht an, da war nicht auf den oberen Teil zu beziehen und galt lediglich dem Interesse an einer Methodischen Herleitung.
Das mit Splines hatte ich auch zuerst gedacht, aber das ufert zu komplex aus für einen kleinen AVR. Mit Splines werde ich mich in näherer Zeit eh noch einmal genauer beschäftigen. Muß mir ein Bekannter etwas unter die Arme greifen der davon mehr versteht wie ich.
Danke fürs Erste, habt mir sehr geholfen.
Grüße Wolfgang
Lesezeichen