Thermal Array Sensor D6T-44L-06

オムロンの「MEMS非接触温度センサ D6T-44L-06」を入手したので、mbedで操作してみた。 http://www.omron.co.jp/ecb/products/sensor/ /media/uploads/maruatok/d6t44l06.jpg

現時点(2012年末)では、Digikey、MOUSERでは取り扱っているが、日本の主な通販では載っていない。

接続は、5V電源とI2Cの合計4本。Board☆Orangeに接続した。

通信&換算部分は、こんなかんじ

I2C i2c(p9, p10); // sda, scl

#define  D6T_addr  0x14
#define  D6T_cmd   0x4c

int main() {
   char  I2C_rd[64]; // 生データ
   short  datr[16]; // 16点 温度データ(10倍整数)
   short  PTAT; // センサ内部PTAT温度データ(10倍整数)
   double  dt[16]; // 16点 温度データ(浮動)
   double  d_PTAT; // センサ内部PTAT温度データ(浮動)
   int  i,j;
   int  itemp;
   
   while(1) {
      //// measure
      i2c.start();
      i2c.write(D6T_addr);
      i2c.write(D6T_cmd);
      // Repeated Start condition
      i2c.read(D6T_addr,I2C_rd,35);
      if(check_PEC(I2C_rd) == -1) continue; // error
      for(i=0,j=0;i<17;i++){
         itemp = (I2C_rd[j++] & 0xff);
         itemp += I2C_rd[j++] * 256;
         if(i == 0) PTAT = itemp;
         else datr[i-1] = itemp;
      }
      for(i=0;i<16;i++){
         dt[i] = 0.1 * datr[i];
      }
      d_PTAT = 0.1 * PTAT;
      ;
      wait(0.1); // Loop wait
   }
}

LCDにとりあえず16点を棒グラフで表示してみた。4行表示できたらよかったんだけど。 /media/uploads/maruatok/mbed_d6t.jpg


Please log in to post comments.