Taula de continguts:

Monitorització de temperatura mitjançant MCP9808 i Arduino Nano: 4 passos
Monitorització de temperatura mitjançant MCP9808 i Arduino Nano: 4 passos

Vídeo: Monitorització de temperatura mitjançant MCP9808 i Arduino Nano: 4 passos

Vídeo: Monitorització de temperatura mitjançant MCP9808 i Arduino Nano: 4 passos
Vídeo: Overview of Autonomic Disorders 2024, Desembre
Anonim
Image
Image

MCP9808 és un mini mòdul I2C de sensor de temperatura digital d’alta precisió de ± 0,5 ° C. S'incorporen amb registres programables per l'usuari que faciliten les aplicacions de detecció de temperatura. El sensor de temperatura d’alta precisió MCP9808 s’ha convertit en un estàndard de la indústria en termes de factor de forma i intel·ligència, proporcionant senyals calibrats i linealitzats del sensor en format I2C digital.

En aquest tutorial s'ha demostrat la interfície del mòdul de sensor MCP9808 amb arduino nano. 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. MCP9808

2. Arduino Nano

3. Cable I2C

4. Escut I2C per a Arduino nano

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 l'arduino nano. 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 MCP9808 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

Comencem ara amb el codi Arduino.

Mentre s’utilitza el mòdul de sensor amb l’Arduino, incloem la biblioteca Wire.h. La biblioteca "Wire" conté les funcions que faciliten la comunicació i2c entre el sensor i la placa Arduino.

A continuació es proporciona tot el codi Arduino per a la comoditat de l’usuari:

#incloure

// L’adreça MCP9808 I2C és 0x18 (24)

#define Addr 0x18

configuració nul·la ()

{

// Inicialitzar la comunicació I2C com a MASTER

Wire.begin ();

// Inicialitzar la comunicació en sèrie, establir la velocitat de transmissió = 9600

Serial.begin (9600);

// Inicieu la transmissió I2C

Wire.beginTransmission (Addr);

// Seleccioneu el registre de configuració

Wire.write (0x01);

// Mode de conversió contínua, engegada per defecte

Wire.write (0x00);

Wire.write (0x00);

// Atura la transmissió I2C

Wire.endTransmission ();

// Inicieu la transmissió I2C

Wire.beginTransmission (Addr);

// Selecciona el registre de resolució

Wire.write (0x08);

// Resolució = +0,0625 / C

Wire.write (0x03);

// Atura la transmissió I2C

Wire.endTransmission ();

}

bucle buit ()

{

dades int sense signar [2];

// Inicia la comunicació I2C

Wire.beginTransmission (Addr);

// Selecciona el registre de dades

Wire.write (0x05);

// Atura la transmissió I2C

Wire.endTransmission ();

// Sol·liciteu 2 bytes de dades

Wire.requestFrom (Addr, 2);

// Llegiu 2 bytes de dades

// temp MSB, temp LSB

if (Wire.available () == 2)

{

dades [0] = Wire.read ();

dades [1] = Wire.read ();

}

// Converteix les dades a 13 bits

int temp = ((dades [0] i 0x1F) * 256 + dades [1]);

si (temp> 4095)

{

temp - = 8192;

}

float cTemp = temp * 0,0625;

float fTemp = cTemp * 1,8 + 32;

// Sortiu les dades a la pantalla

Serial.print ("Temperatura en centígrads");

Serial.println (cTemp);

Serial.println ("C");

Serial.print ("Temperatura en Fahrenheit:");

Serial.println (fTemp);

Serial.println ("F");

retard (500);

}

A la biblioteca de cables, s’utilitzen Wire.write () i Wire.read () per escriure les ordres i llegir la sortida del sensor.

Serial.print () i Serial.println () s’utilitzen per mostrar la sortida del sensor al monitor sèrie de l’IDE Arduino.

La sortida del sensor es mostra a la imatge superior.

Pas 4: aplicacions:

Aplicacions
Aplicacions

El sensor de temperatura digital MCP9808 té diverses aplicacions a nivell industrial que incorporen congeladors i refrigeradors industrials juntament amb diversos processadors d’aliments. Aquest sensor es pot utilitzar per a diversos ordinadors personals, servidors i altres perifèrics de PC.

Recomanat: