Stap 3: Code
De python code voor MCP9808 kan worden gedownload van onze github archief-ControlEverythingCommunity
Hier is de link voor hetzelfde:
https://github.com/ControlEverythingCommunity/MCP9...
Het gegevensblad van MCP9808 kan hier worden gevonden:
http://WW1.microchip.com/downloads/en/DeviceDoc/25...
We hebben hier SMBus bibliotheek voor python code, de stappen te installeren SMBus op raspberry pi wordt beschreven gebruikt:
https://pypi.python.org/pypi/SMBus-cffi/0.5.1
U kunt ook de code kopiëren vanaf hier, het wordt als volgt gegeven:
# Gedistribueerd met een licentie van de vrije wil.
# Gebruik het elke manier je wilt, winst of gratis, mits het past in de licenties van de bijbehorende werken.
# MCP9808
# Deze code is ontworpen om te werken met de MCP9808_I2CS I2C Mini Module beschikbaar vanaf ControlEverything.com.
# https://www.controleverything.com/content/Tempera...
importeren van smbus
importeren
# Haal I2C bus
bus = smbus. SMBus(1)
# MCP9808 adres, 0x18(24)
# Selecteer Configuratie registreren, 0x01(1)
# 0x0000(00) continu-conversiemodus, Power-up standaard
config = [0x00, 0x00]
bus.write_i2c_block_data (0x18, 0x01, config)
# MCP9808 adres, 0x18(24)
# Selecteer resolutie registreren, 0x08(8)
# 0x03(03) resolutie = +0.0625 / C
bus.write_byte_data (0x18, 0x08, 0x03)
time.Sleep(0.5) # MCP9808 adres, 0x18(24)
# Lees de gegevens terug uit 0x05(5), 2 bytes
# Temp MSB, TEMP LSB
gegevens = bus.read_i2c_block_data (0x18, 0x05, 2)
# De gegevens converteren naar 13-bits
ctemp = ((gegevens [0] & 0x1F) * 256) + gegevens [1]
Als ctemp > 4095:
ctemp-= 8192
ctemp = ctemp * 0.0625
ftemp = ctemp * 1.8 + 32
# Uitvoergegevens naar scherm
afdrukken "temperatuur in Celsius is: %.2f C" % ctemp
afdrukken "temperatuur in Fahrenheit is: %.2f F" % ftemp