Innholdsfortegnelse:
2025 Forfatter: John Day | [email protected]. Sist endret: 2025-01-13 06:58
MCP9803 er en 2-leders temperatursensor med høy nøyaktighet. De er utformet med brukerprogrammerbare registre som letter temperaturfølere. Denne sensoren er egnet for svært sofistikert flersonet temperaturovervåkingssystem. Her er demonstrasjonen med en java -kode ved bruk av Raspberry Pi.
Trinn 1: Hva du trenger..
1. Bringebær Pi
2. MCP9803
3. I²C -kabel
4. I²C Shield for Raspberry Pi
5. Ethernet -kabel
Trinn 2: 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 MCP9803 -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
Java-koden for MCP9803 kan lastes ned fra vårt github-depot- Dcube Store
Her er lenken til det samme:
github.com/DcubeTechVentures/MCP9803/blob/master/Java/MCP9803.java
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.
// MCP9803
// Denne koden er designet for å fungere med MCP9808_I2CS I2C Mini Module
importer com.pi4j.io.i2c. I2CBus;
importer com.pi4j.io.i2c. I2CDenhet;
importer com.pi4j.io.i2c. I2CFactory;
importer java.io. IOException;
offentlig klasse MCP9803
{
public static void main (String args ) kaster Unntak
{
// Lag I2C -buss
I2CBus Bus = I2CFactory.getInstance (I2CBus. BUS_1);
// Få I2C -enhet, MCP9803 I2C -adresse er 0x48 (72)
I2CDevice -enhet = Bus.getDevice (0x48);
// Velg konfigurasjonsregister
// Kontinuerlig konverteringsmodus, oppstart, komparator-modus, 12-biters oppløsning
device.write (0x01, (byte) 0x60);
Tråd. Sover (500);
// Les 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-bits
int temp = ((data [0] & 0xFF) * 256 + (data [1] & 0xF0)) / 16;
hvis (temp> 2047)
{
temperatur -= 4096;
}
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..:
MCP9803 kan brukes på en bred arena med enheter som inkluderer personlige datamaskiner og eksterne enheter, harddisker, forskjellige underholdningssystemer, kontorsystemer og datakommunikasjonssystemer. Denne sensoren kan integreres i forskjellige sofistikerte systemer.