Table des matières:
2025 Auteur: John Day | [email protected]. Dernière modifié: 2025-01-13 06:57
Le MCP9805 est un capteur de température numérique à module mémoire. Il est incorporé avec des registres programmables par l'utilisateur qui offrent une flexibilité pour les applications de détection de température. Ce capteur est conçu pour être incorporé dans le capteur de température du module de mémoire de la plate-forme mobile. Voici la démonstration avec un code java utilisant Raspberry Pi.
Étape 1: Ce dont vous avez besoin.
1. Framboise Pi
2. MCP9805
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 MCP9805 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 MCP9805 peut être téléchargé depuis notre référentiel GitHub-Dcube Store.
Voici le lien pour le même:
github.com/DcubeTechVentures/MCP9805
La fiche technique du MCP9805 peut être trouvée ici:
ww1.microchip.com/downloads/en/DeviceDoc/21…
Nous avons utilisé la bibliothèque pi4j pour le code java, les étapes pour installer pi4j sur le 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.
// MCP9805
// Ce code est conçu pour fonctionner avec le mini module MCP9808_I2CS I2C disponible dans Dcube Store.
importer com.pi4j.io.i2c. I2CBus;
importer com.pi4j.io.i2c. I2CDevice;
importer com.pi4j.io.i2c. I2CFactory;
importer java.io. IOException;
classe publique MCP9805
{
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 du MCP9805 est 0x18(24)
Périphérique I2CDevice = Bus.getDevice (0x18);
Thread.sommeil(300);
// Sélection du registre de configuration
// Mode de conversion continue, Power-up
byte config = new byte[2];
config[0] = 0x00;
configuration[1] = 0x00;
device.write (0x01, config, 0, 2);
// Sélection du registre de résolution
// Résolution = +0,0625 / C
périphérique.write(0x08, (octet)0x03);
Thread.sommeil(300);
// Lecture de 2 octets de données à partir de l'adresse 0x05(05)
// temp msb, temp lsb
octet données = nouvel octet[2];
device.read (0x05, données, 0, 2);
// Convertir les données en 13 bits
int temp = ((données[0] & 0x1F) * 256 + (données[1] & 0xFF));
si (temp > 4095)
{
temp -= 8192;
}
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 MCP9805 peut être intégré à divers systèmes, notamment des systèmes de surveillance de la température à double module de mémoire en ligne (DIMM), des ordinateurs personnels et des serveurs. Généralement, il peut être utilisé comme capteur de température à usage général.