Use arduinoCurveFitting for regression
This commit is contained in:
parent
257e0247c6
commit
aeb07c9c25
13
main.ino
13
main.ino
|
@ -15,6 +15,9 @@ Licensed under the Parity Public License
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
#include <curveFitting.h>
|
||||||
|
|
||||||
|
|
||||||
using ld = long double;
|
using ld = long double;
|
||||||
|
|
||||||
|
|
||||||
|
@ -31,6 +34,9 @@ ld v2r(ld V_out) { return R_k * (V_in / V_out - 1); }
|
||||||
ld vol[100];
|
ld vol[100];
|
||||||
int con[100];
|
int con[100];
|
||||||
|
|
||||||
|
const int order = 2;
|
||||||
|
int coeff[order + 1];
|
||||||
|
|
||||||
void setup() {
|
void setup() {
|
||||||
Serial.begin(9600);
|
Serial.begin(9600);
|
||||||
Serial.println("Starting calibration")
|
Serial.println("Starting calibration")
|
||||||
|
@ -49,9 +55,12 @@ void setup() {
|
||||||
++n;
|
++n;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fitCurve(order, n, vol, con, coeff);
|
||||||
}
|
}
|
||||||
|
|
||||||
void loop() {
|
void loop() {
|
||||||
|
v = a2d(analogRead(THERM));
|
||||||
|
c = 0;
|
||||||
|
for (int i = n; i >= 0; --i) c = v*c + coeff[i];
|
||||||
|
Serial.println(c);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue