Përmbajtje:

Matja e temperaturës duke përdorur MCP9803 dhe Raspberry Pi: 4 hapa
Matja e temperaturës duke përdorur MCP9803 dhe Raspberry Pi: 4 hapa

Video: Matja e temperaturës duke përdorur MCP9803 dhe Raspberry Pi: 4 hapa

Video: Matja e temperaturës duke përdorur MCP9803 dhe Raspberry Pi: 4 hapa
Video: Измерение 5A-30A переменного и постоянного тока с использованием ACS712 с библиотекой Robojax 2024, Nëntor
Anonim
Image
Image

MCP9803 është një sensor i temperaturës me 2 tela me saktësi të lartë. Ato janë të mishëruara me regjistra të programueshëm nga përdoruesit që lehtësojnë aplikimet e ndjeshmërisë së temperaturës. Ky sensor është i përshtatshëm për sistemin shumë të sofistikuar të monitorimit të temperaturës me shumë zona.

Në këtë tutorial demonstrohet ndërfaqja e modulit të sensorit MCP9803 me mjedrën pi dhe programimi i tij duke përdorur gjuhën Java është ilustruar gjithashtu. Për të lexuar vlerat e temperaturës, ne kemi përdorur pi mjedër me një përshtatës I2C. Ky përshtatës I2C e bën lidhjen me modulin e sensorit të lehtë dhe më të besueshëm.

Hapi 1: Kërkohet harduer:

Kërkohet harduer
Kërkohet harduer
Kërkohet harduer
Kërkohet harduer
Kërkohet harduer
Kërkohet harduer

Materialet që na duhen për të arritur qëllimin tonë përfshijnë përbërësit e mëposhtëm të harduerit:

1. MCP9803

2. Mjedër pi

3. Kabllo I2C

4. Mburoja I2C për pi mjedër

5. Kabllo Ethernet

Hapi 2: Bashkimi i harduerit:

Lidhja e harduerit
Lidhja e harduerit
Lidhja e harduerit
Lidhja e harduerit

Seksioni i lidhjes së harduerit në thelb shpjegon lidhjet e telave të kërkuara midis sensorit dhe mjedrës pi. Sigurimi i lidhjeve të sakta është nevoja themelore gjatë punës në çdo sistem për daljen e dëshiruar. Pra, lidhjet e nevojshme janë si më poshtë:

MCP9803 do të funksionojë mbi I2C. Këtu është shembulli i diagramit të instalimeve elektrike, duke demonstruar se si të lidhni secilën ndërfaqe të sensorit.

Jashtë kutisë, bordi është i konfiguruar për një ndërfaqe I2C, si i tillë ne rekomandojmë përdorimin e këtij bashkimi nëse përndryshe jeni agnostik.

Gjithçka që ju nevojitet janë katër tela! Vetëm katër lidhje kërkohen kunjat Vcc, Gnd, SCL dhe SDA dhe këto janë të lidhura me ndihmën e kabllit I2C.

Këto lidhje demonstrohen në fotot e mësipërme.

Hapi 3: Kodi për Matjen e Temperaturës:

Kodi për Matjen e Temperaturës
Kodi për Matjen e Temperaturës

Avantazhi i përdorimit të mjedrës pi është, që ju siguron fleksibilitetin e gjuhës programuese në të cilën dëshironi të programoni bordin në mënyrë që të ndërlidhni sensorin me të. Duke shfrytëzuar këtë avantazh të këtij bordi, ne po demonstrojmë këtu se është duke programuar në Java. Kodi java për MCP9803 mund të shkarkohet nga komuniteti ynë Github që është Dyqani Dcube.

Si dhe për lehtësinë e përdoruesve, ne po shpjegojmë kodin edhe këtu:

Si hapi i parë i kodimit, duhet të shkarkoni bibliotekën pi4j në rast java sepse kjo bibliotekë mbështet funksionet e përdorura në kod. Pra, për të shkarkuar bibliotekën mund të vizitoni lidhjen e mëposhtme:

pi4j.com/install.html

Ju gjithashtu mund të kopjoni kodin java të punës për këtë sensor nga këtu:

import com.pi4j.io.i2c. I2CBus;

import com.pi4j.io.i2c. I2CDevice;

import com.pi4j.io.i2c. I2CFactory;

import java.io. IOException; klasa publike MCP9803

{

public static void main (String args ) hedh Exception

{

// Krijo autobus I2C

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

// Merrni pajisjen I2C, adresa MCP9803 I2C është 0x48 (72)

Pajisja I2CDevice = Bus.getDevice (0x48);

// Zgjidhni regjistrin e konfigurimit

// Mënyra e konvertimit të vazhdueshëm, Fuqizimi, mënyra krahasuese, rezolucioni 12-bit

pajisje.shkruaj (0x01, (bajt) 0x60);

Thread.sleep (500);

// Lexoni 2 bajt të dhëna nga adresa 0x00 (0)

// temp msb, temp lsb

bajt të dhëna = bajt i ri [2];

pajisje.lexoni (0x00, të dhëna, 0, 2);

// Shndërroni të dhënat në 12-bit

int temp = ((të dhënat [0] & 0xFF) * 256 + (të dhënat [1] & 0xF0)) / 16;

nëse (temp> 2047)

{

temp -= 4096;

}

dyshe cTemp = temp * 0.0625;

dyshe fTemp = cTemp * 1.8 + 32;

// Dalja e të dhënave në ekran

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

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

}

}

Biblioteka që lehtëson komunikimin i2c midis sensorit dhe bordit është pi4j, paketat e saj të ndryshme I2CBus, I2CDevice dhe I2CFactory ndihmojnë për të vendosur lidhjen.

import com.pi4j.io.i2c. I2CBus;

import com.pi4j.io.i2c. I2CDevice;

import com.pi4j.io.i2c. I2CFactory;

import java.io. IOException;

funksionet e shkrimit () dhe leximit () përdoren për të shkruar disa komanda të veçanta në sensor për ta bërë atë të funksionojë në një mënyrë të veçantë dhe për të lexuar përkatësisht daljen e sensorit.

Dalja e sensorit tregohet gjithashtu në figurën e mësipërme.

Hapi 4: Aplikimet:

Aplikimet
Aplikimet

MCP9803 mund të përdoret në një fushë të gjerë të pajisjeve të cilat përfshijnë kompjuter personal dhe pajisje periferike, disqe të ngurtë, sisteme të ndryshme argëtimi, sisteme zyre dhe sisteme të komunikimit të të dhënave. Ky sensor mund të përfshihet në sisteme të ndryshme të sofistikuara.

Recommended: