Kazalo:

Nadzor temperature z uporabo MCP9808 in fotona delcev: 4 koraki
Nadzor temperature z uporabo MCP9808 in fotona delcev: 4 koraki

Video: Nadzor temperature z uporabo MCP9808 in fotona delcev: 4 koraki

Video: Nadzor temperature z uporabo MCP9808 in fotona delcev: 4 koraki
Video: Иоша Бах: время, гипотеза моделирования, существование 2024, Julij
Anonim
Image
Image

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.

V tej vadnici je bilo prikazano povezovanje senzorskega modula MCP9808 s fotonom delcev. Za odčitavanje temperaturnih vrednosti smo uporabili malinovo pi z adapterjem I2c, ki omogoča enostavno in zanesljivo povezavo s senzorskim modulom.

1. korak: Potrebna strojna oprema:

Potrebna strojna oprema
Potrebna strojna oprema
Potrebna strojna oprema
Potrebna strojna oprema
Potrebna strojna oprema
Potrebna strojna oprema

Materiali, ki jih potrebujemo za dosego našega cilja, vključujejo naslednje komponente strojne opreme:

1. MCP9808

2. Foton delcev

3. Kabel I2C

4. I2C ščit za foton delcev

2. korak: Priključitev strojne opreme:

Priključitev strojne opreme
Priključitev strojne opreme
Priključitev strojne opreme
Priključitev strojne opreme

Oddelek za priključitev strojne opreme v bistvu razlaga potrebne povezave ožičenja med senzorjem in fotonom delcev. Zagotavljanje pravilnih povezav je osnovna potreba pri delu na katerem koli sistemu za želeni izhod. Torej so potrebne povezave naslednje:

MCP9808 bo deloval prek I2C. Tu je primer sheme ožičenja, ki prikazuje, kako povezati vsak vmesnik senzorja.

Plošča je že pripravljena za vmesnik I2C, zato priporočamo uporabo te povezave, če niste agnostični. Vse kar potrebujete so štiri žice!

Potrebne so le štiri povezave Vcc, Gnd, SCL in SDA, ki so povezane s kablom I2C.

Te povezave so prikazane na zgornjih slikah.

3. korak: Koda za merjenje temperature:

Koda za merjenje temperature
Koda za merjenje temperature

Začnimo s kodo delcev.

Med uporabo senzorskega modula z arduinom vključujemo knjižnico application.h in spark_wiring_i2c.h. Knjižnica "application.h" in spark_wiring_i2c.h vsebuje funkcije, ki olajšajo komunikacijo i2c med senzorjem in delcem.

Za udobje uporabnika je spodaj navedena celotna koda delcev:

#vključi

#vključi

// Naslov MCP9808 I2C je 0x18 (24)

#define Addr 0x18

float cTemp = 0, fTemp = 0;

void setup ()

{

// Nastavi spremenljivko

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

Delci.variable ("cTemp", cTemp);

// Inicializirajte komunikacijo I2C kot MASTER

Wire.begin ();

// Začetek serijske komunikacije, nastavljena hitrost prenosa = 9600

Serial.begin (9600);

// Zagon prenosa I2C

Wire.beginTransmission (Addr);

// Izberite konfiguracijski register

Wire.write (0x01);

// Način neprekinjene pretvorbe, privzeti vklop

Wire.write (0x00);

Wire.write (0x00);

// Ustavi prenos I2C

Wire.endTransmission ();

// Zagon prenosa I2C

Wire.beginTransmission (Addr);

// Izberite rgister za ločljivost

Wire.write (0x08);

// Ločljivost = +0,0625 / C

Wire.write (0x03);

// Ustavi prenos I2C

Wire.endTransmission ();

zamuda (300);

}

void loop ()

{

podpisani int podatki [2];

// Zažene komunikacijo I2C

Wire.beginTransmission (Addr);

// Izberite register podatkov

Wire.write (0x05);

// Ustavi prenos I2C

Wire.endTransmission ();

// Zahtevajte 2 bajta podatkov

Wire.requestFrom (Addr, 2);

// Preberite 2 bajta podatkov

// temp msb, temp lsb

če (Wire.available () == 2)

{

podatki [0] = Wire.read ();

podatki [1] = Wire.read ();

}

zamuda (300);

// Pretvorimo podatke v 13-bitne

int temp = ((podatki [0] & 0x1F) * 256 + podatki [1]);

če (temp> 4095)

{

temp -= 8192;

}

cTemp = temp * 0,0625;

fTemp = cTemp * 1,8 + 32;

// Izhod podatkov na nadzorno ploščo

Particle.publish ("Temperatura v Celzijusi:", String (cTemp));

Particle.publish ("Temperatura v Fahrenheitu:", String (fTemp));

zamuda (500);

}

Funkcija Particle.variable () ustvari spremenljivke za shranjevanje izhoda senzorja, funkcija Particle.publish () pa prikaže izpis na nadzorni plošči spletnega mesta.

Izhod senzorja je za vašo referenco prikazan na zgornji sliki.

4. korak: Aplikacije:

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

Priporočena: