Raspberry Pi MCP9805 Temperatursensor Java Handledning: 4 steg
Raspberry Pi MCP9805 Temperatursensor Java Handledning: 4 steg
Anonim
Image
Image

MCP9805 är en minnesmodul digital temperatursensor. Det är integrerat med användarprogrammerbara register som ger flexibilitet för temperaturavkännande applikationer. Denna sensor är utformad för att integreras i temperaturgivare för minnesmodul för mobil plattform. Här är demonstrationen med en Java -kod med Raspberry Pi.

Steg 1: Vad du behöver.. !

Vad du behöver..!!
Vad du behöver..!!

1. Hallon Pi

2. MCP9805

3. I²C -kabel

4. I²C -sköld för Raspberry Pi

5. Ethernet -kabel

Steg 2: Anslutningar

Anslutningar
Anslutningar
Anslutningar
Anslutningar
Anslutningar
Anslutningar
Anslutningar
Anslutningar

Ta en I2C -sköld för hallonpi och tryck den försiktigt över gpio -stiften på hallonpi.

Anslut sedan den ena änden av I2C -kabeln till MCP9805 -sensorn och den andra änden till I2C -skärmen.

Anslut också Ethernet -kabeln till pi eller så kan du använda en WiFi -modul. Anslutningar visas på bilden ovan.

Steg 3: Kod

Koda
Koda

Java-koden för MCP9805 kan laddas ner från vår GitHub-förvar-Dcube Store.

Här är länken till samma:

github.com/DcubeTechVentures/MCP9805

Databladet för MCP9805 hittar du här:

ww1.microchip.com/downloads/en/DeviceDoc/21…

Vi har använt pi4j -biblioteket för java -kod, stegen för att installera pi4j på hallon pi beskrivs här:

pi4j.com/install.html

Du kan också kopiera koden härifrån, den ges enligt följande:

// Distribueras med en fri vilja licens.

// Använd den hur du vill, vinst eller gratis, förutsatt att den passar i licensen för dess associerade verk.

// MCP9805

// Denna kod är utformad för att fungera med MCP9808_I2CS I2C Mini -modulen som finns i Dcube Store.

importera com.pi4j.io.i2c. I2CBus;

importera com.pi4j.io.i2c. I2CDenhet;

importera com.pi4j.io.i2c. I2CFactory;

importera java.io. IOException;

allmän klass MCP9805

{

public static void main (String args ) kastar undantag

{

// Skapa I2C -buss

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

// Skaffa I2C -enhet, MCP9805 I2C -adress är 0x18 (24)

I2CDevice -enhet = Bus.getDevice (0x18);

Tråd. Sover (300);

// Välj konfigurationsregister

// Kontinuerligt konverteringsläge, uppstart

byte config = ny byte [2];

config [0] = 0x00;

config [1] = 0x00;

device.write (0x01, config, 0, 2);

// Välj upplösning rgister

// Upplösning = +0,0625 / C

device.write (0x08, (byte) 0x03);

Tråd. Sover (300);

// Läs 2 byte data från adressen 0x05 (05)

// temp msb, temp lsb

byte data = ny byte [2];

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

// Konvertera data till 13-bitar

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

om (temp> 4095)

{

temp -= 8192;

}

dubbel cTemp = temp * 0,0625;

dubbel fTemp = cTemp * 1,8 + 32;

// Mata ut data till skärmen

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

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

}

}

Steg 4: Ansökningar..:

MCP9805 kan integreras i olika system som inkluderar temperaturövervakningssystem med dubbla in-line-minnesmoduler (DIMM), persondatorer och servrar. Vanligtvis kan den användas som en allmän temperatursensor.