Talaan ng mga Nilalaman:

Pagsukat ng Temperatura Gamit ang MCP9803 at Raspberry Pi: 4 na Hakbang
Pagsukat ng Temperatura Gamit ang MCP9803 at Raspberry Pi: 4 na Hakbang

Video: Pagsukat ng Temperatura Gamit ang MCP9803 at Raspberry Pi: 4 na Hakbang

Video: Pagsukat ng Temperatura Gamit ang MCP9803 at Raspberry Pi: 4 na Hakbang
Video: How to Interface Industrial 4-20mA Sensors with Raspberry Pi Pico PLC | Mitsubishi FX1N PLC 2024, Nobyembre
Anonim
Image
Image

Ang MCP9803 ay isang sensor ng temperatura ng 2 kawad na mataas na kawastuhan. Kinakatawan ang mga ito ng mga rehistro na maaaring maiprogram ng gumagamit na nagpapadali sa mga application ng sensing ng temperatura. Ang sensor na ito ay angkop para sa lubos na sopistikadong sistema ng pagsubaybay sa temperatura ng multi-zone.

Sa tutorial na ito ang interfacing ng module ng sensor ng MCP9803 na may raspberry pi ay ipinakita at ang programa nito gamit ang wika ng Java ay nakalarawan din. 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. MCP9803

2. Raspberry pi

3. I2C Cable

4. I2C Shield para sa raspberry pi

5. Ethernet Cable

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 raspberry pi. 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 MCP9803 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

Ang bentahe ng paggamit ng raspberry pi ay, nagbibigay sa iyo ng kakayahang umangkop ng wika ng programa kung saan nais mong i-program ang board upang ma-interface ang sensor kasama nito. Ginagamit ang kalamangan na ito ng board na ito, ipinapakita namin dito na ito ay programa sa Java. Ang java code para sa MCP9803 ay maaaring ma-download mula sa aming komunidad na Github na Dcube Store.

Pati na rin para sa kadalian ng mga gumagamit, ipinapaliwanag din namin ang code dito:

Bilang unang hakbang ng pag-coding, kailangan mong i-download ang pi4j library sa kaso ng java dahil sinusuportahan ng library na ito ang mga pagpapaandar na ginamit sa code. Kaya, upang mai-download ang library maaari mong bisitahin ang sumusunod na link:

pi4j.com/install.html

Maaari mong kopyahin ang gumaganang java code para sa sensor na ito mula dito din:

import com.pi4j.io.i2c. I2CBus;

import com.pi4j.io.i2c. I2CDevice;

import com.pi4j.io.i2c. I2CFactory;

import java.io. IOException; pampublikong klase MCP9803

{

public static void main (String args ) nagtatapon ng Exception

{

// Lumikha ng I2C bus

I2CBus Bus = I2CFactory.getInstance (I2CBus. BUS_1);

// Kumuha ng I2C device, ang address ng MCP9803 I2C ay 0x48 (72)

I2CDevice aparato = Bus.getDevice (0x48);

// Piliin ang rehistro ng pagsasaayos

// Patuloy na mode ng conversion, Power-up, mode ng kumpare, resolusyon na 12-bit

aparato. magsulat (0x01, (byte) 0x60);

Thread.tulog (500);

// Basahin ang 2 bytes ng data mula sa address na 0x00 (0)

// temp msb, temp lsb

byte data = bagong byte [2];

aparato.read (0x00, data, 0, 2);

// I-convert ang data sa 12-bit

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

kung (temp> 2047)

{

temp - = 4096;

}

doble cTemp = temp * 0.0625;

doble fTemp = cTemp * 1.8 + 32;

// Output data sa screen

System.out.printf ("Temperatura sa Celsius ay:%.2f C% n", cTemp);

System.out.printf ("Temperatura sa Fahrenheit ay:%.2f F% n", fTemp);

}

}

Ang silid-aklatan na nagpapadali sa komunikasyon ng i2c sa pagitan ng sensor at board ay pi4j, ang iba't ibang mga package na I2CBus, I2CDevice at I2CFactory ay makakatulong upang maitaguyod ang koneksyon.

import com.pi4j.io.i2c. I2CBus;

import com.pi4j.io.i2c. I2CDevice;

import com.pi4j.io.i2c. I2CFactory;

i-import ang java.io. IOException;

isulat ang () at basahin () ang mga pagpapaandar na ginagamit upang magsulat ng ilang mga partikular na utos sa sensor upang gumana ito sa isang partikular na mode at basahin ang output ng sensor ayon sa pagkakabanggit.

Ang output ng sensor ay ipinapakita din sa larawan sa itaas.

Hakbang 4: Mga Aplikasyon:

Mga Aplikasyon
Mga Aplikasyon

Ang MCP9803 ay maaaring gamitin sa isang malawak na arena ng mga aparato na kinabibilangan ng personal na computer at mga peripheral, mga hard disk drive, iba't ibang mga sistema ng aliwan, mga sistema ng tanggapan at mga sistema ng komunikasyon ng data. Ang sensor na ito ay maaaring isama sa iba't ibang mga sopistikadong system.

Inirerekumendang: