From 0cd46a3c9f91f3fb769b85e73849ba8434f9b4d9 Mon Sep 17 00:00:00 2001 From: bartschdo76253 Date: Tue, 6 Jul 2021 14:19:35 +0200 Subject: [PATCH] wrong ldr lux-calc (see Excel sheet, mixed x y ) --- lib/treppe/treppe.cpp | 5 +++-- lib/treppe/treppe.h | 4 ++-- misc/LDR-Regression.xlsx | Bin 69564 -> 74133 bytes 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/lib/treppe/treppe.cpp b/lib/treppe/treppe.cpp index e8a6839..ffc518b 100644 --- a/lib/treppe/treppe.cpp +++ b/lib/treppe/treppe.cpp @@ -182,11 +182,12 @@ float Treppe::read_ldr() = 37280.00/analogRead(A0) ldr_ohm = R(LDR) - E(LDR) = 79.735 * R(LDR)^-0.498 (see Excel Regression) + E(LDR) = 6526.5 * R(LDR)^-2 (see Excel Regression) + E(LDR) = 6526.5 / (R(LDR)^2) ldr_value = E(LDR) */ float ldr_ohm = 37280.00 / analogRead(A0); - float ldr_value = 79.735 * pow(ldr_ohm, -0.498); + float ldr_value = 6526.6/(ldr_ohm*ldr_ohm); return ldr_value; } diff --git a/lib/treppe/treppe.h b/lib/treppe/treppe.h index 66016dd..b5a1093 100644 --- a/lib/treppe/treppe.h +++ b/lib/treppe/treppe.h @@ -5,7 +5,7 @@ // #define LDRDEBUG // comment in to override LDR measurement -#define LDR_HYS 5.0 // Hysteresis for switching off FSM [lux] +#define LDR_HYS 1 // Hysteresis for switching off FSM [lux] #define SENSOR_OBEN 16 #define SENSOR_UNTEN 12 @@ -21,7 +21,7 @@ private: uint16_t idle_pwm_internal = 0; uint16_t active_pwm = 700; - uint16_t ldr_schwelle = 7; // activation value for FSM [lx] + uint16_t ldr_schwelle = 2; // activation value for FSM [lx] uint16_t start_pwm = 0; uint16_t ziel_pwm = 0; diff --git a/misc/LDR-Regression.xlsx b/misc/LDR-Regression.xlsx index bb499cceb87e366b1c2a02eae4faba1161158d11..515f7c3555e9b455b388bc57bfa02a3dd8037be6 100644 GIT binary patch delta 8839 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 Idj#PB08i0+DF6Tf delta 5943 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