Paso 3: código
El código de python para MCP9808 puede descargarse desde el repositorio de github-ControlEverythingCommunity
Aquí está el enlace para el mismo:
https://github.com/ControlEverythingCommunity/MCP9...
La hoja de datos de MCP9808 se puede encontrar aquí:
http://WW1.microchip.com/downloads/en/DeviceDoc/25...
Hemos utilizado SMBus biblioteca de código de python, los pasos para instalar SMBus en frambuesa pi se describe aquí:
https://PyPI.Python.org/PyPI/SMBus-cffi/0.5.1
También puede copiar el código desde aquí, se da como sigue:
# Distribuido con una licencia de libre albedrío.
# Usar cualquier manera desea, beneficio o libre, siempre cabe en las licencias de sus obras anexas.
# MCP9808
# Este código está diseñado para trabajar con el módulo de Mini de I2C MCP9808_I2CS de ControlEverything.com.
# https://www.controleverything.com/content/Tempera...
importación de smbus
tiempo de importación
# Coger el autobús de I2C
autobús = smbus. SMBus(1)
# Dirección MCP9808, 0x18(24)
# Select configuration register, 0x01(1)
# 0x0000(00) el modo de conversión continua, por defecto de Power-up
config = [0 x 00, 0 x 00]
Bus.write_i2c_block_data (0x18, 0 x 01, configuración)
# Dirección MCP9808, 0x18(24)
# Resolución select rgister, 0x08(8)
# Resolución de 0x03(03) = +0.0625 / C
Bus.write_byte_data (0x18, 0x08, 0 x 03)
Time.Sleep(0.5) # MCP9808 dirección, 0x18(24)
# Leer los datos de 0x05(5), 2 bytes
# Temp MSB, LSB del TEMP
datos = bus.read_i2c_block_data (0x18, 0 x 05, 2)
# Convertir los datos en 13 bits
CTemp = ((datos [0] & 0x1F) * 256) + datos [1]
Si ctemp > 4095:
CTemp-= 8192
CTemp = ctemp * 0.0625
ftemp = ctemp * 1.8 + 32
# Salida de datos a pantalla
Imprimir "la temperatura en Celsius es: %.2f C" % ctemp
Imprimir "la temperatura en grados Fahrenheit es: %.2f F" % ftemp