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 モードになっています。
/media/uploads/Rhyme/img_2364.jpg

半田のジャンパを変えて、SPIの設定にしてください。
/media/uploads/Rhyme/img_2363.jpg

サーミスタについて
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
で呼ぶように変更しました。

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?

UserRevisionLine numberNew 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