Indholdsfortegnelse:

Temperaturmåling ved hjælp af MCP9803 og Arduino Nano: 4 trin
Temperaturmåling ved hjælp af MCP9803 og Arduino Nano: 4 trin

Video: Temperaturmåling ved hjælp af MCP9803 og Arduino Nano: 4 trin

Video: Temperaturmåling ved hjælp af MCP9803 og Arduino Nano: 4 trin
Video: Lær at mestre dit stofskifte ved hjælp af naturlige behandlinger 2024, November
Anonim
Image
Image

MCP9803 er en 2-tråds temperatursensor med høj nøjagtighed. De er udformet med brugerprogrammerbare registre, der letter temperaturfølende applikationer. Denne sensor er velegnet til meget sofistikeret multi-zone temperaturovervågningssystem.

I denne vejledning er grænsefladen mellem MCP9803 sensormodul og arduino nano illustreret. For at aflæse temperaturværdierne har vi brugt arduino med en I2c -adapter. Denne I2C -adapter gør forbindelsen til sensormodulet let og mere pålidelig.

Trin 1: Påkrævet hardware:

Hardware påkrævet
Hardware påkrævet
Hardware påkrævet
Hardware påkrævet
Hardware påkrævet
Hardware påkrævet

De materialer, vi har brug for for at nå vores mål, omfatter følgende hardwarekomponenter:

1. MCP9803

2. Arduino Nano

3. I2C -kabel

4. I2C -skjold til arduino nano

Trin 2: Hardware -tilslutning:

Hardware -tilslutning
Hardware -tilslutning
Hardware -tilslutning
Hardware -tilslutning

Hardwaretilslutningssektionen forklarer dybest set de nødvendige ledningsforbindelser mellem sensoren og arduino nano. At sikre korrekte forbindelser er den grundlæggende nødvendighed, mens du arbejder på et hvilket som helst system til den ønskede output. Så de nødvendige forbindelser er som følger:

MCP9803 fungerer over I2C. Her er eksemplet på ledningsdiagram, der viser, hvordan du tilslutter hver grænseflade på sensoren.

Out-of-the-box er tavlen konfigureret til en I2C-grænseflade, som sådan anbefaler vi at bruge denne tilslutning, hvis du ellers er agnostiker.

Alt du behøver er fire ledninger! Der kræves kun fire tilslutninger Vcc, Gnd, SCL og SDA ben, og disse er forbundet ved hjælp af I2C kabel.

Disse forbindelser er vist på billederne ovenfor.

Trin 3: Kode til temperaturmåling:

Kode til temperaturmåling
Kode til temperaturmåling

Lad os starte med arduino -koden nu.

Mens vi bruger sensormodulet med arduino, inkluderer vi Wire.h -bibliotek. "Wire" -biblioteket indeholder de funktioner, der letter i2c -kommunikationen mellem sensoren og arduino -kortet.

Hele arduino -koden er angivet nedenfor for brugerens bekvemmelighed:

#omfatte

// MCP9803 I2C -adresse er 0x48 (72)

#define Addr 0x48

ugyldig opsætning ()

{

// Initialiser I2C -kommunikation som MASTER

Wire.begin ();

// Initialiser seriel kommunikation, indstil baudhastighed = 9600

Serial.begin (9600);

// Start I2C -transmission

Wire.beginTransmission (Addr);

// Vælg konfigurationsregister

Wire.write (0x01);

// Kontinuerlig konverteringstilstand, Power-up standard

Wire.write (0x60);

// Stop I2C -transmission

Wire.endTransmission ();

forsinkelse (300);

}

hulrum ()

{

usignerede int -data [2];

// Starter I2C -kommunikation

Wire.beginTransmission (Addr);

// Vælg dataregister

Wire.write (0x00);

// Stop I2C -transmission

Wire.endTransmission ();

// Anmod om 2 bytes data

Wire.requestFrom (Addr, 2);

// Læs 2 bytes data

// temp msb, temp lsb

hvis (Wire.available () == 2)

{

data [0] = Wire.read ();

data [1] = Wire.read ();

}

// Konverter dataene til 12-bit

int temp = ((data [0] * 256) + data [1]) / 16,0;

hvis (temp> 2047)

{

temp -= 4096;

}

float cTemp = temp * 0,0625;

float fTemp = cTemp * 1,8 + 32;

// Output data til seriel skærm

Serial.print ("Temperatur i Celsius:");

Serial.print (cTemp);

Serial.println ("C");

Serial.print ("Temperatur i Fahrenheit:");

Serial.print (fTemp);

Serial.println ("F");

forsinkelse (500);

}

I trådbiblioteket bruges Wire.write () og Wire.read () til at skrive kommandoer og læse sensoroutput.

Serial.print () og Serial.println () bruges til at vise sensorens output på den serielle monitor på Arduino IDE.

Sensorens output er vist på billedet ovenfor.

Trin 4: Ansøgninger:

Ansøgninger
Ansøgninger

MCP9803 kan bruges i en bred arena af enheder, der omfatter personlig computer og periferiudstyr, harddiske, forskellige underholdningssystemer, kontorsystemer og datakommunikationssystemer. Denne sensor kan integreres i forskellige sofistikerede systemer.

Anbefalede: