Innholdsfortegnelse:

Temperaturmåling ved bruk av MCP9803 og Arduino Nano: 4 trinn
Temperaturmåling ved bruk av MCP9803 og Arduino Nano: 4 trinn

Video: Temperaturmåling ved bruk av MCP9803 og Arduino Nano: 4 trinn

Video: Temperaturmåling ved bruk av MCP9803 og Arduino Nano: 4 trinn
Video: Как сделать ПЛК LDmicro Arduino с ЖК-дисплеем I2C 2024, November
Anonim
Image
Image

MCP9803 er en 2-leders temperatursensor med høy nøyaktighet. De er utformet med brukerprogrammerbare registre som letter temperaturfølere. Denne sensoren er egnet for svært sofistikert flersonet temperaturovervåkingssystem.

I denne opplæringen har grensesnittet mellom sensormodulen MCP9803 og arduino nano blitt illustrert. For å lese temperaturverdiene har vi brukt arduino med en I2c -adapter. Denne I2C -adapteren gjør tilkoblingen til sensormodulen enkel og mer pålitelig.

Trinn 1: Nødvendig maskinvare:

Maskinvare som kreves
Maskinvare som kreves
Maskinvare som kreves
Maskinvare som kreves
Maskinvare som kreves
Maskinvare som kreves

Materialene vi trenger for å nå målet vårt inkluderer følgende maskinvarekomponenter:

1. MCP9803

2. Arduino Nano

3. I2C -kabel

4. I2C -skjold for arduino nano

Trinn 2: Maskinvaretilkobling:

Maskinvaretilkobling
Maskinvaretilkobling
Maskinvaretilkobling
Maskinvaretilkobling

Maskinvarekoblingsdelen forklarer i utgangspunktet ledningsforbindelsene som kreves mellom sensoren og arduino nano. Å sikre riktige tilkoblinger er den grunnleggende nødvendigheten mens du arbeider på et hvilket som helst system for ønsket utgang. Så de nødvendige tilkoblingene er som følger:

MCP9803 fungerer over I2C. Her er eksempel på koblingsskjema, som viser hvordan du kobler til hvert grensesnitt på sensoren.

Uten boksen er brettet konfigurert for et I2C-grensesnitt, derfor anbefaler vi å bruke denne tilkoblingen hvis du ellers er agnostiker.

Alt du trenger er fire ledninger! Bare fire tilkoblinger kreves Vcc, Gnd, SCL og SDA -pinner, og disse er koblet til ved hjelp av I2C -kabel.

Disse sammenhengene er vist på bildene ovenfor.

Trinn 3: Kode for temperaturmåling:

Kode for temperaturmåling
Kode for temperaturmåling

La oss begynne med arduino -koden nå.

Mens vi bruker sensormodulen med arduinoen, inkluderer vi Wire.h -biblioteket. "Wire" -biblioteket inneholder funksjonene som letter i2c -kommunikasjonen mellom sensoren og arduino -kortet.

Hele arduino -koden er gitt nedenfor for brukerens bekvemmelighet:

#inkludere

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

#define Addr 0x48

ugyldig oppsett ()

{

// Initialiser I2C -kommunikasjon som MASTER

Wire.begin ();

// Initialize Serial Communication, set baud rate = 9600

Serial.begin (9600);

// Start I2C -overføring

Wire.beginTransmission (Addr);

// Velg konfigurasjonsregister

Wire.write (0x01);

// Kontinuerlig konverteringsmodus, oppstart som standard

Wire.write (0x60);

// Stopp I2C -overføring

Wire.endTransmission ();

forsinkelse (300);

}

hulrom ()

{

usignerte int -data [2];

// Starter I2C -kommunikasjon

Wire.beginTransmission (Addr);

// Velg dataregister

Wire.write (0x00);

// Stopp I2C -overføring

Wire.endTransmission ();

// Be om 2 byte med data

Wire.requestFrom (Addr, 2);

// Les 2 byte med data

// temp msb, temp lsb

hvis (Wire.available () == 2)

{

data [0] = Wire.read ();

data [1] = Wire.read ();

}

// Konverter dataene til 12-bits

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

hvis (temp> 2047)

{

temperatur -= 4096;

}

flyte cTemp = temp * 0,0625;

float fTemp = cTemp * 1,8 + 32;

// Utdata til seriell skjerm

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 brukes Wire.write () og Wire.read () til å skrive kommandoene og lese sensorutgangen.

Serial.print () og Serial.println () brukes til å vise sensorens utgang på den serielle skjermen til Arduino IDE.

Sensorens utgang er vist på bildet ovenfor.

Trinn 4: Søknader:

Applikasjoner
Applikasjoner

MCP9803 kan brukes på en bred arena med enheter som inkluderer personlige datamaskiner og eksterne enheter, harddisker, forskjellige underholdningssystemer, kontorsystemer og datakommunikasjonssystemer. Denne sensoren kan integreres i forskjellige sofistikerte systemer.

Anbefalt: