Taula de continguts:

Mesura de la temperatura mitjançant MCP9803 i Raspberry Pi: 4 passos
Mesura de la temperatura mitjançant MCP9803 i Raspberry Pi: 4 passos

Vídeo: Mesura de la temperatura mitjançant MCP9803 i Raspberry Pi: 4 passos

Vídeo: Mesura de la temperatura mitjançant MCP9803 i Raspberry Pi: 4 passos
Vídeo: Termòmetre Neopixel 2024, Juliol
Anonim
Image
Image

MCP9803 és un sensor de temperatura d’alta precisió de 2 fils. S'incorporen amb registres programables per l'usuari que faciliten les aplicacions de detecció de temperatura. Aquest sensor és adequat per a un sistema de control de temperatura multi-zona molt sofisticat.

En aquest tutorial es demostra la interfície del mòdul de sensor MCP9803 amb raspberry pi i també s'ha il·lustrat la seva programació mitjançant llenguatge Java. Per llegir els valors de temperatura, hem utilitzat raspberry pi amb un adaptador I2C. Aquest adaptador I2C fa que la connexió al mòdul del sensor sigui més fàcil i fiable.

Pas 1: maquinari necessari:

Maquinari necessari
Maquinari necessari
Maquinari necessari
Maquinari necessari
Maquinari necessari
Maquinari necessari

Els materials que necessitem per assolir el nostre objectiu inclouen els components de maquinari següents:

1. MCP9803

2. Raspberry pi

3. Cable I2C

4. Escut I2C per a gerds pi

5. Cable Ethernet

Pas 2: connexió de maquinari:

Connexió de maquinari
Connexió de maquinari
Connexió de maquinari
Connexió de maquinari

La secció de connexió de maquinari explica bàsicament les connexions de cablejat necessàries entre el sensor i el raspberry pi. Garantir connexions correctes és la necessitat bàsica mentre es treballa en qualsevol sistema per a la sortida desitjada. Per tant, les connexions necessàries són les següents:

El MCP9803 funcionarà sobre I2C. Aquí teniu un exemple de diagrama de cablejat, que demostra com connectar cada interfície del sensor.

Fora de la caixa, el tauler està configurat per a una interfície I2C, per tant, us recomanem que utilitzeu aquesta connexió si no sou agnòstic.

Tot el que necessiteu són quatre cables. Només es necessiten quatre connexions pins Vcc, Gnd, SCL i SDA i es connecten amb l'ajut del cable I2C.

Aquestes connexions es mostren a les imatges anteriors.

Pas 3: codi per a la mesura de la temperatura:

Codi de mesura de temperatura
Codi de mesura de temperatura

L’avantatge d’utilitzar el raspberry pi és que us proporciona la flexibilitat del llenguatge de programació en què voleu programar la placa per tal d’interfocar el sensor amb ella. Aprofitant aquest avantatge d’aquest tauler, demostrem aquí que està programant a Java. El codi Java per a MCP9803 es pot descarregar de la nostra comunitat Github, que és Dcube Store.

A més de la facilitat dels usuaris, aquí també expliquem el codi:

Com a primer pas de codificació, heu de descarregar la biblioteca pi4j en cas de Java perquè aquesta biblioteca admet les funcions utilitzades al codi. Per tant, per descarregar la biblioteca podeu visitar el següent enllaç:

pi4j.com/install.html

Podeu copiar el codi Java de treball d’aquest sensor també des d’aquí:

import com.pi4j.io.i2c. I2CBus;

import com.pi4j.io.i2c. I2CDevice;

import com.pi4j.io.i2c. I2CFactory;

import java.io. IOException; classe pública MCP9803

{

public static void main (String args ) llança Excepció

{

// Crea un bus I2C

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

// Obteniu un dispositiu I2C, l’adreça I2C MCP9803 és 0x48 (72)

I2CDevice device = Bus.getDevice (0x48);

// Seleccioneu el registre de configuració

// Mode de conversió contínua, engegada, mode comparador, resolució de 12 bits

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

Thread.sleep (500);

// Llegir 2 bytes de dades de l'adreça 0x00 (0)

// temp msb, temp lsb

byte dades = byte nou [2];

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

// Converteix les dades a 12 bits

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

si (temp> 2047)

{

temp - = 4096;

}

doble cTemp = temp * 0,0625;

doble fTemp = cTemp * 1,8 + 32;

// Sortiu les dades a la pantalla

System.out.printf ("La temperatura en centígrads és:%.2f C% n", cTemp);

System.out.printf ("La temperatura en Fahrenheit és:%.2f F% n", fTemp);

}

}

La biblioteca que facilita la comunicació i2c entre el sensor i la placa és pi4j, els seus diversos paquets I2CBus, I2CDevice i I2CFactory ajuden a establir la connexió.

import com.pi4j.io.i2c. I2CBus;

import com.pi4j.io.i2c. I2CDevice;

import com.pi4j.io.i2c. I2CFactory;

importació java.io. IOException;

Les funcions write () i read () s’utilitzen per escriure algunes ordres particulars al sensor per fer-lo funcionar en un mode particular i llegir la sortida del sensor respectivament.

La sortida del sensor també es mostra a la imatge superior.

Pas 4: aplicacions:

Aplicacions
Aplicacions

MCP9803 es pot utilitzar en una àmplia gamma de dispositius que inclouen ordinadors personals i perifèrics, unitats de disc dur, diversos sistemes d'entreteniment, sistemes d'oficina i sistemes de comunicació de dades. Aquest sensor es pot incorporar en diversos sistemes sofisticats.

Recomanat: