Table des matières:

Mesure de la température à l'aide du MCP9803 et du Raspberry Pi : 4 étapes
Mesure de la température à l'aide du MCP9803 et du Raspberry Pi : 4 étapes

Vidéo: Mesure de la température à l'aide du MCP9803 et du Raspberry Pi : 4 étapes

Vidéo: Mesure de la température à l'aide du MCP9803 et du Raspberry Pi : 4 étapes
Vidéo: Master GPIO with Raspberry Pi Pico & MicroPython - Part 2 2024, Juillet
Anonim
Image
Image

Le MCP9803 est un capteur de température de haute précision à 2 fils. Ils sont dotés de registres programmables par l'utilisateur qui facilitent les applications de détection de température. Ce capteur est adapté au système de surveillance de la température multizone hautement sophistiqué.

Dans ce tutoriel, l'interfaçage du module capteur MCP9803 avec raspberry pi est démontré et sa programmation à l'aide du langage Java a également été illustrée. 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. MCP9803

2. Framboise pi

3. Câble I2C

4. Bouclier I2C pour framboise pi

5. Câble Ethernet

É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 raspberry pi. 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 MCP9803 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

L'avantage d'utiliser raspberry pi est qu'il vous offre la flexibilité du langage de programmation dans lequel vous souhaitez programmer la carte afin d'interfacer le capteur avec elle. En exploitant cet avantage de cette carte, nous démontrons ici qu'elle programme en Java. Le code java pour MCP9803 peut être téléchargé depuis notre communauté Github qui est Dcube Store.

En plus de la facilité des utilisateurs, nous expliquons le code ici également:

Comme première étape de codage, vous devez télécharger la bibliothèque pi4j dans le cas de java car cette bibliothèque prend en charge les fonctions utilisées dans le code. Donc, pour télécharger la bibliothèque, vous pouvez visiter le lien suivant:

pi4j.com/install.html

Vous pouvez également copier le code Java fonctionnel de ce capteur à partir d'ici:

importer com.pi4j.io.i2c. I2CBus;

importer com.pi4j.io.i2c. I2CDevice;

importer com.pi4j.io.i2c. I2CFactory;

import java.io. IOException;classe publique MCP9803

{

public static void main(String args) lève une exception

{

// Créer un bus I2C

I2CBus Bus = I2CFactory.getInstance(I2CBus. BUS_1);

// Obtenir le périphérique I2C, l'adresse I2C MCP9803 est 0x48 (72)

Périphérique I2CDevice = Bus.getDevice (0x48);

// Sélection du registre de configuration

// Mode de conversion continue, mise sous tension, mode comparateur, résolution 12 bits

périphérique.write(0x01, (octet)0x60);

Thread.sleep(500);

// Lecture de 2 octets de données à partir de l'adresse 0x00(0)

// temp msb, temp lsb

octet données = nouvel octet[2];

device.read (0x00, données, 0, 2);

// Convertir les données en 12 bits

int temp = ((données[0] & 0xFF) * 256 + (données[1] & 0xF0)) / 16;

si(temp > 2047)

{

temp -= 4096;

}

double cTemp = temp * 0,0625;

double fTemp = cTemp * 1,8 + 32;

// Sortie des données à l'écran

System.out.printf("La température en Celsius est: %.2f C %n", cTemp);

System.out.printf("La température en Fahrenheit est: %.2f F %n", fTemp);

}

}

La librairie qui facilite la communication i2c entre le capteur et la carte est pi4j, ses différents packages I2CBus, I2CDevice et I2CFactory aident à établir la connexion.

importer com.pi4j.io.i2c. I2CBus;

importer com.pi4j.io.i2c. I2CDevice;

importer com.pi4j.io.i2c. I2CFactory;

importer java.io. IOException;

Les fonctions write() et read() sont utilisées pour écrire des commandes particulières sur le capteur pour le faire fonctionner dans un mode particulier et lire respectivement la sortie du capteur.

La sortie du capteur est également montrée dans l'image ci-dessus.

Étape 4: Candidatures:

Applications
Applications

Le MCP9803 peut être utilisé dans un large éventail d'appareils, notamment des ordinateurs personnels et des périphériques, des disques durs, divers systèmes de divertissement, des systèmes de bureau et des systèmes de communication de données. Ce capteur peut être intégré dans divers systèmes sophistiqués.

Conseillé: