2025 Autor: John Day | [email protected]. Naposledy zmenené: 2025-01-13 06:58
MCP9808 je vysoko presný digitálny snímač teploty I2C ± 0,5 ° C. Sú vybavené užívateľsky programovateľnými registrami, ktoré uľahčujú aplikácie snímania teploty. Vysoko presný teplotný senzor MCP9808 sa stal priemyselným štandardom z hľadiska tvarového faktora a inteligencie a poskytuje kalibrované, linearizované signály zo senzorov v digitálnom formáte I2C. Tu je ukážka s kódom pythonu pomocou Raspberry Pi.
Krok 1: Čo potrebujete.. !
1. Raspberry Pi
2. MCP9808
3. Kábel I²C
4. I²C štít pre Raspberry Pi
5. Ethernetový kábel
Krok 2: Pripojenia
Vezmite I2C štít na malinový pi a jemne ho zatlačte cez gpio kolíky malinového pi.
Potom pripojte jeden koniec kábla I2C k senzoru MCP9808 a druhý koniec k štítu I2C.
Pripojte tiež ethernetový kábel k pí alebo môžete použiť modul WiFi.
Pripojenia sú znázornené na obrázku vyššie.
Krok 3: Kód
Pythonový kód pre MCP9808 je možné stiahnuť z nášho úložiska GitHub- Dcube Store
Tu je odkaz na to isté:
github.com/DcubeTechVentures/MCP9808
Dátový list MCP9808 nájdete tu:
ww1.microchip.com/downloads/en/DeviceDoc/25…
Na kód pythonu sme použili knižnicu SMBus, kroky na inštaláciu SMBus na Raspberry Pi sú popísané tu:
pypi.python.org/pypi/smbus-cffi/0.5.1
Odtiaľto môžete tiež skopírovať kód, ktorý je nasledujúci:
# Distribuované s licenciou slobodnej vôle.
# Používajte ho akýmkoľvek spôsobom chcete, so ziskom alebo zadarmo, za predpokladu, že sa zmestí do licencií súvisiacich diel.
# MCP9808
# Tento kód je navrhnutý tak, aby fungoval s mini modulom MCP9808_I2CS I2C dostupným v obchode Dcube Store.
import smbus
čas importu
# Získajte autobus I2C
bus = smbus. SMBus (1)
# Adresa MCP9808, 0x18 (24)
# Vyberte konfiguračný register, 0x01 (1)
# 0x0000 (00) Režim nepretržitej konverzie, predvolené nastavenie pri zapnutí
konfigurácia = [0x00, 0x00]
bus.write_i2c_block_data (0x18, 0x01, konfigurácia)
# Adresa MCP9808, 0x18 (24)
# Vyberte rozlíšenie rgister, 0x08 (8)
# 0x03 (03) Rozlíšenie = +0,0625 / C
bus.write_byte_data (0x18, 0x08, 0x03)
time.sleep (0,5) # adresa MCP9808, 0x18 (24)
# Načítajte údaje späť z 0x05 (5), 2 bajtov
# Temp MSB, TEMP LSB
data = bus.read_i2c_block_data (0x18, 0x05, 2)
# Konvertujte údaje na 13-bitové
ctemp = ((údaje [0] & 0x1F) * 256) + údaje [1]
ak ctemp> 4095:
ctemp -= 8192
ctemp = ctemp * 0,0625
ftemp = ctemp * 1,8 + 32
# Výstup údajov na obrazovku
vytlačiť "Teplota v stupňoch Celzia je: %.2f C" %ctemp
vytlačiť "Teplota vo Fahrenheite je: %.2f F" %ftemp
Krok 4: Aplikácie..:
Digitálny snímač teploty MCP9808 má niekoľko aplikácií na priemyselnej úrovni, ktoré obsahujú priemyselné mrazničky a chladničky spolu s rôznymi kuchynskými robotmi. Tento senzor je možné použiť pre rôzne osobné počítače, servery a ďalšie periférie počítača.