Temporary Connector Reversed Version
Dependencies: UniGraphic mbed vt100
afero_poc15_180403R , J1 のピン配置を反転させたヴァージョンです。
Color2系を使用するためには以下のピンをジャンパで接続してください。
J1-D7 <-> J1-D0
J1-D6 <-> J1-D1
(調査中) また、こちらでテストした範囲では、
FRDM-KL25Z の V3.3 を、Modulo2 の VCC_3V3 ピンに接続してやる必要がありました。
尚、J1-D1, D0 を使用するために UART を無効にしているため
ログは表示されません。
TFTモジュールについて
aitendoのTFTモジュールはデフォルトでは8bit bus モードになっています。
半田のジャンパを変えて、SPIの設定にしてください。
サーミスタについて
POC1.5 では サーミスタは 25℃の時に抵抗値が 50.0kΩになる502AT-11 が
4.95kΩのプルアップ(実際は10kΩx2の並列)で使用されていました。
今回の試作では抵抗値が 10.0kΩの 103AT-11 が
5.1kΩのプルアップで使用されていますので、係数を合わせるために
SMTC502AT-11 のコンストラクタを
R0 = 10.0
R1 = 5.1
B = 3435
T0 = 298.15
で呼ぶように変更しました。
sensors/SMTC502AT.cpp@1:6c54dc8acf96, 2018-04-24 (annotated)
- Committer:
- Rhyme
- Date:
- Tue Apr 24 12:18:10 2018 +0000
- Revision:
- 1:6c54dc8acf96
- Parent:
- 0:0b6732b53bf4
to adjust with 103AT-11 with 5.1k pull-up, the constructor of 502AT-11 is called with R0=10.0, R1=5.1, B=3435, T0=298.15
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
Rhyme | 0:0b6732b53bf4 | 1 | #include "mbed.h" |
Rhyme | 0:0b6732b53bf4 | 2 | #include "SMTC502AT.h" |
Rhyme | 0:0b6732b53bf4 | 3 | |
Rhyme | 0:0b6732b53bf4 | 4 | SMTC502AT::SMTC502AT(AnalogIn *ain, float R0, float R1, float B, float T0) |
Rhyme | 0:0b6732b53bf4 | 5 | { |
Rhyme | 0:0b6732b53bf4 | 6 | _ain = ain ; |
Rhyme | 0:0b6732b53bf4 | 7 | _r0 = R0 ; |
Rhyme | 0:0b6732b53bf4 | 8 | _r1 = R1 ; |
Rhyme | 0:0b6732b53bf4 | 9 | _b = B ; |
Rhyme | 0:0b6732b53bf4 | 10 | _t0 = T0 ; |
Rhyme | 0:0b6732b53bf4 | 11 | } |
Rhyme | 0:0b6732b53bf4 | 12 | |
Rhyme | 0:0b6732b53bf4 | 13 | SMTC502AT::~SMTC502AT(void) |
Rhyme | 0:0b6732b53bf4 | 14 | { |
Rhyme | 0:0b6732b53bf4 | 15 | if (_ain) { |
Rhyme | 0:0b6732b53bf4 | 16 | delete _ain ; |
Rhyme | 0:0b6732b53bf4 | 17 | } |
Rhyme | 0:0b6732b53bf4 | 18 | } |
Rhyme | 0:0b6732b53bf4 | 19 | |
Rhyme | 0:0b6732b53bf4 | 20 | /** |
Rhyme | 0:0b6732b53bf4 | 21 | * getTemp returns the temperature |
Rhyme | 0:0b6732b53bf4 | 22 | * operational temperature is -50C to +105C |
Rhyme | 0:0b6732b53bf4 | 23 | */ |
Rhyme | 0:0b6732b53bf4 | 24 | float SMTC502AT::getTemp(void) |
Rhyme | 0:0b6732b53bf4 | 25 | { |
Rhyme | 0:0b6732b53bf4 | 26 | float result = 0.0 ; |
Rhyme | 0:0b6732b53bf4 | 27 | float f, raw, rr1, t ; |
Rhyme | 0:0b6732b53bf4 | 28 | if (_ain) { |
Rhyme | 0:0b6732b53bf4 | 29 | f = _ain->read() ; |
Rhyme | 0:0b6732b53bf4 | 30 | #if 0 |
Rhyme | 0:0b6732b53bf4 | 31 | if (f < 0.087) { /* +105C */ |
Rhyme | 0:0b6732b53bf4 | 32 | printf("Temp is Too high or the sensor is absent\n") ; |
Rhyme | 0:0b6732b53bf4 | 33 | f = 0.087 ; |
Rhyme | 0:0b6732b53bf4 | 34 | } |
Rhyme | 0:0b6732b53bf4 | 35 | if (f > 0.978) { /* -50C */ |
Rhyme | 0:0b6732b53bf4 | 36 | printf("Temp is Too low or the sensor encountered a problem\n") ; |
Rhyme | 0:0b6732b53bf4 | 37 | f = 0.978 ; |
Rhyme | 0:0b6732b53bf4 | 38 | } |
Rhyme | 0:0b6732b53bf4 | 39 | #endif |
Rhyme | 0:0b6732b53bf4 | 40 | raw = f * 3.3 ; |
Rhyme | 0:0b6732b53bf4 | 41 | rr1 = _r1 * raw / (3.3 - raw) ; |
Rhyme | 0:0b6732b53bf4 | 42 | t = 1.0 / (log(rr1 / _r0) / _b + (1/_t0)) ; |
Rhyme | 0:0b6732b53bf4 | 43 | result = t - 273.15 ; |
Rhyme | 0:0b6732b53bf4 | 44 | } |
Rhyme | 0:0b6732b53bf4 | 45 | return( result ) ; |
Rhyme | 0:0b6732b53bf4 | 46 | } |
Rhyme | 0:0b6732b53bf4 | 47 |