Turinys:
2025 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2025-01-13 06:57
MCP9808 yra labai tikslus skaitmeninis temperatūros jutiklis ± 0,5 ° C I2C mini modulis. Jie yra su vartotojo programuojamais registrais, palengvinančiais temperatūros jutimo programas. Aukšto tikslumo temperatūros jutiklis MCP9808 tapo pramonės standartu pagal formos faktorių ir intelektą, teikiant kalibruotus, linijinius jutiklių signalus skaitmeniniu, I2C formatu. Čia yra demonstracija su python kodu naudojant „Raspberry Pi“.
1 žingsnis: ko jums reikia..
1. Avietė Pi
2. MCP9808
3. I²C kabelis
4. „I²C Shield“, skirtas „Raspberry Pi“
5. Ethernet kabelis
2 žingsnis: jungtys
Paimkite aviečių pi I2C skydą ir švelniai stumkite jį virš aviečių pi gpio kaiščių.
Tada vieną I2C kabelio galą prijunkite prie MCP9808 jutiklio, o kitą - prie I2C skydo.
Taip pat prijunkite Ethernet kabelį prie pi arba galite naudoti „WiFi“modulį.
Sujungimai parodyti aukščiau esančiame paveikslėlyje.
3 žingsnis: kodas
„MCP9808“python kodą galima atsisiųsti iš mūsų „GitHub“saugyklos- „Dcube Store“
Čia yra nuoroda į tą patį:
github.com/DcubeTechVentures/MCP9808
MCP9808 duomenų lapą rasite čia:
ww1.microchip.com/downloads/en/DeviceDoc/25…
„Python“kodui naudojome „SMBus“biblioteką, čia aprašyti SMBus diegimo „Raspberry pi“veiksmai:
pypi.python.org/pypi/smbus-cffi/0.5.1
Taip pat galite nukopijuoti kodą iš čia, jis pateikiamas taip:
# Platinama su laisvos valios licencija.
# Naudokite bet kokiu būdu, pelningai ar nemokamai, jei jis atitinka su juo susijusių darbų licencijas.
# MCP9808
# Šis kodas skirtas dirbti su „MCP9808_I2CS I2C Mini“moduliu, kurį galima įsigyti „Dcube Store“.
importuoti smbus
importo laikas
# Gaukite I2C autobusą
autobusas = smbus. SMBus (1)
# MCP9808 adresas, 0x18 (24)
# Pasirinkite konfigūracijos registrą, 0x01 (1)
# 0x0000 (00) Nuolatinio konversijos režimas, numatytasis įjungimas
config = [0x00, 0x00]
bus.write_i2c_block_data (0x18, 0x01, konfigūracija)
# MCP9808 adresas, 0x18 (24)
# Pasirinkite skiriamąją gebą rgister, 0x08 (8)
# 0x03 (03) Skiriamoji geba = +0,0625 / C
bus.write_byte_data (0x18, 0x08, 0x03)
time.sleep (0.5) # MCP9808 adresas, 0x18 (24)
# Perskaitykite duomenis iš 0x05 (5), 2 baitų
# Temp MSB, TEMP LSB
duomenys = autobusas.read_i2c_block_data (0x18, 0x05, 2)
# Konvertuokite duomenis į 13 bitų
ctemp = ((duomenys [0] ir 0x1F) * 256) + duomenys [1]
jei ctemp> 4095:
ctemp -= 8192
ctemp = ctemp * 0,0625
ftemp = ctemp * 1,8 + 32
# Išveskite duomenis į ekraną
spausdinti "Temperatūra Celsijaus: %.2f C" %ctemp
spausdinti "Temperatūra Farenheitu yra: %.2f F" %ftemp
4 žingsnis: programos..:
MCP9808 skaitmeninis temperatūros jutiklis turi keletą pramonės lygių programų, kuriose yra pramoniniai šaldikliai ir šaldytuvai bei įvairūs maisto perdirbimo įrenginiai. Šis jutiklis gali būti naudojamas įvairiems asmeniniams kompiuteriams, serveriams ir kitiems kompiuterių periferiniams įrenginiams.