D6T MEMS Thermal Sensors (Omron)

Committer:
kenjiArai
Date:
Tue Feb 18 01:09:00 2020 +0000
Revision:
0:9f5e063c0c00
1st release

Who changed what in which revision?

UserRevisionLine numberNew contents of line
kenjiArai 0:9f5e063c0c00 1 /*
kenjiArai 0:9f5e063c0c00 2 * mbed library checking program
kenjiArai 0:9f5e063c0c00 3 * D6T-44L-06: D6T MEMS Thermal Sensors
kenjiArai 0:9f5e063c0c00 4 * --- High Sensitivity Enables Detection of Stationary Human Presence
kenjiArai 0:9f5e063c0c00 5 * https://www.components.omron.com/web/en/product-detail?partNumber=D6T
kenjiArai 0:9f5e063c0c00 6 *
kenjiArai 0:9f5e063c0c00 7 * Copyright (c) 2020 Kenji Arai / JH1PJL
kenjiArai 0:9f5e063c0c00 8 * http://www7b.biglobe.ne.jp/~kenjia/
kenjiArai 0:9f5e063c0c00 9 * https://os.mbed.com/users/kenjiArai/
kenjiArai 0:9f5e063c0c00 10 * Created: February 16th, 2020
kenjiArai 0:9f5e063c0c00 11 * Revised: February 18th, 2020
kenjiArai 0:9f5e063c0c00 12 */
kenjiArai 0:9f5e063c0c00 13
kenjiArai 0:9f5e063c0c00 14 /*
kenjiArai 0:9f5e063c0c00 15 Tested on:
kenjiArai 0:9f5e063c0c00 16 GR-MANGO(beta version) with 2JCIE-EV01 board
kenjiArai 0:9f5e063c0c00 17 */
kenjiArai 0:9f5e063c0c00 18
kenjiArai 0:9f5e063c0c00 19 #if 0
kenjiArai 0:9f5e063c0c00 20
kenjiArai 0:9f5e063c0c00 21 #include "mbed.h"
kenjiArai 0:9f5e063c0c00 22 #include "D6T_44L_06.h"
kenjiArai 0:9f5e063c0c00 23
kenjiArai 0:9f5e063c0c00 24 D6T_44L_06 tmp_16array(I2C_SDA, I2C_SCL);
kenjiArai 0:9f5e063c0c00 25
kenjiArai 0:9f5e063c0c00 26 int main(void) {
kenjiArai 0:9f5e063c0c00 27 float_t t_f[16];
kenjiArai 0:9f5e063c0c00 28
kenjiArai 0:9f5e063c0c00 29 printf("Start program\r\n");
kenjiArai 0:9f5e063c0c00 30 ThisThread::sleep_for(200);
kenjiArai 0:9f5e063c0c00 31 printf("\x1b[2J"); // Clear screen
kenjiArai 0:9f5e063c0c00 32 while (1) {
kenjiArai 0:9f5e063c0c00 33 printf("\x1b[%d;%dH", 0, 0); // Move cursor (y , x)
kenjiArai 0:9f5e063c0c00 34 printf("GR-MANGO --> Omron D6T_44L_06, MEMS Thermal Sensor\r\n");
kenjiArai 0:9f5e063c0c00 35 printf("Sensor chip temperatue: %5.2f\r\n", tmp_16array.read_chip_temp());
kenjiArai 0:9f5e063c0c00 36 bool result = tmp_16array.read_float_data(t_f);
kenjiArai 0:9f5e063c0c00 37 for (uint32_t i = 0; i < 16;) {
kenjiArai 0:9f5e063c0c00 38 printf("%5.2f, ", t_f[i]);
kenjiArai 0:9f5e063c0c00 39 i++;
kenjiArai 0:9f5e063c0c00 40 if ((i % 4) == 0){
kenjiArai 0:9f5e063c0c00 41 printf("\r\n");
kenjiArai 0:9f5e063c0c00 42 }
kenjiArai 0:9f5e063c0c00 43 }
kenjiArai 0:9f5e063c0c00 44 if (result == true){
kenjiArai 0:9f5e063c0c00 45 printf("Data is valid\r\n");
kenjiArai 0:9f5e063c0c00 46 } else {
kenjiArai 0:9f5e063c0c00 47 printf("Data has CRC error\r\n");
kenjiArai 0:9f5e063c0c00 48 }
kenjiArai 0:9f5e063c0c00 49 ThisThread::sleep_for(300);
kenjiArai 0:9f5e063c0c00 50 }
kenjiArai 0:9f5e063c0c00 51 }
kenjiArai 0:9f5e063c0c00 52
kenjiArai 0:9f5e063c0c00 53 #endif