Raspberry Pi MCP9805 Temperatursensor Java Opplæring: 4 trinn
Raspberry Pi MCP9805 Temperatursensor Java Opplæring: 4 trinn
Anonim
Image
Image

MCP9805 er en minnemodul digital temperatursensor. Det er integrert med brukerprogrammerbare registre som gir fleksibilitet for temperaturfølende applikasjoner. Denne sensoren er designet for å bli innlemmet i temperatursensoren for minnemoduler for mobil plattform. Her er demonstrasjonen med en java -kode ved bruk av Raspberry Pi.

Trinn 1: Hva du trenger..

Hva trenger du..!!
Hva trenger du..!!

1. Bringebær Pi

2. MCP9805

3. I²C -kabel

4. I²C Shield for Raspberry Pi

5. Ethernet -kabel

Trinn 2: Tilkoblinger

Tilkoblinger
Tilkoblinger
Tilkoblinger
Tilkoblinger
Tilkoblinger
Tilkoblinger
Tilkoblinger
Tilkoblinger

Ta et I2C -skjold for bringebærpi og skyv det forsiktig over gpio -pinnene til bringebærpi.

Koble deretter den ene enden av I2C -kabelen til MCP9805 -sensoren og den andre enden til I2C -skjoldet.

Koble også Ethernet -kabelen til pi eller du kan bruke en WiFi -modul. Tilkoblinger er vist på bildet ovenfor.

Trinn 3: Kode

Kode
Kode

Java-koden for MCP9805 kan lastes ned fra vår GitHub repository-Dcube Store.

Her er lenken til det samme:

github.com/DcubeTechVentures/MCP9805

Databladet til MCP9805 finner du her:

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

Vi har brukt pi4j bibliotek for java -kode, trinnene for å installere pi4j på bringebær pi er beskrevet her:

pi4j.com/install.html

Du kan også kopiere koden herfra, den er gitt som følger:

// Distribuert med en fri viljelisens.

// Bruk den slik du vil, profitt eller gratis, forutsatt at den passer inn i lisensene til de tilhørende verkene.

// MCP9805

// Denne koden er designet for å fungere med MCP9808_I2CS I2C Mini Module tilgjengelig i Dcube Store.

importer com.pi4j.io.i2c. I2CBus;

importer com.pi4j.io.i2c. I2CDenhet;

importer com.pi4j.io.i2c. I2CFactory;

importer java.io. IOException;

offentlig klasse MCP9805

{

public static void main (String args ) kaster Unntak

{

// Lag I2C -buss

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

// Få I2C -enhet, MCP9805 I2C -adresse er 0x18 (24)

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

Tråd. Sover (300);

// Velg konfigurasjonsregister

// Kontinuerlig konverteringsmodus, oppstart

byte config = ny byte [2];

config [0] = 0x00;

config [1] = 0x00;

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

// Velg oppløsning rgister

// Oppløsning = +0,0625 / C

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

Tråd. Sover (300);

// Les 2 byte data fra adresse 0x05 (05)

// temp msb, temp lsb

byte data = ny byte [2];

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

// Konverter dataene til 13-bits

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

hvis (temp> 4095)

{

temperatur -= 8192;

}

dobbel cTemp = temp * 0,0625;

dobbelt fTemp = cTemp * 1,8 + 32;

// Utdata til skjermen

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

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

}

}

Trinn 4: Søknader..:

MCP9805 kan inkorporeres i forskjellige systemer som inkluderer temperaturovervåkingssystemer med dobbel in-line minnemodul (DIMM), personlige datamaskiner og servere. Vanligvis kan den brukes som en generell temperatursensor.