Browse Source

v1.0.1 ldr corrected

tags/v1.0.1
Simon Schmidt 3 years ago
parent
commit
1686b9ea2a
3 changed files with 10 additions and 10 deletions
  1. 1
    1
      data/index.html
  2. 7
    7
      lib/treppe/treppe.cpp
  3. 2
    2
      lib/treppe/treppe.h

+ 1
- 1
data/index.html View File

@@ -51,7 +51,7 @@
<div class="param_block">
LDR Schwelle [lx]: <output id="out_ldr_shw" class="val_range">50</output> lx
<div class="slider">
<input type="range" class="regler" id="range_ldr_shw" data-output="out_ldr_shw" min="0" max="100" value="50">
<input type="range" class="regler" id="range_ldr_shw" data-output="out_ldr_shw" min="0" max="1000" value="50">
</div>
</div>


+ 7
- 7
lib/treppe/treppe.cpp View File

@@ -173,11 +173,15 @@ float Treppe::read_ldr() {
ldr_value = E(LDR)
*/
// float ldr_ohm = 37280.00 / analogRead(A0);
float voltage = analogRead(A0) * 0.0036;
float ldr_ohm = 40.57 * (3.3 - voltage) / voltage;
float vol_adc = analogRead(A0) * 0.0036;
if(vol_adc > 3.29)
vol_adc = 3.29;

float ldr_ohm = 40.67 * (3.3 - vol_adc) / vol_adc;

float ldr_value = 6526.6 / (ldr_ohm * ldr_ohm);
#ifdef LDRDEBUG
Serial.printf("Ohm: %f lux: %f Comp: %d\n", ldr_ohm, ldr_value,
Serial.printf("vol_adc: %f Ohm: %f lux: %f Comp: %d\n", vol_adc, ldr_ohm, ldr_value,
param.ldr_schwelle);
#endif
return ldr_value;
@@ -186,10 +190,6 @@ float Treppe::read_ldr() {
bool Treppe::check_ldr() {
static uint8_t active = 0;

#ifdef LDRDEBUG
// return true;
#endif

// follow up: averaging over many samples?
float ldr = read_ldr();


+ 2
- 2
lib/treppe/treppe.h View File

@@ -5,8 +5,8 @@
#include "PCA9685.h"
#include <EEPROM.h>

//#define LDRDEBUG // comment in to override LDR measurement
#define LDR_HYS 8 // Hysteresis for switching off FSM [lux]
#define LDRDEBUG // comment in to override LDR measurement
#define LDR_HYS 100 // Hysteresis for switching off FSM [lux]

#define SENSOR_OBEN 16
#define SENSOR_UNTEN 12

Loading…
Cancel
Save