Turinys:

Temperatūros matavimas naudojant MCP9803 ir dalelių fotoną: 4 žingsniai
Temperatūros matavimas naudojant MCP9803 ir dalelių fotoną: 4 žingsniai

Video: Temperatūros matavimas naudojant MCP9803 ir dalelių fotoną: 4 žingsniai

Video: Temperatūros matavimas naudojant MCP9803 ir dalelių fotoną: 4 žingsniai
Video: 3 в 1 ZigBee датчик температуры, влажности и освещения с LCD дисплеем 2024, Lapkritis
Anonim
Image
Image

MCP9803 yra 2 laidų didelio tikslumo temperatūros jutiklis. Jie yra su vartotojo programuojamais registrais, palengvinančiais temperatūros jutimo programas. Šis jutiklis tinka labai sudėtingai kelių zonų temperatūros stebėjimo sistemai.

Šioje pamokoje buvo parodyta MCP9803 jutiklio modulio sąsaja su dalelių fotonu. Norėdami nuskaityti temperatūros vertes, naudojome daleles su I2c adapteriu. Šis I2C adapteris leidžia lengvai ir patikimiau prijungti jutiklio modulį.

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

2. Dalelių fotonas

3. I2C kabelis

4. I2C skydas dalelių fotonui

2 veiksmas: prijungimas prie aparatūros:

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

Techninės įrangos prijungimo skyrius iš esmės paaiškina laidų jungtis, reikalingas tarp jutiklio ir dalelių fotono. Užtikrinti teisingas jungtis yra pagrindinė būtinybė dirbant su bet kuria norimos išvesties sistema. Taigi, būtinos jungtys yra šios:

MCP9803 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

Pradėkime nuo dalelių kodo dabar.

Naudodami jutiklio modulį su dalele, įtraukiame „application.h“ir „spark_wiring_i2c.h“biblioteką. Bibliotekoje „application.h“ir spark_wiring_i2c.h yra funkcijos, palengvinančios i2c ryšį tarp jutiklio ir dalelės.

Visas dalelių kodas pateikiamas žemiau, kad būtų patogiau vartotojui:

#įtraukti

#įtraukti

// MCP9803 I2C adresas yra 0x48 (72)

#define Addr 0x48

plūdė cTemp = 0, fTemp = 0;

negaliojanti sąranka ()

{

// Nustatyti kintamąjį

Particle.variable ("i2cdevice", "MCP9803");

Particle.variable ("cTemp", cTemp);

// Inicijuoti I2C komunikaciją kaip MASTER

Wire.begin ();

// Inicijuoti serijinį ryšį, nustatyti duomenų perdavimo spartą = 9600

Serial.begin (9600);

// Pradėti I2C perdavimą

Wire.beginTransmission (Addr);

// Pasirinkite konfigūracijos registrą

Wire.write (0x01);

// Nuolatinio konversijos režimas, numatytasis įjungimas

Wire.write (0x60);

// Sustabdyti I2C perdavimą

Wire.endTransmission ();

vėlavimas (300);

}

tuštumos kilpa ()

{

nepasirašyti int duomenys [2];

// Pradeda I2C ryšį

Wire.beginTransmission (Addr);

// Pasirinkite duomenų registrą

Wire.write (0x00);

// Sustabdyti I2C perdavimą

Wire.endTransmission ();

// Prašyti 2 baitų duomenų

Wire.requestFrom (Addr, 2);

// Skaityti 2 baitus duomenų

// temp msb, temp lsb

jei (Wire.available () == 2)

{

duomenys [0] = Wire.read ();

duomenys [1] = Wire.read ();

}

// Konvertuokite duomenis į 12 bitų

int temp = ((duomenys [0] * 256) + duomenys [1]) / 16,0;

jei (temperatūra> 2047)

{

temperatūra -= 4096;

}

cTemp = temp * 0,0625;

fTemp = cTemp * 1,8 + 32;

// Duomenų išvedimas į serijinį monitorių

Particle.publish ("Temperatūra Celsijaus laipsniais:", Styga (cTemp));

Particle.publish ("Temperatūra Farenheitu:", Styga (fTemp));

vėlavimas (500);

}

Funkcija „Particle.variable ()“sukuria kintamuosius, kad išsaugotų jutiklio išvestį, o „Particle.publish“() rodo išvestį svetainės prietaisų skydelyje.

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

4 žingsnis: programos:

Programos
Programos

„MCP9803“gali būti naudojamas daugelyje įrenginių, kuriuose yra asmeninis kompiuteris ir išoriniai įrenginiai, standieji diskai, įvairios pramogų sistemos, biuro sistemos ir duomenų perdavimo sistemos. Šis jutiklis gali būti integruotas į įvairias sudėtingas sistemas.

Rekomenduojamas: