Talaan ng mga Nilalaman:

Pagsubaybay sa Temperatura Gamit ang MCP9808 at Arduino Nano: 4 na Hakbang
Pagsubaybay sa Temperatura Gamit ang MCP9808 at Arduino Nano: 4 na Hakbang

Video: Pagsubaybay sa Temperatura Gamit ang MCP9808 at Arduino Nano: 4 na Hakbang

Video: Pagsubaybay sa Temperatura Gamit ang MCP9808 at Arduino Nano: 4 na Hakbang
Video: #15 HC 05 Bluetooth Modbus Android HMI | Outseal Arduino PLC 2024, Nobyembre
Anonim
Image
Image

Ang MCP9808 ay isang tumpak na digital temperatura sensor ± 0.5 ° C I2C mini module. Kinakatawan ang mga ito ng mga rehistro na maaaring maiprogram ng gumagamit na nagpapadali sa mga application ng sensing ng temperatura. Ang sensor ng temperatura ng MCP9808 na may mataas na katumpakan ay naging isang pamantayan sa industriya sa mga tuntunin ng form factor at intelligence, na nagbibigay ng naka-calibrate, linearised sensor signal sa digital, format na I2C.

Sa tutorial na ito ang pagpapakita ng interface ng MCP9808 sensor module na may arduino nano ay ipinakita. Upang mabasa ang mga halagang temperatura, gumamit kami ng raspberry pi na may isang I2c adapter. Ginagawa ng I2C adapter na ito ang koneksyon sa sensor module ay madali at mas maaasahan.

Hakbang 1: Kinakailangan ang Hardware:

Kinakailangan ang Hardware
Kinakailangan ang Hardware
Kinakailangan ang Hardware
Kinakailangan ang Hardware
Kinakailangan ang Hardware
Kinakailangan ang Hardware

Ang mga materyal na kailangan namin para makamit ang aming layunin ay may kasamang mga sumusunod na bahagi ng hardware:

1. MCP9808

2. Arduino Nano

3. I2C Cable

4. I2C Shield para sa Arduino nano

Hakbang 2: Hardware Hookup:

Hardware Hookup
Hardware Hookup
Hardware Hookup
Hardware Hookup

Karaniwang ipinapaliwanag ng seksyon ng hookup ng hardware ang mga koneksyon sa mga kable na kinakailangan sa pagitan ng sensor at ng arduino nano. Ang pagtiyak sa tamang mga koneksyon ay ang pangunahing pangangailangan habang nagtatrabaho sa anumang system para sa nais na output. Kaya, ang mga kinakailangang koneksyon ay ang mga sumusunod:

Gagana ang MCP9808 sa paglipas ng I2C. Narito ang halimbawa ng diagram ng mga kable, na nagpapakita kung paano i-wire ang bawat interface ng sensor.

Sa labas ng kahon, naka-configure ang board para sa isang interface ng I2C, dahil inirerekumenda namin ang paggamit ng hookup na ito kung hindi ka agnostiko. Ang kailangan mo lang ay apat na wires!

Apat na koneksyon lamang ang kinakailangan ng Vcc, Gnd, SCL at SDA pin at ang mga ito ay konektado sa tulong ng I2C cable.

Ang mga koneksyon na ito ay ipinakita sa mga larawan sa itaas.

Hakbang 3: Code para sa Pagsukat ng Temperatura:

Code para sa Pagsukat ng Temperatura
Code para sa Pagsukat ng Temperatura

Magsimula tayo sa Arduino code ngayon.

Habang ginagamit ang module ng sensor sa Arduino, isinasama namin ang Wire.h library. Naglalaman ang library ng "Wire" ng mga pagpapaandar na nagpapadali sa komunikasyon ng i2c sa pagitan ng sensor at ng Arduino board.

Ang buong Arduino code ay ibinibigay sa ibaba para sa kaginhawaan ng gumagamit:

# isama

// MCP9808 I2C address ay 0x18 (24)

# tukuyin ang Addr 0x18

walang bisa ang pag-setup ()

{

// Initialise I2C na komunikasyon bilang MASTER

Wire.begin ();

// Initialise Serial Communication, itakda ang baud rate = 9600

Serial.begin (9600);

// Start I2C Transmission

Wire.beginTransmission (Addr);

// Piliin ang rehistro ng pagsasaayos

Wire.write (0x01);

// Patuloy na mode ng conversion, default na Power-up

Wire.write (0x00);

Wire.write (0x00);

// Stop I2C Transmission

Wire.endTransmission ();

// Start I2C Transmission

Wire.beginTransmission (Addr);

// Piliin ang rehistro sa resolusyon

Wire.write (0x08);

// Resolution = +0.0625 / C

Wire.write (0x03);

// Stop I2C Transmission

Wire.endTransmission ();

}

walang bisa loop ()

{

unsigned int data [2];

// Nagsisimula ang komunikasyon sa I2C

Wire.beginTransmission (Addr);

// Piliin ang pagrehistro ng data

Wire.write (0x05);

// Ihinto ang paghahatid ng I2C

Wire.endTransmission ();

// Humiling ng 2 byte ng data

Wire.requestFrom (Addr, 2);

// Basahin ang 2 bytes ng data

// temp MSB, temp LSB

kung (Wire.available () == 2)

{

data [0] = Wire.read ();

data [1] = Wire.read ();

}

// I-convert ang data sa 13-bit

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

kung (temp> 4095)

{

temp - = 8192;

}

float cTemp = temp * 0.0625;

float fTemp = cTemp * 1.8 + 32;

// Output data sa screen

Serial.print ("Temperatura sa Celsius:");

Serial.println (cTemp);

Serial.println ("C");

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

Serial.println (fTemp);

Serial.println ("F");

pagkaantala (500);

}

Sa wire library Wire.write () at Wire.read () ay ginagamit upang isulat ang mga utos at basahin ang output ng sensor.

Ginagamit ang Serial.print () at Serial.println () upang ipakita ang output ng sensor sa serial monitor ng Arduino IDE.

Ang output ng sensor ay ipinapakita sa larawan sa itaas.

Hakbang 4: Mga Aplikasyon:

Mga Aplikasyon
Mga Aplikasyon

Ang MCP9808 Digital Temperature Sensor ay may maraming mga application sa antas ng industriya na nagsasama ng mga pang-industriya na freezer at ref kasama ang iba`t ibang mgaproseso ng pagkain. Maaaring gamitin ang sensor na ito para sa iba't ibang mga personal na computer, server pati na rin iba pang mga PC peripheral.

Inirerekumendang: