Indholdsfortegnelse:

Temperaturmåling ved hjælp af MCP9803 og Raspberry Pi: 4 trin
Temperaturmåling ved hjælp af MCP9803 og Raspberry Pi: 4 trin

Video: Temperaturmåling ved hjælp af MCP9803 og Raspberry Pi: 4 trin

Video: Temperaturmåling ved hjælp af MCP9803 og Raspberry Pi: 4 trin
Video: Как связать промышленные датчики 4–20 мА с ПЛК Raspberry Pi Pico | ПЛК Мицубиси FX1N 2024, Juli
Anonim
Image
Image

MCP9803 er en 2-tråds temperatursensor med høj nøjagtighed. De er udformet med brugerprogrammerbare registre, der letter temperaturfølende applikationer. Denne sensor er velegnet til meget sofistikeret multi-zone temperaturovervågningssystem.

I denne vejledning demonstreres interfacet mellem MCP9803 -sensormodulet og hindbær pi, og dets programmering ved hjælp af Java -sprog er også blevet illustreret. For at aflæse temperaturværdierne har vi brugt hindbær pi med en I2C adapter. Denne I2C adapter gør forbindelsen til sensormodulet let og mere pålidelig.

Trin 1: Påkrævet hardware:

Hardware påkrævet
Hardware påkrævet
Hardware påkrævet
Hardware påkrævet
Hardware påkrævet
Hardware påkrævet

De materialer, vi har brug for for at nå vores mål, omfatter følgende hardwarekomponenter:

1. MCP9803

2. Hindbær pi

3. I2C -kabel

4. I2C Skjold til hindbær pi

5. Ethernet -kabel

Trin 2: Hardware -tilslutning:

Hardware -tilslutning
Hardware -tilslutning
Hardware -tilslutning
Hardware -tilslutning

Hardware -tilslutningssektionen forklarer grundlæggende de ledningsforbindelser, der kræves mellem sensoren og hindbær pi. At sikre korrekte forbindelser er den grundlæggende nødvendighed, mens du arbejder på et hvilket som helst system til den ønskede output. Så de nødvendige forbindelser er som følger:

MCP9803 fungerer over I2C. Her er eksemplet på ledningsdiagram, der viser, hvordan du tilslutter hver grænseflade på sensoren.

Out-of-the-box er tavlen konfigureret til en I2C-grænseflade, som sådan anbefaler vi at bruge denne tilslutning, hvis du ellers er agnostiker.

Alt du behøver er fire ledninger! Der kræves kun fire tilslutninger Vcc, Gnd, SCL og SDA ben, og disse er forbundet ved hjælp af I2C kabel.

Disse forbindelser er vist på billederne ovenfor.

Trin 3: Kode til temperaturmåling:

Kode til temperaturmåling
Kode til temperaturmåling

Fordelen ved at bruge hindbær pi er, at det giver dig fleksibiliteten i det programmeringssprog, hvor du vil programmere tavlen for at kunne tilslutte sensoren til den. Ved at udnytte denne fordel ved dette kort demonstrerer vi her, at det er programmering i Java. Java -koden til MCP9803 kan downloades fra vores Github -fællesskab, der er Dcube Store.

Ud over brugernes brugervenlighed forklarer vi også koden her:

Som det første trin i kodning skal du downloade pi4j -biblioteket i tilfælde af java, fordi dette bibliotek understøtter de funktioner, der bruges i koden. Så for at downloade biblioteket kan du besøge følgende link:

pi4j.com/install.html

Du kan også kopiere den fungerende java -kode til denne sensor herfra:

importer com.pi4j.io.i2c. I2CBus;

import com.pi4j.io.i2c. I2CDevice;

import com.pi4j.io.i2c. I2CFactory;

import java.io. IOException; offentlig klasse MCP9803

{

public static void main (String args ) kaster Undtagelse

{

// Opret I2C -bus

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

// Hent I2C -enhed, MCP9803 I2C -adresse er 0x48 (72)

I2CDevice -enhed = Bus.getDevice (0x48);

// Vælg konfigurationsregister

// Kontinuerlig konverteringstilstand, Power-up, komparator-tilstand, 12-bit opløsning

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

Tråd. Sover (500);

// Læs 2 byte data fra adresse 0x00 (0)

// temp msb, temp lsb

byte data = ny byte [2];

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

// Konverter dataene til 12-bit

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

hvis (temp> 2047)

{

temp -= 4096;

}

dobbelt cTemp = temp * 0,0625;

dobbelt fTemp = cTemp * 1,8 + 32;

// Output data til skærmen

System.out.printf ("Temperaturen i Celsius er: %.2f C %n", cTemp);

System.out.printf ("Temperaturen i Fahrenheit er: %.2f F %n", fTemp);

}

}

Biblioteket, der letter i2c -kommunikation mellem sensoren og kortet, er pi4j, dets forskellige pakker I2CBus, I2CDevice og I2CFactory hjælper med at etablere forbindelsen.

importer com.pi4j.io.i2c. I2CBus;

import com.pi4j.io.i2c. I2CDevice;

import com.pi4j.io.i2c. I2CFactory;

import java.io. IOException;

skrive () og læse () funktioner bruges til at skrive nogle bestemte kommandoer til sensoren for at få den til at fungere i en bestemt tilstand og læse sensor output henholdsvis.

Sensorens output er også vist på billedet ovenfor.

Trin 4: Ansøgninger:

Ansøgninger
Ansøgninger

MCP9803 kan bruges i en bred arena af enheder, der omfatter personlig computer og periferiudstyr, harddiske, forskellige underholdningssystemer, kontorsystemer og datakommunikationssystemer. Denne sensor kan integreres i forskellige sofistikerede systemer.

Anbefalede: