Talaan ng mga Nilalaman:

Pagsubaybay sa Temperatura Gamit ang MCP9808 at Raspberry Pi: 4 na Hakbang
Pagsubaybay sa Temperatura Gamit ang MCP9808 at Raspberry Pi: 4 na Hakbang

Video: Pagsubaybay sa Temperatura Gamit ang MCP9808 at Raspberry Pi: 4 na Hakbang

Video: Pagsubaybay sa Temperatura Gamit ang MCP9808 at Raspberry Pi: 4 na Hakbang
Video: How to Interface Industrial 4-20mA Sensors with Raspberry Pi Pico PLC | Mitsubishi FX1N PLC 2024, Hulyo
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 raspberry pi ay ipinakita at ang programa nito gamit ang wika ng sawa 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. MCP9808

2. Raspberry Pi

3. I2C Cable

4. I2C kalasag 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 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

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 ang programa nito sa sawa. Ang Python ay isa sa pinakamadaling mga wika sa pagprograma na may pinakamadaling syntax. Ang python code para sa MCP9808 ay maaaring ma-download mula sa aming komunidad na github na DCUBE Store Community.

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 SMBus library sa kaso ng sawa, 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:

pypi.python.org/pypi/smbus-cffi/0.5.1

Maaari mong kopyahin ang nagtatrabaho code mula dito din:

import smbus

oras ng pag-import

# Kumuha ng I2C busbus = smbus. SMBus (1)

# MCP9808 address, 0x18 (24)

# Piliin ang rehistro ng pagsasaayos, 0x01 (1)

# 0x0000 (00) Patuloy na mode ng conversion, default na Power-up

config = [0x00, 0x00] bus.write_i2c_block_data (0x18, 0x01, config)

# MCP9808 address, 0x18 (24)

# Piliin ang resolusyon rgister, 0x08 (8)

# 0x03 (03) Resolution = +0.0625 / C

bus.write_byte_data (0x18, 0x08, 0x03)

oras. pagtulog (0.5)

# MCP9808 address, 0x18 (24)

# Basahin ang data pabalik mula sa 0x05 (5), 2 bytes

# Temp MSB, TEMP LSB

data = bus.read_i2c_block_data (0x18, 0x05, 2)

# I-convert ang data sa 13-bit

ctemp = ((data [0] & 0x1F) * 256) + data [1]

kung ctemp> 4095:

ctemp - = 8192

ctemp = ctemp * 0.0625

ftemp = ctemp * 1.8 + 32

# Data ng output sa screen

i-print ang "Temperatura sa Celsius ay:%.2f C"% ctemp

i-print ang "Temperatura sa Fahrenheit ay:%.2f F"% ftemp

Isinasagawa ang code gamit ang sumusunod na utos:

$> python MCP9808.py gt; sawa MCP9808.py

gt; sawa MCP9808.py

Ang output ng sensor ay ipinapakita sa larawan sa itaas para sa sanggunian ng gumagamit.

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: