Hello world code for PCT2075 and LM75B component class library. The PCT2075 is a temperature-to-digital converter featuring +/-1 degree-C accuracy over -25 degree-C to +100 degree-C range. It uses an on-chip band gap temperature sensor and Sigma-Delta A-to-D conversion technique with an overtemperature detection output that is a drop-in replacement for other LM75 series thermal sensors.
Diff: PCT2075/PCT2075.h
- Revision:
- 0:3c3d4c5ac8e9
- Child:
- 1:5398b0799e20
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/PCT2075/PCT2075.h Fri Feb 27 10:47:24 2015 +0000 @@ -0,0 +1,94 @@ +/** PCT2075 and LM75B component class library + * PCT2075 と LM75B 用のコンポーネント・クラス・ライブラリです + * + * This is new NXP PCT2075 and classic LM75B component class library + * This works for both PCT2075 and LM75B + * + * @author Tedd OKANO + * @version 1.0 + * @date 28-Feb-2015 + * + * For the details of PCT2075 and LM75B.. + * PCT2075 and LM75Bの詳細は.. + * http://i2c_sda.nxp.com/documents/data_sheet/PCT2075.pdf + * http://i2c_sda.nxp.com/documents/data_sheet/LM75B.pdf + */ + +#include "mbed.h" +#include "I2CTempSensor.h" + +/** PCT2075 class library クラスライブラリ + * + * クラスライブラリは非常にシンプルなインターフェースを提供します + * + * コード例: + * @code + * #include "mbed.h" + * #include "I2CTempSensor.h" + * + * I2CTempSensor temp0( p28, p27 ); + * + * I2C i2c( p28, p27 ); + * I2CTempSensor temp1( i2c ); + * + * + * int main() + * { + * float t0; + * float t1; + * + * i2c.frequency( 400 * 1000 ); + * + * while(1) { + * t0 = temp0; + * t1 = temp1; + * printf( "temp = %7.3f, %7.3f\r\n", t0, t1 ); + * wait( 1 ); + * } + * } + * @endcode + */ +class PCT2075 : I2CTempSensor +{ +public: + /** I2Cピンとスレーブアドレスを指定し,インスタンスを作成します + * + * @param i2c_sda I2C-bus i2c_sdaピン + * @param i2c_scl I2C-bus i2c_sclピン + * @param i2c_address (オプション) I2C-bus スレーブアドレス (デフォルト: 0x90) + */ + PCT2075( PinName i2c_sda, PinName i2c_scl, char i2c_address = DEFAULT_I2C_SLAVE_ADDRESS ); + + /** I2Cオブジェクトとスレーブアドレスを指定し,インスタンスを作成します + * + * @param i2c_obj I2C オブジェクト (インスタンス) + * @param i2c_address (オプション) I2C-bus スレーブアドレス (デフォルト: 0x90) + */ + PCT2075( I2C &i2c_obj, char i2c_address = DEFAULT_I2C_SLAVE_ADDRESS ); + + /** デストラクタ + */ + virtual ~PCT2075(); + + /** 温度の読み出し + * + * @return 摂氏温度を返します(float型) + */ + float read( void ); + + /** 温度の読み出し + * + * @return オブジェクトが読みだした値を返すようにしています + */ + operator float( void ); + +private: + /** デフォルト・スレーブアドレス */ + enum { + DEFAULT_I2C_SLAVE_ADDRESS = 0x90 + }; + + I2C *i2c_p; + I2C &i2c; + char adr; +};