SCH MME sensor test

Dependencies:   mbed Adafruit_GFX

Committer:
shinshingo
Date:
Wed Nov 06 09:05:08 2019 +0000
Revision:
0:28c89a4b6b69
Child:
1:bbf8b08b8a20
SCH MME L432KC Mbed Sensor Test

Who changed what in which revision?

UserRevisionLine numberNew contents of line
shinshingo 0:28c89a4b6b69 1 #include "mbed.h"
shinshingo 0:28c89a4b6b69 2
shinshingo 0:28c89a4b6b69 3 //Melexis Infrared Thermometer MLX90614 Library
shinshingo 0:28c89a4b6b69 4
shinshingo 0:28c89a4b6b69 5 //*****************************************************************
shinshingo 0:28c89a4b6b69 6 // Build : 2011-06-08 Hikaru Sugiura
shinshingo 0:28c89a4b6b69 7 // Only read thermo data.
shinshingo 0:28c89a4b6b69 8 //
shinshingo 0:28c89a4b6b69 9 // This program is based on Mr.Mitesh Patel's "mlx90614".
shinshingo 0:28c89a4b6b69 10 // http://mbed.org/users/mitesh2patel/programs/mlx90614/lqnetj
shinshingo 0:28c89a4b6b69 11 //
shinshingo 0:28c89a4b6b69 12 // This program does not check CRC.
shinshingo 0:28c89a4b6b69 13 // If you want to check CRC, please do it your self :)
shinshingo 0:28c89a4b6b69 14 //****************************************************************//
shinshingo 0:28c89a4b6b69 15
shinshingo 0:28c89a4b6b69 16 /**An Interface for MLX90614
shinshingo 0:28c89a4b6b69 17 *
shinshingo 0:28c89a4b6b69 18 * @code
shinshingo 0:28c89a4b6b69 19 * //Print temperature data
shinshingo 0:28c89a4b6b69 20 * #include "mbed.h"
shinshingo 0:28c89a4b6b69 21 * #include "mlx90614.h"
shinshingo 0:28c89a4b6b69 22 *
shinshingo 0:28c89a4b6b69 23 * I2C i2c(p28,p27); //sda,scl
shinshingo 0:28c89a4b6b69 24 * MLX90614 thermometer(&i2c);
shinshingo 0:28c89a4b6b69 25 * float temp;
shinshingo 0:28c89a4b6b69 26 *
shinshingo 0:28c89a4b6b69 27 * void main(void){
shinshingo 0:28c89a4b6b69 28 * if(thermometer.getTemp(&temp)){
shinshingo 0:28c89a4b6b69 29 * printf("Temperature : %f \r\n",temp);
shinshingo 0:28c89a4b6b69 30 * }
shinshingo 0:28c89a4b6b69 31 * wait(0.5);
shinshingo 0:28c89a4b6b69 32 *
shinshingo 0:28c89a4b6b69 33 * }
shinshingo 0:28c89a4b6b69 34 * @endcode
shinshingo 0:28c89a4b6b69 35 */
shinshingo 0:28c89a4b6b69 36
shinshingo 0:28c89a4b6b69 37
shinshingo 0:28c89a4b6b69 38 class MLX90615{
shinshingo 0:28c89a4b6b69 39
shinshingo 0:28c89a4b6b69 40 public:
shinshingo 0:28c89a4b6b69 41 /** Create MLX90614 interface, initialize with selected I2C port and address.
shinshingo 0:28c89a4b6b69 42 *
shinshingo 0:28c89a4b6b69 43 * @param i2c I2C device pointer
shinshingo 0:28c89a4b6b69 44 * @param addr Device address(default=0xB4)
shinshingo 0:28c89a4b6b69 45 */
shinshingo 0:28c89a4b6b69 46 MLX90615(I2C* i2c,int addr=0xB6);
shinshingo 0:28c89a4b6b69 47
shinshingo 0:28c89a4b6b69 48 /** Get Temperature data from MLX90614.
shinshingo 0:28c89a4b6b69 49 *
shinshingo 0:28c89a4b6b69 50 * @param temp_val return valiable pointer
shinshingo 0:28c89a4b6b69 51 * @return 0 on success (ack), or non-0 on failure (nack)
shinshingo 0:28c89a4b6b69 52 */
shinshingo 0:28c89a4b6b69 53 bool getTemp(float* temp_val);
shinshingo 0:28c89a4b6b69 54 bool getTempAmbient(float* temp_val);
shinshingo 0:28c89a4b6b69 55 bool getRawIR(int16_t* ir_val);
shinshingo 0:28c89a4b6b69 56
shinshingo 0:28c89a4b6b69 57 private:
shinshingo 0:28c89a4b6b69 58 I2C* i2c;
shinshingo 0:28c89a4b6b69 59 int i2caddress;
shinshingo 0:28c89a4b6b69 60
shinshingo 0:28c89a4b6b69 61 };