Obsah:

Meranie teploty pomocou MCP9803 a Raspberry Pi: 4 kroky
Meranie teploty pomocou MCP9803 a Raspberry Pi: 4 kroky

Video: Meranie teploty pomocou MCP9803 a Raspberry Pi: 4 kroky

Video: Meranie teploty pomocou MCP9803 a Raspberry Pi: 4 kroky
Video: KUKA DeviceConnector ENG Веб-семинар от KUKA Nordic 2024, November
Anonim
Image
Image

MCP9803 je dvojvodičový vysoko presný teplotný senzor. Sú vybavené užívateľsky programovateľnými registrami, ktoré uľahčujú aplikácie snímania teploty. Tento senzor je vhodný pre vysoko sofistikovaný viaczónový systém monitorovania teploty.

V tomto návode je demonštrované prepojenie senzorového modulu MCP9803 s malinou pi a bolo tiež ukázané jeho programovanie v jazyku Java. Na čítanie hodnôt teploty sme použili malinový pi s adaptérom I2C. Tento adaptér I2C uľahčuje a spoľahlivejšie pripojenie k modulu senzora.

Krok 1: Potrebný hardvér:

Potrebný hardvér
Potrebný hardvér
Potrebný hardvér
Potrebný hardvér
Potrebný hardvér
Potrebný hardvér

Materiály, ktoré potrebujeme na dosiahnutie nášho cieľa, obsahujú nasledujúce hardvérové komponenty:

1. MCP9803

2. Malinový pi

3. Kábel I2C

4. I2C štít pre malinovú pi

5. Ethernetový kábel

Krok 2: Pripojenie hardvéru:

Pripojenie hardvéru
Pripojenie hardvéru
Pripojenie hardvéru
Pripojenie hardvéru

Časť zapojenia hardvéru v zásade vysvetľuje zapojenie potrebné medzi senzorom a malinovým pi. Zabezpečenie správneho pripojenia je základnou potrebou pri práci na akomkoľvek systéme s požadovaným výstupom. Potrebné spojenia sú teda tieto:

MCP9803 bude fungovať cez I2C. Tu je príklad schémy zapojenia, ktorá ukazuje, ako prepojiť každé rozhranie snímača.

Hneď po vybalení je doska nakonfigurovaná na rozhranie I2C, preto vám toto pripojenie odporúčame použiť, ak ste inak agnostik.

Všetko, čo potrebujete, sú štyri drôty! Vyžadujú sa iba štyri pripojenia Vcc, Gnd, SCL a SDA piny, ktoré sú prepojené pomocou kábla I2C.

Tieto spojenia sú znázornené na obrázkoch vyššie.

Krok 3: Kód na meranie teploty:

Kód na meranie teploty
Kód na meranie teploty

Výhodou použitia raspberry pi je, že vám poskytuje flexibilitu programovacieho jazyka, v ktorom chcete dosku programovať, aby ste s ním mohli prepojiť senzor. S využitím tejto výhody tejto dosky demonštrujeme, že je programovaná v jazyku Java. Java kód pre MCP9803 je možné stiahnuť z našej komunity Github, ktorou je Dcube Store.

Rovnako ako pre jednoduchosť používateľov, vysvetľujeme kód aj tu:

Ako prvý krok kódovania si musíte stiahnuť knižnicu pi4j v prípade jazyka Java, pretože táto knižnica podporuje funkcie použité v kóde. Ak si chcete stiahnuť knižnicu, môžete navštíviť nasledujúci odkaz:

pi4j.com/install.html

Pracovný kód java pre tento senzor môžete skopírovať aj tu:

import com.pi4j.io.i2c. I2CBus;

import com.pi4j.io.i2c. I2CDevice;

import com.pi4j.io.i2c. I2CFactory;

import java.io. IOException; verejná trieda MCP9803

{

public static void main (String args ) hodí výnimku

{

// Vytvorenie zbernice I2C

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

// Získať zariadenie I2C, adresa MCP9803 I2C je 0x48 (72)

I2CDevice zariadenie = Bus.getDevice (0x48);

// Vyberte konfiguračný register

// Režim nepretržitej konverzie, napájanie, režim komparátora, 12-bitové rozlíšenie

device.write (0x01, (bajt) 0x60);

Thread.sleep (500);

// Prečítajte 2 bajty údajov z adresy 0x00 (0)

// temp msb, temp lsb

bajt dáta = nový bajt [2];

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

// Previesť údaje na 12-bitové

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

ak (teplota> 2047)

{

teplota -= 4096;

}

dvojnásobok cTemp = teplota * 0,0625;

dvojnásobok fTemp = cTemp * 1,8 + 32;

// Výstup údajov na obrazovku

System.out.printf ("Teplota v stupňoch Celzia je: %.2f C %n", cTemp);

System.out.printf ("Teplota vo Fahrenheite je: %.2f F %n", fTemp);

}

}

Knižnica, ktorá uľahčuje komunikáciu i2c medzi senzorom a doskou, je pi4j a jej rôzne balíky I2CBus, I2CDevice a I2CFactory pomáhajú nadviazať spojenie.

import com.pi4j.io.i2c. I2CBus;

import com.pi4j.io.i2c. I2CDevice;

import com.pi4j.io.i2c. I2CFactory;

import java.io. IOException;

Funkcie write () a read () sa používajú na zápis niektorých konkrétnych príkazov do snímača, aby fungoval v konkrétnom režime, respektíve na čítanie výstupu snímača.

Výstup senzora je tiež zobrazený na obrázku vyššie.

Krok 4: Aplikácie:

Aplikácie
Aplikácie

MCP9803 je možné použiť v širokej škále zariadení, medzi ktoré patria osobný počítač a periférie, pevné disky, rôzne zábavné systémy, kancelárske systémy a systémy dátovej komunikácie. Tento senzor môže byť začlenený do rôznych sofistikovaných systémov.

Odporúča: