Innholdsfortegnelse:

Temperaturovervåking ved bruk av MCP9808 og Arduino Nano: 4 trinn
Temperaturovervåking ved bruk av MCP9808 og Arduino Nano: 4 trinn

Video: Temperaturovervåking ved bruk av MCP9808 og Arduino Nano: 4 trinn

Video: Temperaturovervåking ved bruk av MCP9808 og Arduino Nano: 4 trinn
Video: Sonicator UP400St (400 Watts) - Powerful Ultrasonic Homogenizer 2024, Juli
Anonim
Image
Image

MCP9808 er en meget nøyaktig digital temperatursensor ± 0,5 ° C I2C minimodul. De er utformet med brukerprogrammerbare registre som letter temperaturfølere. MCP9808 temperatursensoren med høy nøyaktighet har blitt en industristandard når det gjelder formfaktor og intelligens, og gir kalibrerte, lineariserte sensorsignaler i digitalt I2C-format.

I denne opplæringen har grensesnittet mellom sensormodulen MCP9808 og arduino nano blitt demonstrert. For å lese temperaturverdiene har vi brukt bringebær pi 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. MCP9808

2. Arduino Nano

3. I2C -kabel

4. I2C Shield 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:

MCP9808 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 Arduino, 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

// MCP9808 I2C -adressen er 0x18 (24)

#define Addr 0x18

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 (0x00);

Wire.write (0x00);

// Stopp I2C -overføring

Wire.endTransmission ();

// Start I2C -overføring

Wire.beginTransmission (Addr);

// Velg oppløsningsregister

Wire.write (0x08);

// Oppløsning = +0,0625 / C

Wire.write (0x03);

// Stopp I2C -overføring

Wire.endTransmission ();

}

hulrom ()

{

usignerte int -data [2];

// Starter I2C -kommunikasjon

Wire.beginTransmission (Addr);

// Velg dataregister

Wire.write (0x05);

// 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 13-bits

int temp = ((data [0] & 0x1F) * 256 + data [1]);

hvis (temp> 4095)

{

temperatur -= 8192;

}

flyte cTemp = temp * 0,0625;

float fTemp = cTemp * 1,8 + 32;

// Utdata til skjermen

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

Serial.println (cTemp);

Serial.println ("C");

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

Serial.println (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

MCP9808 digital temperatursensor har flere applikasjoner på industrinivå som inneholder industrielle frysere og kjøleskap sammen med forskjellige matprosessorer. Denne sensoren kan brukes til forskjellige personlige datamaskiner, servere så vel som andre PC -enheter.

Anbefalt: