N K
/
analoghalls6
motor spins
Fork of analoghalls5 by
tempsensors.cpp@1:1f58bdcf2956, 2015-03-01 (annotated)
- Committer:
- bwang
- Date:
- Sun Mar 01 10:51:28 2015 +0000
- Revision:
- 1:1f58bdcf2956
- Parent:
- 0:54cf32d35f4d
moar
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
bwang | 0:54cf32d35f4d | 1 | #include "includes.h" |
bwang | 1:1f58bdcf2956 | 2 | #include "sensors.h" |
bwang | 0:54cf32d35f4d | 3 | |
bwang | 0:54cf32d35f4d | 4 | NtcTempSensor::NtcTempSensor(PinName pin, float r_25, float ntc_b, float r_divider) { |
bwang | 0:54cf32d35f4d | 5 | _in = new AnalogIn(pin); |
bwang | 0:54cf32d35f4d | 6 | _ntc_b = ntc_b; |
bwang | 0:54cf32d35f4d | 7 | _ntc_a = r_25 / exp(_ntc_b / 298.0f); |
bwang | 0:54cf32d35f4d | 8 | _r_divider = r_divider; |
bwang | 0:54cf32d35f4d | 9 | } |
bwang | 0:54cf32d35f4d | 10 | |
bwang | 0:54cf32d35f4d | 11 | float NtcTempSensor::GetTemp() { |
bwang | 0:54cf32d35f4d | 12 | float v = (float) *_in * 3.3f; |
bwang | 0:54cf32d35f4d | 13 | float r_n = v * _r_divider / (1.0f + v); |
bwang | 0:54cf32d35f4d | 14 | return _ntc_b / log (r_n / _ntc_a); |
bwang | 0:54cf32d35f4d | 15 | } |