working-est copy with class-based code. still open loop

Dependencies:   mbed

Fork of analoghalls6 by N K

tempsensors.cpp

Committer:
nki
Date:
2015-03-08
Revision:
10:b4abecccec7a
Parent:
1:1f58bdcf2956

File content as of revision 10:b4abecccec7a:

#include "includes.h"
#include "sensors.h"

NtcTempSensor::NtcTempSensor(PinName pin, float r_25, float ntc_b, float r_divider) {
    _in = new AnalogIn(pin);
    _ntc_b = ntc_b;
    _ntc_a = r_25 / exp(_ntc_b / 298.0f);
    _r_divider = r_divider;
}

float NtcTempSensor::GetTemp() {
    float v = (float) *_in * 3.3f;
    float r_n = v * _r_divider / (1.0f + v);
    return _ntc_b / log (r_n / _ntc_a);
}