Table des matières:
2025 Auteur: John Day | [email protected]. Dernière modifié: 2025-01-13 06:57
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é. Voici la démonstration avec un code java utilisant Raspberry Pi.
Étape 1: Ce dont vous avez besoin.
1. Framboise Pi
2. MCP9803
3. Câble I²C
4. Bouclier I²C pour Raspberry Pi
5. Câble Ethernet
Étape 2: Connexions
Prenez un shield I2C pour raspberry pi et poussez-le doucement sur les broches gpio de raspberry pi.
Connectez ensuite l'une des extrémités du câble I2C au capteur MCP9803 et l'autre extrémité au blindage I2C.
Connectez également le câble Ethernet au pi ou vous pouvez utiliser un module WiFi. Les connexions sont montrées dans l'image ci-dessus.
Étape 3: Coder
Le code java pour MCP9803 peut être téléchargé depuis notre référentiel github - Dcube Store
Voici le lien pour le même:
github.com/DcubeTechVentures/MCP9803/blob/master/Java/MCP9803.java
Nous avons utilisé la bibliothèque pi4j pour le code java, les étapes pour installer pi4j sur raspberry pi sont décrites ici:
pi4j.com/install.html
Vous pouvez également copier le code d'ici, il est donné comme suit:
// Distribué avec une licence libre-arbitre.
// Utilisez-le comme vous le souhaitez, à profit ou gratuitement, à condition qu'il rentre dans les licences de ses œuvres associées.
// MCP9803
// Ce code est conçu pour fonctionner avec le mini module MCP9808_I2CS I2C
importer com.pi4j.io.i2c. I2CBus;
importer com.pi4j.io.i2c. I2CDevice;
importer com.pi4j.io.i2c. I2CFactory;
importer 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);
}
}
Étape 4: Candidatures..:
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.