Temperaturövervakning med hjälp av MCP9808 och Raspberry Pi (3 / 4 steg)
Steg 3: Kod för temperaturmätning:
Fördelen med att använda raspberry pi är som ger dig flexibiliteten i det programmera språket som du vill programmera styrelsen för att gränssnittet sensorn med det. Utnyttja denna fördel av denna styrelse, visar vi här sin programmering i python. Python är ett av de enklaste programmeringsspråk med enklaste syntax. Python-koden för MCP9808 kan hämtas från vår github gemenskap som är Kontroll allt gemenskap.
Samt för att underlätta för användarna, förklarar vi koden här också:
Som ett första steg av kodning måste du hämta SMBus biblioteket vid python, eftersom detta bibliotek stöder funktioner används i koden. Så, om du vill ladda ner biblioteket kan du besöka följande länk:
https://pypi.python.org/pypi/SMBus-cffi/0.5.1
Du kan kopiera den arbetande koden från här också:
importera smbus
Importera tid
# Få I2C busbus = smbus. SMBus(1)
# MCP9808 adress, 0x18(24)
# Select configuration registrera, 0x01(1)
# 0x0000(00) kontinuerlig omvandling läge, uppstart standard
config = [0x00, 0x00]bus.write_i2c_block_data (0x18, 0x01, config)
# MCP9808 adress, 0x18(24)
# Välj resolution rgister, 0x08(8)
# 0x03(03) Resolution = +0.0625 / C
Bus.write_byte_data (0x18, 0x08, 0x03)
Time.Sleep(0.5)
# MCP9808 adress, 0x18(24)
# Läs data tillbaka från 0x05(5), 2 byte
# Temp MSB, TEMP-LSB
data = bus.read_i2c_block_data (0x18, 0x05, 2)
# Konvertera data till 13-bitar
CTemp = ((data [0] & 0x1F) * 256) + data [1]
om ctemp > 4095:
CTemp-= 8192
CTemp = ctemp * 0,0625
ftemp = ctemp * 1,8 + 32
# Utdata till skärm
skriva ut "temperaturen i Celsius är: %.2f C" % ctemp
skriva ut "temperaturen i Fahrenheit är: %.2f F" % ftemp
Koden genomförs med hjälp av följande kommando:
$> python MCP9808.py
Produktionen av sensorn visas i bilden ovan för att hänvisa till av användaren.