2025 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2025-01-13 06:58
MCP9808 je zelo natančen digitalni temperaturni senzor ± 0,5 ° C I2C mini modul. Poosebljeni so s programi, ki jih lahko programira uporabnik in olajšajo aplikacije zaznavanja temperature. Visoko natančni temperaturni senzor MCP9808 je postal industrijski standard v smislu oblike in inteligence, saj zagotavlja umerjene, linearizirane senzorske signale v digitalnem formatu I2C. Tukaj je predstavitev s kodo python z uporabo Raspberry Pi.
Korak: Kaj potrebujete.. !
1. Malina Pi
2. MCP9808
3. Kabel I²C
4. I²C ščit za Raspberry Pi
5. Ethernetni kabel
2. korak: Povezave
Za malino pi vzemite ščit I2C in ga nežno potisnite čez zatiče gpio maline pi.
Nato en konec kabla I2C priključite na senzor MCP9808, drugi konec pa na ščit I2C.
Ethernetni kabel priključite tudi na pi ali pa uporabite modul WiFi.
Povezave so prikazane na zgornji sliki.
3. korak: Koda
Kodo python za MCP9808 lahko prenesete iz našega skladišča GitHub- Dcube Store
Tukaj je povezava za isto:
github.com/DcubeTechVentures/MCP9808
Tehnični list MCP9808 najdete tukaj:
ww1.microchip.com/downloads/en/DeviceDoc/25…
Za kodo python smo uporabili knjižnico SMBus, koraki za namestitev SMBus na malino pi so opisani tukaj:
pypi.python.org/pypi/smbus-cffi/0.5.1
Kodo lahko tudi kopirate od tu, podana je na naslednji način:
# Razdeljeno z licenco za svobodno voljo.
# Uporabite ga kakor koli želite, dobičkonosno ali brezplačno, pod pogojem, da ustreza licencam pripadajočih del.
# MCP9808
# Ta koda je zasnovana za delo z mini modulom MCP9808_I2CS I2C, ki je na voljo v trgovini Dcube.
uvoz smbus
čas uvoza
# Pridobite avtobus I2C
vodilo = smbus. SMBus (1)
# Naslov MCP9808, 0x18 (24)
# Izberite konfiguracijski register, 0x01 (1)
# 0x0000 (00) Način neprekinjene pretvorbe, privzeti vklop
config = [0x00, 0x00]
bus.write_i2c_block_data (0x18, 0x01, config)
# Naslov MCP9808, 0x18 (24)
# Izberite ločljivost rgister, 0x08 (8)
# 0x03 (03) Ločljivost = +0,0625 / C
bus.write_byte_data (0x18, 0x08, 0x03)
time.sleep (0.5) # naslov MCP9808, 0x18 (24)
# Preberite podatke nazaj od 0x05 (5), 2 bajta
# Temp MSB, TEMP LSB
data = bus.read_i2c_block_data (0x18, 0x05, 2)
# Pretvorite podatke v 13-bitne
ctemp = ((podatki [0] & 0x1F) * 256) + podatki [1]
če je ctemp> 4095:
ctemp -= 8192
ctemp = ctemp * 0,0625
ftemp = ctemp * 1,8 + 32
# Iznesite podatke na zaslon
natisni "Temperatura v Celzijah je: %.2f C" %ctemp
print "Temperatura v Fahrenheitu je: %.2f F" %ftemp
4. korak: Aplikacije..:
Digitalni temperaturni senzor MCP9808 ima več industrijskih aplikacij, ki vključujejo industrijske zamrzovalnike in hladilnike skupaj z različnimi predelovalci hrane. Ta senzor se lahko uporablja za različne osebne računalnike, strežnike in drugo zunanjo opremo za osebne računalnike.