This code is not tested, but very close.
// NOT tested !, but a guess
#include <Wire.h>
// #include <WireExt.h>#define D6T_addr 0x0A
#define D6T_cmd 0x4Cbyte rbuf[19];
float temp[9]; // amb + 8 temp_readingsvoid setup()
{
Wire.begin();
Serial.begin(9600);
// pinMode(17,OUTPUT); // this is a trick to feed power from I/O -lines
// digitalWrite(17,HIGH);
// pinMode(16,OUTPUT);
// digitalWrite(16,LOW);
}void loop()
{
int i;
Wire.beginTransmission(D6T_addr);
Wire.write(D6T_cmd);
Wire.endTransmission();
Wire.requestFrom(D6T_addr,19);
for (i = 0; i < 19; i++) rbuf = Wire.read(); // if sensor is slow, and this wont work.
/* OR
- for (i = 0; i < 19; i++)*
- {*
- while (!Wire.available()); // wait for data to arrive*
_ rbuf = Wire.read(); // then read it to buffer_
* }*
*/
* // assemble 9 temperatures (*
for (i=0; i<9; i++) temp_=(rbuf[(i2)]+(rbuf[(i2+1)]<<8))0.1;
// printout ?
}[/quote]*_