Table des matières:

Surveillance de la température à l'aide du MCP9808 et du photon de particules : 4 étapes
Surveillance de la température à l'aide du MCP9808 et du photon de particules : 4 étapes

Vidéo: Surveillance de la température à l'aide du MCP9808 et du photon de particules : 4 étapes

Vidéo: Surveillance de la température à l'aide du MCP9808 et du photon de particules : 4 étapes
Vidéo: I2C In-Depth using the Particle Xenon and the MCP9808 Temp Sensor 2024, Juillet
Anonim
Image
Image

Le MCP9808 est un mini module de capteur de température numérique de haute précision ± 0,5 ° C I2C. Ils sont dotés de registres programmables par l'utilisateur qui facilitent les applications de détection de température. Le capteur de température de haute précision MCP9808 est devenu un standard de l'industrie en termes de facteur de forme et d'intelligence, fournissant des signaux de capteur calibrés et linéarisés au format numérique I2C.

Dans ce tutoriel, l'interfaçage du module capteur MCP9808 avec des photons de particules a été démontré. Pour lire les valeurs de température, nous avons utilisé raspberry pi avec un adaptateur I2c. Cet adaptateur I2C rend la connexion au module capteur facile et plus fiable.

Étape 1: Matériel requis:

Matériel requis
Matériel requis
Matériel requis
Matériel requis
Matériel requis
Matériel requis

Les matériaux dont nous avons besoin pour atteindre notre objectif comprennent les composants matériels suivants:

1. MCP9808

2. Photon de particule

3. Câble I2C

4. Bouclier I2C pour les photons de particules

Étape 2: connexion matérielle:

Raccordement matériel
Raccordement matériel
Raccordement matériel
Raccordement matériel

La section de raccordement matériel explique essentiellement les connexions de câblage requises entre le capteur et le photon particulaire. Assurer des connexions correctes est la nécessité de base tout en travaillant sur n'importe quel système pour la sortie souhaitée. Ainsi, les connexions requises sont les suivantes:

Le MCP9808 fonctionnera sur I2C. Voici l'exemple de schéma de câblage, montrant comment câbler chaque interface du capteur.

Prête à l'emploi, la carte est configurée pour une interface I2C, en tant que telle, nous vous recommandons d'utiliser cette connexion si vous êtes par ailleurs agnostique. Tout ce dont vous avez besoin, c'est de quatre fils !

Seules quatre connexions sont nécessaires pour les broches Vcc, Gnd, SCL et SDA et celles-ci sont connectées à l'aide d'un câble I2C.

Ces connexions sont illustrées dans les images ci-dessus.

Étape 3: Code pour la mesure de la température:

Code pour la mesure de la température
Code pour la mesure de la température

Commençons maintenant par le code des particules.

Lors de l'utilisation du module de capteur avec l'arduino, nous incluons les bibliothèques application.h et spark_wiring_i2c.h. Les bibliothèques "application.h" et spark_wiring_i2c.h contiennent les fonctions qui facilitent la communication i2c entre le capteur et la particule.

Le code de particule complet est donné ci-dessous pour la commodité de l'utilisateur:

#comprendre

#comprendre

// L'adresse I2C du MCP9808 est 0x18(24)

#define adresse 0x18

float cTemp = 0, fTemp = 0;

void setup()

{

// Définir la variable

Particule.variable("i2cdevice", "MCP9808");

Particule.variable("cTemp", cTemp);

// Initialiser la communication I2C en tant que MASTER

Fil.begin();

// Initialiser la communication série, définir le débit en bauds = 9600

Serial.begin(9600);

// Démarrer la transmission I2C

Wire.beginTransmission(Adr);

// Sélection du registre de configuration

Wire.write(0x01);

// Mode de conversion continu, Power-up par défaut

Wire.write(0x00);

Wire.write(0x00);

// Arrêter la transmission I2C

Wire.endTransmission();

// Démarrer la transmission I2C

Wire.beginTransmission(Adr);

// Sélection du registre de résolution

Wire.write(0x08);

// Résolution = +0,0625 / C

Wire.write(0x03);

// Arrêter la transmission I2C

Wire.endTransmission();

retard (300);

}

boucle vide()

{

données int non signées[2];

// Démarre la communication I2C

Wire.beginTransmission(Adr);

// Sélection du registre de données

Wire.write(0x05);

// Arrêter la transmission I2C

Wire.endTransmission();

// Demande 2 octets de données

Wire.requestFrom(Adr, 2);

// Lecture de 2 octets de données

// temp msb, temp lsb

if(Fil.disponible() == 2)

{

data[0] = Wire.read();

données[1] = Wire.read();

}

retard (300);

// Convertir les données en 13 bits

int temp = ((données[0] & 0x1F) * 256 + données[1]);

si (temp > 4095)

{

temp -= 8192;

}

cTemp = température * 0,0625;

fTemp = cTemp * 1,8 + 32;

// Sortie des données vers le tableau de bord

Particle.publish("Température en Celsius: ", String(cTemp));

Particle.publish("Température en Fahrenheit: ", String(fTemp));

retard (500);

}

La fonction Particle.variable() crée les variables pour stocker la sortie du capteur et la fonction Particle.publish() affiche la sortie sur le tableau de bord du site.

La sortie du capteur est montrée dans l'image ci-dessus pour votre référence.

Étape 4: Candidatures:

Applications
Applications

Le capteur de température numérique MCP9808 a plusieurs applications au niveau de l'industrie qui intègrent des congélateurs et des réfrigérateurs industriels ainsi que divers robots culinaires. Ce capteur peut être utilisé pour divers ordinateurs personnels, serveurs ainsi que d'autres périphériques PC.

Conseillé: