2025 Autor: John Day | [email protected]. Zadnja promjena: 2025-01-13 06:57
MCP9808 je visoko precizan digitalni senzor temperature ± 0,5 ° C I2C mini modul. Utjelovljeni su s programima koje programira korisnik i olakšavaju primjenu mjerenja temperature. MCP9808 temperaturni senzor visoke preciznosti postao je industrijski standard u pogledu oblika i inteligencije, pružajući kalibrirane, linearizirane signale senzora u digitalnom, I2C formatu. Evo demonstracije s python kodom pomoću Raspberry Pi.
Korak 1: Što vam treba..
1. Malina Pi
2. MCP9808
3. I²C kabel
4. I²C štit za Raspberry Pi
5. Ethernet kabel
Korak 2: Veze
Uzmite I2C štit za malinu pi i nježno je gurnite preko gpio igle maline pi.
Zatim spojite jedan kraj I2C kabela na senzor MCP9808, a drugi kraj na I2C štit.
Također priključite Ethernet kabel na pi ili možete koristiti WiFi modul.
Priključci su prikazani na gornjoj slici.
Korak 3: Kodirajte
Python kod za MCP9808 može se preuzeti s našeg GitHub spremišta- Dcube Store
Evo linka za isto:
github.com/DcubeTechVentures/MCP9808
Tehnički list za MCP9808 možete pronaći ovdje:
ww1.microchip.com/downloads/en/DeviceDoc/25…
Koristili smo knjižnicu SMBus za python kôd, koraci za instaliranje SMBusa na malinu pi opisani su ovdje:
pypi.python.org/pypi/smbus-cffi/0.5.1
Ovdje možete i kopirati kôd, dat je na sljedeći način:
# Distribuirano s licencom slobodne volje.
# Koristite ga kako god želite, profitno ili besplatno, pod uvjetom da se uklapa u licence povezanih djela.
# MCP9808
# Ovaj kôd je dizajniran za rad s MCP9808_I2CS I2C mini modulom dostupnim u trgovini Dcube.
uvoz smbus
vrijeme uvoza
# Nabavite I2C autobus
sabirnica = smbus. SMBus (1)
# Adresa MCP9808, 0x18 (24)
# Odaberite konfiguracijski registar, 0x01 (1)
# 0x0000 (00) Način kontinuirane pretvorbe, zadano uključivanje
config = [0x00, 0x00]
bus.write_i2c_block_data (0x18, 0x01, config)
# Adresa MCP9808, 0x18 (24)
# Odaberite registar rezolucije, 0x08 (8)
# 0x03 (03) Rezolucija = +0,0625 / C
bus.write_byte_data (0x18, 0x08, 0x03)
time.sleep (0.5) # adresa MCP9808, 0x18 (24)
# Pročitajte podatke natrag od 0x05 (5), 2 bajta
# Temp MSB, TEMP LSB
podaci = sabirnica.čitani_i2c_blok_podaci (0x18, 0x05, 2)
# Pretvorite podatke u 13-bitne
ctemp = ((podaci [0] & 0x1F) * 256) + podaci [1]
ako je ctemp> 4095:
ctemp -= 8192
ctemp = ctemp * 0,0625
ftemp = ctemp * 1,8 + 32
# Izlažite podatke na zaslon
ispis "Temperatura u Celzijusima je: %.2f C" %ctemp
ispis "Temperatura u Fahrenheitu je: %.2f F" %ftemp
Korak 4: Aplikacije..:
MCP9808 Digitalni osjetnik temperature ima nekoliko aplikacija na razini industrije koje uključuju industrijske zamrzivače i hladnjake zajedno s raznim procesorima hrane. Ovaj se senzor može koristiti za različita osobna računala, poslužitelje, kao i druge periferne uređaje za računala.