Étape 3: Code
Le code python pour MCP9808 peut être téléchargé depuis notre dépôt github-ControlEverythingCommunity
Voici le lien pour la même chose :
https://github.com/ControlEverythingCommunity/MCP9...
Le datasheet du MCP9808 peut être trouvé ici :
http://WW1.Microchip.com/downloads/en/DeviceDoc/25...
Nous avons utilisé SMBus bibliothèque de code python, les étapes pour installer SMBus sur pi framboise est décrite ici :
https://Pypi.Python.org/Pypi/SMBus-cffi/0.5.1
Vous pouvez également copier le code d’ici, il est affecté comme suit :
# Distribué avec une licence libre-arbitre.
# Utiliser aucunement vous voulez, Profitez ou sans, autant il s’intègre dans les licences de ses ouvrages connexes.
# MCP9808
# Ce code est conçu pour fonctionner avec le MCP9808_I2CS I2C Mini Module disponible à ControlEverything.com.
# https://www.controleverything.com/content/Tempera...
importer smbus
moment de l’importation
# Obtenir le bus I2C
bus = smbus. SMBus(1)
# Adresse de MCP9808, 0x18(24)
# Sélectionnez configuration register, 0x01(1)
mode de conversion continue de 0x0000(00) #, défaut de mise sous tension
config = [0 x 00, 0 x 00]
bus.write_i2c_block_data (0 x 18, 0 x 01, config)
# Adresse de MCP9808, 0x18(24)
# Sélectionnez résolution enregistrez-vous, 0x08(8)
Résolution 0x03(03) # = +0.0625 / C
bus.write_byte_data (0 x 18, 0 x 08, 0 x 03)
Time.Sleep(0.5) # MCP9808 adresse, 0x18(24)
# Lire les données à partir de 0x05(5), 2 octets
# Temp MSB, TEMP LSB
données = bus.read_i2c_block_data (0 x 18, 0 x 05, 2)
# Convertir les données à 13 bits
MTET = ((data [0] & 0x1F) * 256) + données [1]
Si MTET > 4095 :
MTET-= 8192
MTET = MTET * 0.0625
ftemp = MTET * 1.8 + 32
# Sortie de données à l’écran
imprimer "est la température en degrés Celsius : %.2f C » % MTET
imprimer "est la température en degrés Fahrenheit : %.2f F" % ftemp