Sisällysluettelo:
2025 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2025-01-13 06:57
MCP9808 on erittäin tarkka digitaalinen lämpötila -anturi ± 0,5 ° C I2C minimoduuli. Ne on varustettu käyttäjän ohjelmoitavilla rekistereillä, jotka helpottavat lämpötilan tunnistamista. Korkean tarkkuuden MCP9808-lämpötila-anturista on tullut muodon ja älykkyyden kannalta alan standardi, joka tarjoaa kalibroituja, lineaarisia anturisignaaleja digitaalisessa I2C-muodossa. Tässä on esittely python -koodilla Raspberry Pi: n avulla.
Vaihe 1: Mitä tarvitset..
1. Vadelma Pi
2. MCP9808
3. I²C -kaapeli
4. I²C -kilpi Raspberry Pi: lle
5. Ethernet -kaapeli
Vaihe 2: Liitännät
Ota I2C -kilpi vadelma pi: lle ja työnnä sitä varovasti vadelma pi: n gpio -nastojen päälle.
Liitä sitten I2C -kaapelin toinen pää MCP9808 -anturiin ja toinen pää I2C -suojaan.
Liitä myös Ethernet -kaapeli pi: hen tai voit käyttää WiFi -moduulia.
Liitännät näkyvät yllä olevassa kuvassa.
Vaihe 3: Koodi
MCP9808: n python-koodin voi ladata GitHub-arkistostamme- Dcube Store
Tässä linkki samaan:
github.com/DcubeTechVentures/MCP9808
MCP9808: n tietolomake löytyy täältä:
ww1.microchip.com/downloads/en/DeviceDoc/25…
Olemme käyttäneet SMBus -kirjastoa python -koodille, SMBus -asennuksen vaiheet vadelma pi: lle on kuvattu tässä:
pypi.python.org/pypi/smbus-cffi/0.5.1
Voit myös kopioida koodin täältä, se annetaan seuraavasti:
# Jaetaan vapaaehtoisella lisenssillä.
# Käytä sitä haluamallasi tavalla, voittoa tai ilmaiseksi, jos se sopii siihen liittyvien teosten lisensseihin.
# MCP9808
# Tämä koodi on suunniteltu toimimaan Dcube Storesta saatavilla olevan MCP9808_I2CS I2C Mini -moduulin kanssa.
tuoda smbus
tuonnin aika
# Hanki I2C -bussi
väylä = smbus. SMBus (1)
# MCP9808 -osoite, 0x18 (24)
# Valitse määritysrekisteri, 0x01 (1)
# 0x0000 (00) Jatkuva muuntotila, käynnistyksen oletus
config = [0x00, 0x00]
bus.write_i2c_block_data (0x18, 0x01, config)
# MCP9808 -osoite, 0x18 (24)
# Valitse resoluutio rgister, 0x08 (8)
# 0x03 (03) Resoluutio = +0,0625 / C
bus.write_byte_data (0x18, 0x08, 0x03)
time.sleep (0.5) # MCP9808 -osoite, 0x18 (24)
# Lue tiedot takaisin 0x05 (5), 2 tavua
# Lämpötila MSB, TEMP LSB
data = bus.read_i2c_block_data (0x18, 0x05, 2)
# Muunna tiedot 13-bittisiksi
ctemp = ((data [0] & 0x1F) * 256) + data [1]
jos ctemp> 4095:
ctemp -= 8192
ctemp = ctemp * 0,0625
ftemp = ctemp * 1,8 + 32
# Tulosta tiedot näytölle
print "Lämpötila celsiusasteina on: %.2f C" %ctemp
print "Fahrenheit -lämpötila on: %.2f F" %ftemp
Vaihe 4: Sovellukset..:
MCP9808 -digitaalilämpötila -anturilla on useita teollisuuden tason sovelluksia, jotka sisältävät teollisia pakastimia ja jääkaappeja sekä erilaisia elintarvikekoneita. Tätä anturia voidaan käyttää erilaisiin henkilökohtaisiin tietokoneisiin, palvelimiin ja muihin PC -oheislaitteisiin.