BayEOSArduino Library
BayEOS-Arduino
libraries
BayEOSSensors
NTC.h
1
#ifndef NTC_h
2
#define NTC_h
3
#include <Arduino.h>
4
5
//Define a abstract class NTC_Sensor
6
//this class handles the R2T transformation
7
//readResistance has to be implemented
8
class
NTC_Sensor
{
9
protected
:
10
float
ntc_type;
//e.g. 3.0 for 3k or 5.0 for 5k....
11
public
:
12
NTC_Sensor
(
float
nt);
13
float
R2T(
float
t);
14
virtual
float
readResistance(
void
)=0;
15
float
getTemp(
void
);
16
};
17
18
class
NTC_Calc
:
public
NTC_Sensor
{
19
public
:
20
NTC_Calc
(
float
nt):
NTC_Sensor
(nt){}
21
float
readResistance(
void
);
22
};
23
24
25
//NTC sensor directly connnected to Arduino ADC
26
class
NTC_ADC
:
public
NTC_Sensor
{
27
private
:
28
uint8_t power_pin;
29
uint8_t adc_pin;
30
float
pre_resistor;
31
public
:
32
NTC_ADC
(uint8_t pp, uint8_t ap,
float
pr,
float
nt);
33
float
readResistance(
void
);
34
};
35
36
//NTC sensor read out with MCP342x 18bit ADC
37
#include <MCP342x.h>
38
class
NTC_MCP342x
:
public
NTC_Sensor
{
39
private
:
40
41
uint8_t power_pin;
42
uint8_t adc_ch_r;
43
uint8_t adc_ch_ntc;
44
float
pre_resistor;
45
MCP342x
* mcp;
46
47
public
:
48
NTC_MCP342x
(
MCP342x
&m, uint8_t pp, uint8_t ch_r, uint8_t ch_n,
float
pr,
float
nt);
49
float
readResistance(
void
);
50
uint8_t sleep_count;
51
52
};
53
54
//NTC sensor read out with HX711 24bit ADC Channel B
55
#include <HX711Array.h>
56
class
NTC_HX711
:
public
NTC_Sensor
{
57
private
:
58
59
uint8_t power_pin;
60
float
pre_resistor;
61
HX711Array
* hx711;
62
uint8_t number;
63
64
public
:
65
NTC_HX711
(
HX711Array
&hx, uint8_t pp,
float
pr,
float
nt, uint8_t n=0 );
66
NTC_HX711
(
HX711Array
&hx,
float
pr,
float
nt, uint8_t n=0 );
67
float
readResistance(
void
);
68
//Note: getTemp(nr) does not run a ADC conversion
69
//call readResistance before!
70
float
getTemp(uint8_t nr);
71
72
};
73
74
75
76
#endif
HX711Array
Definition:
HX711Array.h:6
MCP342x
Definition:
MCP342x.h:17
NTC_ADC
Definition:
NTC.h:26
NTC_Calc
Definition:
NTC.h:18
NTC_HX711
Definition:
NTC.h:56
NTC_MCP342x
Definition:
NTC.h:38
NTC_Sensor
Definition:
NTC.h:8
Generated by
1.9.1