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 #ifndef _LM75B_H_
Rhyme 0:0b6732b53bf4 2 #define _LM75B_H_
Rhyme 0:0b6732b53bf4 3
Rhyme 0:0b6732b53bf4 4 #include "mbed.h"
Rhyme 0:0b6732b53bf4 5
Rhyme 0:0b6732b53bf4 6 /**
Rhyme 0:0b6732b53bf4 7 * NXP LM75B Digital temperature sensor and thermal watchdog
Rhyme 0:0b6732b53bf4 8 *
Rhyme 0:0b6732b53bf4 9 * @code
Rhyme 0:0b6732b53bf4 10 #include "mbed.h"
Rhyme 0:0b6732b53bf4 11 #include "LM75B.h"
Rhyme 0:0b6732b53bf4 12 #define LM75B_I2C_ADDRESS (0x48)
Rhyme 0:0b6732b53bf4 13
Rhyme 0:0b6732b53bf4 14 #if defined (TARGET_KL25Z)
Rhyme 0:0b6732b53bf4 15 #define PIN_SCL PTE1
Rhyme 0:0b6732b53bf4 16 #define PIN_SDA PTE0
Rhyme 0:0b6732b53bf4 17 #elif defined (TARGET_KL46Z)
Rhyme 0:0b6732b53bf4 18 #define PIN_SCL PTE1
Rhyme 0:0b6732b53bf4 19 #define PIN_SDA PTE0
Rhyme 0:0b6732b53bf4 20 #elif defined (TARGET_K64F)
Rhyme 0:0b6732b53bf4 21 #define PIN_SCL PTE24
Rhyme 0:0b6732b53bf4 22 #define PIN_SDA PTE25
Rhyme 0:0b6732b53bf4 23 #elif defined (TARGET_K22F)
Rhyme 0:0b6732b53bf4 24 #define PIN_SCL PTE1
Rhyme 0:0b6732b53bf4 25 #define PIN_SDA PTE0
Rhyme 0:0b6732b53bf4 26 #elif defined (TARGET_KL05Z)
Rhyme 0:0b6732b53bf4 27 #define PIN_SCL PTB3
Rhyme 0:0b6732b53bf4 28 #define PIN_SDA PTB4
Rhyme 0:0b6732b53bf4 29 #elif defined (TARGET_NUCLEO_F411RE)
Rhyme 0:0b6732b53bf4 30 #define PIN_SCL PB_8
Rhyme 0:0b6732b53bf4 31 #define PIN_SDA PB_9
Rhyme 0:0b6732b53bf4 32 #else
Rhyme 0:0b6732b53bf4 33 #error TARGET NOT DEFINED
Rhyme 0:0b6732b53bf4 34 #endif
Rhyme 0:0b6732b53bf4 35
Rhyme 0:0b6732b53bf4 36 int main() {
Rhyme 0:0b6732b53bf4 37 int8_t itemp = 0 ;
Rhyme 0:0b6732b53bf4 38 float ftemp = 0.0 ;
Rhyme 0:0b6732b53bf4 39 LM75B lm75b(PIN_SDA, PIN_SCL, LM75B_I2C_ADDRESS) ;
Rhyme 0:0b6732b53bf4 40
Rhyme 0:0b6732b53bf4 41 while(1) {
Rhyme 0:0b6732b53bf4 42 itemp = lm75b.temp() ;
Rhyme 0:0b6732b53bf4 43 lm75b.getTemp(&ftemp) ;
Rhyme 0:0b6732b53bf4 44 printf("Temp = %d C degree, %.3f C degree\n", itemp, ftemp) ;
Rhyme 0:0b6732b53bf4 45 wait(1) ;
Rhyme 0:0b6732b53bf4 46 }
Rhyme 0:0b6732b53bf4 47 }
Rhyme 0:0b6732b53bf4 48 * @endcode
Rhyme 0:0b6732b53bf4 49 */
Rhyme 0:0b6732b53bf4 50 class LM75B
Rhyme 0:0b6732b53bf4 51 {
Rhyme 0:0b6732b53bf4 52 public:
Rhyme 0:0b6732b53bf4 53 /**
Rhyme 0:0b6732b53bf4 54 * LM75B constructor
Rhyme 0:0b6732b53bf4 55 *
Rhyme 0:0b6732b53bf4 56 * @param i2c pointer to the I2C object
Rhyme 0:0b6732b53bf4 57 * @param addr addr of the I2C peripheral
Rhyme 0:0b6732b53bf4 58 */
Rhyme 0:0b6732b53bf4 59 LM75B(I2C *i2c, int addr);
Rhyme 0:0b6732b53bf4 60
Rhyme 0:0b6732b53bf4 61 /**
Rhyme 0:0b6732b53bf4 62 * LM75B destructor
Rhyme 0:0b6732b53bf4 63 */
Rhyme 0:0b6732b53bf4 64 ~LM75B();
Rhyme 0:0b6732b53bf4 65
Rhyme 0:0b6732b53bf4 66 /**
Rhyme 0:0b6732b53bf4 67 * get temperature as one byte (signed)
Rhyme 0:0b6732b53bf4 68 * @param *temp int8_t returns integer part of the temperature
Rhyme 0:0b6732b53bf4 69 * @return 0: success not-0: failure
Rhyme 0:0b6732b53bf4 70 */
Rhyme 0:0b6732b53bf4 71 int temp(int8_t *temp) ;
Rhyme 0:0b6732b53bf4 72
Rhyme 0:0b6732b53bf4 73 /**
Rhyme 0:0b6732b53bf4 74 * get temperature as 11 bit (float)
Rhyme 0:0b6732b53bf4 75 * @param *temp float returns the temperature as float
Rhyme 0:0b6732b53bf4 76 * @return 0: success not-0: failure
Rhyme 0:0b6732b53bf4 77 */
Rhyme 0:0b6732b53bf4 78 int getTemp(float *temp) ;
Rhyme 0:0b6732b53bf4 79
Rhyme 0:0b6732b53bf4 80 /**
Rhyme 0:0b6732b53bf4 81 * get configuration register
Rhyme 0:0b6732b53bf4 82 * @param ptr_byte uint8_t pointer value for the register
Rhyme 0:0b6732b53bf4 83 * @param *config_data uint8_t value of the config register
Rhyme 0:0b6732b53bf4 84 * @return 0: success non-0: failure
Rhyme 0:0b6732b53bf4 85 */
Rhyme 0:0b6732b53bf4 86 int getConfig(uint8_t ptr_byte, uint8_t *config_data) ;
Rhyme 0:0b6732b53bf4 87
Rhyme 0:0b6732b53bf4 88 /**
Rhyme 0:0b6732b53bf4 89 * set configuration register
Rhyme 0:0b6732b53bf4 90 * @param ptr_byte uint8_t pointer value for the register
Rhyme 0:0b6732b53bf4 91 * @param config_data uint8_t value to set in the config register
Rhyme 0:0b6732b53bf4 92 * @return 0: success non-0: failure
Rhyme 0:0b6732b53bf4 93 */
Rhyme 0:0b6732b53bf4 94 int setConfig(uint8_t ptr_byte, uint8_t config_data) ;
Rhyme 0:0b6732b53bf4 95
Rhyme 0:0b6732b53bf4 96 private:
Rhyme 0:0b6732b53bf4 97 I2C *p_i2c;
Rhyme 0:0b6732b53bf4 98 int m_addr;
Rhyme 0:0b6732b53bf4 99 int readRegs(int addr, uint8_t * data, int len);
Rhyme 0:0b6732b53bf4 100 int writeRegs(uint8_t * data, int len);
Rhyme 0:0b6732b53bf4 101
Rhyme 0:0b6732b53bf4 102 };
Rhyme 0:0b6732b53bf4 103
Rhyme 0:0b6732b53bf4 104 #endif