Sisällysluettelo:

Lämpötilan valvonta MCP9808: n ja Arduino Nanon avulla: 4 vaihetta
Lämpötilan valvonta MCP9808: n ja Arduino Nanon avulla: 4 vaihetta

Video: Lämpötilan valvonta MCP9808: n ja Arduino Nanon avulla: 4 vaihetta

Video: Lämpötilan valvonta MCP9808: n ja Arduino Nanon avulla: 4 vaihetta
Video: #15 HC 05 Bluetooth Modbus Android HMI | Внешний ПЛК Arduino 2024, Marraskuu
Anonim
Image
Image

MCP9808 on erittäin tarkka digitaalinen lämpötila -anturi ± 0,5 ° C I2C minimoduuli. Ne on varustettu käyttäjän ohjelmoitavilla rekistereillä, jotka helpottavat lämpötilan tunnistamista. Korkean tarkkuuden MCP9808-lämpötila-anturista on tullut muodon ja älykkyyden kannalta alan standardi, joka tarjoaa kalibroituja, lineaarisia anturisignaaleja digitaalisessa I2C-muodossa.

Tässä opetusohjelmassa on osoitettu MCP9808 -anturimoduulin liittäminen arduino nanoon. Lämpötila -arvojen lukemiseen olemme käyttäneet vadelma pi: tä I2c -sovittimen kanssa. Tämä I2C -sovitin tekee liitännän anturimoduuliin helppoa ja luotettavaa.

Vaihe 1: Tarvittava laitteisto:

Tarvittava laitteisto
Tarvittava laitteisto
Tarvittava laitteisto
Tarvittava laitteisto
Tarvittava laitteisto
Tarvittava laitteisto

Tavoitteemme saavuttamiseen tarvittavat materiaalit sisältävät seuraavat laitteistokomponentit:

1. MCP9808

2. Arduino Nano

3. I2C -kaapeli

4. I2C Shield Arduino nanolle

Vaihe 2: Laitteiston kytkentä:

Laitteiston kytkentä
Laitteiston kytkentä
Laitteiston kytkentä
Laitteiston kytkentä

Laitteiston kytkentäosio selittää periaatteessa anturin ja arduino nanon väliset tarvittavat johdot. Oikeiden liitosten varmistaminen on perustarve, kun työskentelet minkä tahansa järjestelmän kanssa halutun lähdön saavuttamiseksi. Tarvittavat liitännät ovat siis seuraavat:

MCP9808 toimii I2C: n kautta. Tässä on esimerkki kytkentäkaaviosta, joka osoittaa, miten anturin jokainen liitäntä kytketään.

Valmis levy on konfiguroitu I2C-rajapintaa varten, joten suosittelemme käyttämään tätä kytkentää, jos olet muuten agnostikko. Tarvitset vain neljä johtoa!

Tarvitaan vain neljä liitäntää Vcc, Gnd, SCL ja SDA, ja ne on kytketty I2C -kaapelin avulla.

Nämä yhteydet on esitetty yllä olevissa kuvissa.

Vaihe 3: Lämpötilan mittauskoodi:

Lämpötilan mittauskoodi
Lämpötilan mittauskoodi

Aloitetaan nyt Arduino -koodilla.

Kun käytät anturimoduulia Arduinon kanssa, sisällytämme Wire.h -kirjaston. "Wire" -kirjasto sisältää toiminnot, jotka helpottavat i2c -tiedonsiirtoa anturin ja Arduino -kortin välillä.

Koko Arduino -koodi on alla käyttäjän mukavuuden vuoksi:

#sisältää

// MCP9808 I2C -osoite on 0x18 (24)

#define Addr 0x18

mitätön asennus ()

{

// Alusta I2C -viestintä MASTERiksi

Wire.begin ();

// Alusta sarjaliikenne, aseta baudinopeus = 9600

Sarja.alku (9600);

// Käynnistä I2C -lähetys

Wire.beginTransmission (Addr);

// Valitse määritysrekisteri

Wire.write (0x01);

// Jatkuva muuntotila, käynnistyksen oletus

Wire.write (0x00);

Wire.write (0x00);

// Pysäytä I2C -lähetys

Wire.endTransmission ();

// Käynnistä I2C -lähetys

Wire.beginTransmission (Addr);

// Valitse tarkkuusrekisteri

Wire.write (0x08);

// Resoluutio = +0,0625 / C

Wire.write (0x03);

// Pysäytä I2C -lähetys

Wire.endTransmission ();

}

tyhjä silmukka ()

{

allekirjoittamaton int -data [2];

// Käynnistää I2C -viestinnän

Wire.beginTransmission (Addr);

// Valitse tietorekisteri

Wire.write (0x05);

// Pysäytä I2C -lähetys

Wire.endTransmission ();

// Pyydä 2 tavua dataa

Wire.requestFrom (Addr, 2);

// Lue 2 tavua dataa

// temp MSB, temp LSB

jos (Wire.available () == 2)

{

data [0] = Wire.read ();

data [1] = Wire.read ();

}

// Muunna tiedot 13-bittisiksi

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

jos (lämpötila> 4095)

{

lämpötila -= 8192;

}

kelluva cTemp = lämpötila * 0,0625;

kelluva fTemp = cTemp * 1,8 + 32;

// Tulosta tiedot näytölle

Serial.print ("Lämpötila celsiusasteina:");

Sarja.println (cTemp);

Serial.println ("C");

Serial.print ("Lämpötila Fahrenheit:");

Sarja.println (fTemp);

Serial.println ("F");

viive (500);

}

Johdinkirjastossa Wire.write () ja Wire.read () käytetään komentojen kirjoittamiseen ja anturilähdön lukemiseen.

Serial.print () ja Serial.println () käytetään anturin lähdön näyttämiseen Arduino IDE: n sarjamonitorissa.

Anturin lähtö näkyy yllä olevassa kuvassa.

Vaihe 4: Sovellukset:

Sovellukset
Sovellukset

MCP9808 -digitaalilämpötila -anturilla on useita teollisuuden tason sovelluksia, jotka sisältävät teollisia pakastimia ja jääkaappeja sekä erilaisia elintarvikekoneita. Tätä anturia voidaan käyttää erilaisiin henkilökohtaisiin tietokoneisiin, palvelimiin ja muihin PC -oheislaitteisiin.

Suositeltava: