Kazalo:

Merjenje temperature z uporabo MCP9803 in Raspberry Pi: 4 koraki
Merjenje temperature z uporabo MCP9803 in Raspberry Pi: 4 koraki

Video: Merjenje temperature z uporabo MCP9803 in Raspberry Pi: 4 koraki

Video: Merjenje temperature z uporabo MCP9803 in Raspberry Pi: 4 koraki
Video: Как использовать датчик переменного/постоянного тока Allegro ACS712 с Arduino 2024, Julij
Anonim
Image
Image

MCP9803 je dvožični temperaturni senzor visoke natančnosti. Poosebljeni so s programi, ki jih lahko programira uporabnik in olajšajo aplikacije zaznavanja temperature. Ta senzor je primeren za zelo izpopolnjen večzonski sistem za spremljanje temperature.

V tej vadnici je prikazano povezovanje senzorskega modula MCP9803 z malino pi, ponazorjeno pa je tudi njegovo programiranje z jezikom Java. 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. MCP9803

2. Malina pi

3. Kabel I2C

4. I2C ščit za malinovo pi

5. Ethernetni kabel

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 malinovim pi. Zagotavljanje pravilnih povezav je osnovna potreba pri delu na katerem koli sistemu za želeni izhod. Torej so potrebne povezave naslednje:

MCP9803 bo deloval preko 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

Prednost uporabe maline pi je, da vam omogoča prilagodljivost programskega jezika, v katerem želite programirati ploščo, da povežete senzor z njo. Če izkoristimo to prednost te plošče, tukaj dokazujemo, da je programiranje v Javi. Kodo java za MCP9803 lahko prenesete iz naše skupnosti Github, to je Dcube Store.

Poleg lažjega uporabnika kodo razlagamo tudi tukaj:

Kot prvi korak kodiranja morate v primeru jave prenesti knjižnico pi4j, ker ta knjižnica podpira funkcije, ki se uporabljajo v kodi. Če želite prenesti knjižnico, obiščite naslednjo povezavo:

pi4j.com/install.html

Delovno kodo java za ta senzor lahko kopirate tudi tukaj:

uvoz com.pi4j.io.i2c. I2CBus;

uvoz com.pi4j.io.i2c. I2CDevice;

uvoz com.pi4j.io.i2c. I2CFactory;

import java.io. IOException; javni razred MCP9803

{

public static void main (String args ) vrže Exception

{

// Ustvari vodilo I2C

Vodilo I2CBus = I2CFactory.getInstance (I2CBus. BUS_1);

// Pridobite napravo I2C, naslov MCP9803 I2C je 0x48 (72)

Naprava I2CDevice = Bus.getDevice (0x48);

// Izberite konfiguracijski register

// Način neprekinjene pretvorbe, vklop, primerjalni način, 12-bitna ločljivost

device.write (0x01, (bajt) 0x60);

Thread.sleep (500);

// branje 2 bajtov podatkov z naslova 0x00 (0)

// temp msb, temp lsb

bajt podatki = novi bajt [2];

device.read (0x00, podatki, 0, 2);

// Pretvorimo podatke v 12-bitne

int temp = ((podatki [0] & 0xFF) * 256 + (podatki [1] & 0xF0)) / 16;

če (temp> 2047)

{

temp -= 4096;

}

dvojni cTemp = temp * 0,0625;

dvojni fTemp = cTemp * 1,8 + 32;

// Izhod podatkov na zaslon

System.out.printf ("Temperatura v Celziju je: %.2f C %n", cTemp);

System.out.printf ("Temperatura v Fahrenheitu je: %.2f F %n", fTemp);

}

}

Knjižnica, ki olajša komunikacijo i2c med senzorjem in ploščo, je pi4j, njeni različni paketi I2CBus, I2CDevice in I2CFactory pa pomagajo vzpostaviti povezavo.

uvoz com.pi4j.io.i2c. I2CBus;

uvoz com.pi4j.io.i2c. I2CDevice;

uvoz com.pi4j.io.i2c. I2CFactory;

uvoz java.io. IOException;

funkcije write () in read () se uporabljajo za zapisovanje določenih ukazov na senzor, da deluje v določenem načinu, in za branje izhoda senzorja.

Izhod senzorja je prikazan tudi na zgornji sliki.

4. korak: Aplikacije:

Aplikacije
Aplikacije

MCP9803 je mogoče uporabiti na širokem področju naprav, ki vključujejo osebne računalnike in zunanje naprave, trde diske, različne zabavne sisteme, pisarniške sisteme in sisteme za podatkovno komunikacijo. Ta senzor je mogoče vgraditi v različne napredne sisteme.

Priporočena: