Table des matières:
2025 Auteur: John Day | [email protected]. Dernière modifié: 2025-01-13 06:57
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. Voici la démonstration avec un code python utilisant Raspberry Pi.
Étape 1: Ce dont vous avez besoin.
1. Framboise Pi
2. MCP9808
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 MCP9808 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 python pour MCP9808 peut être téléchargé depuis notre référentiel GitHub - Dcube Store
Voici le lien pour le même:
github.com/DcubeTechVentures/MCP9808
La fiche technique du MCP9808 se trouve ici:
ww1.microchip.com/downloads/en/DeviceDoc/25…
Nous avons utilisé la bibliothèque SMBus pour le code python, les étapes pour installer SMBus sur raspberry pi sont décrites ici:
pypi.python.org/pypi/smbus-cffi/0.5.1
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 s'intègre dans les licences de ses œuvres associées.
# MCP9808
# Ce code est conçu pour fonctionner avec le mini module MCP9808_I2CS I2C disponible dans Dcube Store.
importer smbus
heure d'importation
# Obtenez le bus I2C
bus = smbus. SMbus(1)
# Adresse MCP9808, 0x18(24)
# Sélectionnez le registre de configuration, 0x01(1)
# 0x0000(00) Mode de conversion continue, Défaut de mise sous tension
configuration = [0x00, 0x00]
bus.write_i2c_block_data (0x18, 0x01, config)
# Adresse MCP9808, 0x18(24)
# Sélectionnez le registre de résolution, 0x08(8)
# 0x03(03) Résolution = +0,0625 / C
bus.write_byte_data (0x18, 0x08, 0x03)
time.sleep(0.5) # Adresse MCP9808, 0x18(24)
# Lire les données de 0x05(5), 2 octets
# Temp MSB, TEMP LSB
données = bus.read_i2c_block_data (0x18, 0x05, 2)
# Convertir les données en 13 bits
ctemp = ((données[0] & 0x1F) * 256) + données[1]
si ctemp > 4095:
ctemp -= 8192
ctemp = ctemp * 0,0625
ftemp = ctemp * 1,8 + 32
# Données de sortie à l'écran
print "La température en Celsius est: %.2f C" %ctemp
print "La température en Fahrenheit est: %.2f F" %ftemp
Étape 4: Candidatures..:
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.