Stap 4: programmeren
#include
VOID Setup
{
I2C adres van de TMP112
#define TMP_ADDR 0x48
I2c Bus toetreden als meester
Wire.begin();
Start seriƫle communicatie
Serial.begin(9600);
Begin transmissie
Wire.beginTransmission(TMP_ADDR);
Selecteer ENABLE-info
Wire.write(0x01);
Selecteer Normaal
Wire.write(0x60A0);
Einde transmissie- en release I2C bus
Wire.endTransmission();
}
void loop
{
Begin transmissie
Wire.beginTransmission(TMP_ADDR);
Selecteer gegevens Registers
Wire.write(0X00);
End Transmission
Wire.endTransmission();
delay(500);
Aanvraagbytes 2, Msb eerst
Wire.requestFrom (TMP_ADDR, 2);
De twee bytes lezen
while(Wire.available())
{
verwijderen van huisvuil
Serial.Flush();
int msb = Wire.read();
int lsb = Wire.read();
Wire.endTransmission();
Gegevensconversie in ruwe waarden
int rawtmp = msb << 8 |lsb;
int-waarde = rawtmp >> 4;
dubbele ans = waarde * 0.0625;
Printuitvoer
Serial.Print ("celsius waarde:");
Serial.println(ANS);
}
}