Turinys:

Temperatūros stebėjimas naudojant MCP9808 ir Raspberry Pi: 4 žingsniai
Temperatūros stebėjimas naudojant MCP9808 ir Raspberry Pi: 4 žingsniai

Video: Temperatūros stebėjimas naudojant MCP9808 ir Raspberry Pi: 4 žingsniai

Video: Temperatūros stebėjimas naudojant MCP9808 ir Raspberry Pi: 4 žingsniai
Video: Высокая плотность 2022 2024, Lapkritis
Anonim
Image
Image

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.

Šioje pamokoje parodyta MCP9808 jutiklio modulio sąsaja su aviečių pi ir taip pat iliustruotas jo programavimas naudojant python kalbą. Norėdami nuskaityti temperatūros reikšmes, mes naudojome aviečių pi su I2c adapteriu. Šis I2C adapteris leidžia lengvai ir patikimiau prijungti prie jutiklio modulio.

1 veiksmas: reikalinga aparatūra:

Reikalinga aparatūra
Reikalinga aparatūra
Reikalinga aparatūra
Reikalinga aparatūra
Reikalinga aparatūra
Reikalinga aparatūra

Medžiagos, reikalingos mūsų tikslui pasiekti, apima šiuos aparatūros komponentus:

1. MCP9808

2. Raspberry Pi

3. I2C kabelis

4. I2C skydas avietėms pi

5. Ethernet kabelis

2 veiksmas: prijungimas prie aparatūros:

Aparatūros prijungimas
Aparatūros prijungimas
Aparatūros prijungimas
Aparatūros prijungimas

Techninės įrangos prijungimo skyriuje iš esmės paaiškinamos reikalingos laidų jungtys tarp jutiklio ir aviečių pi. Užtikrinti teisingas jungtis yra pagrindinė būtinybė dirbant su bet kuria norimos išvesties sistema. Taigi, būtinos jungtys yra šios:

MCP9808 veiks per I2C. Čia yra elektros instaliacijos schemos pavyzdys, parodantis, kaip prijungti kiekvieną jutiklio sąsają.

Iš karto plokštė sukonfigūruota I2C sąsajai, todėl rekomenduojame naudoti šį prijungimą, jei esate kitaip agnostikas. Viskas, ko jums reikia, yra keturi laidai!

Reikia tik keturių jungčių „Vcc“, „Gnd“, „SCL“ir „SDA“kaiščių, kurie yra prijungti naudojant I2C kabelį.

Šie ryšiai parodyti aukščiau esančiose nuotraukose.

3 žingsnis: Temperatūros matavimo kodas:

Temperatūros matavimo kodas
Temperatūros matavimo kodas

„Raspberry pi“naudojimo pranašumas yra tai, kad suteikia lankstumo programavimo kalbai, kuria norite programuoti plokštę, kad su ja susietumėte jutiklį. Pasinaudoję šiuo šios plokštės pranašumu, mes čia demonstruojame jos programavimą python'e. „Python“yra viena iš paprasčiausių programavimo kalbų, turinti lengviausią sintaksę. „MCP9808“python kodą galima atsisiųsti iš mūsų „github“bendruomenės, kuri yra „DCUBE Store Community“.

Be vartotojų patogumo, mes taip pat paaiškiname kodą čia:

Pirmasis kodavimo žingsnis yra „Python“atveju atsisiųsti „SMBus“biblioteką, nes ši biblioteka palaiko kode naudojamas funkcijas. Taigi, norėdami atsisiųsti biblioteką, galite apsilankyti šioje nuorodoje:

pypi.python.org/pypi/smbus-cffi/0.5.1

Taip pat galite nukopijuoti darbo kodą iš čia:

importuoti smbus

importo laikas

# Gaukite I2C magistralę = 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, config)

# 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)

laikas. miegas (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

Kodas vykdomas naudojant šią komandą:

$> python MCP9808.py gt; python MCP9808.py

gt; python MCP9808.py

Jutiklio išvestis yra parodyta aukščiau esančiame paveikslėlyje vartotojo naudai.

4 žingsnis: programos:

Programos
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.

Rekomenduojamas: