Étape 3 : Code pour mesurer la température :
Permet de démarrer avec l' arduino code maintenant.
Lorsque vous utilisez le module détecteur avec l’arduino, nous incluons la bibliothèque Wire.h. Bibliothèque « Fils » contient les fonctions qui facilitent la communication i2c entre le capteur et la carte arduino.
Le code entier arduino est donné ci-dessous pour la commodité de l’utilisateur :
#include<Wire.h>// MCP9808 I2C address is 0x18(24)#define Addr 0x18void setup(){ // Initialise I2C communication as MASTER Wire.begin(); // Initialise Serial Communication, set baud rate = 9600 Serial.begin(9600); // Start I2C Transmission Wire.beginTransmission(Addr); // Select configuration register Wire.write(0x01); // Continuous conversion mode, Power-up default Wire.write(0x00); Wire.write(0x00); // Stop I2C Transmission Wire.endTransmission(); // Start I2C Transmission Wire.beginTransmission(Addr); // Select resolution register Wire.write(0x08); // Resolution = +0.0625 / C Wire.write(0x03); // Stop I2C Transmission Wire.endTransmission();} void loop(){ unsigned int data[2]; // Starts I2C communication Wire.beginTransmission(Addr); // Select data register Wire.write(0x05); // Stop I2C transmission Wire.endTransmission(); // Request 2 bytes of data Wire.requestFrom(Addr, 2); // Read 2 bytes of data // temp MSB, temp LSB if(Wire.available() == 2) { data[0] = Wire.read(); data[1] = Wire.read(); } // Convert the data to 13-bits int temp = ((data[0] & 0x1F) * 256 + data[1]); if(temp > 4095) { temp -= 8192; } float cTemp = temp * 0.0625; float fTemp = cTemp * 1.8 + 32; // Output data to screen Serial.print("Temperature in Celsius : "); Serial.println(cTemp); Serial.println(" C"); Serial.print("Temperature in Fahrenheit : "); Serial.println(fTemp); Serial.println(" F"); delay(500);}
Dans la bibliothèque de fils Wire.write() et Wire.read() est utilisé pour écrire les commandes et lire la sortie du capteur.
Serial.Print() et Serial.println() est utilisé pour afficher la sortie de la sonde sur l’écran de série de l’IDE Arduino.
La sortie du capteur est montrée dans l’image ci-dessus.