Innehållsförteckning:
2025 Författare: John Day | [email protected]. Senast ändrad: 2025-01-13 06:58
MCP9803 är en 2-trådig temperatursensor med hög noggrannhet. De är förkroppsligade med användarprogrammerbara register som underlättar temperaturavkänningstillämpningar. Denna sensor är lämplig för mycket sofistikerade temperaturövervakningssystem med flera zoner. Här är demonstrationen med en Java -kod med Raspberry Pi.
Steg 1: Vad du behöver.. !
1. Hallon Pi
2. MCP9803
3. I²C -kabel
4. I²C -sköld för Raspberry Pi
5. Ethernet -kabel
Steg 2: 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 MCP9803 -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
Java-koden för MCP9803 kan laddas ner från vårt github-arkiv- Dcube Store
Här är länken till samma:
github.com/DcubeTechVentures/MCP9803/blob/master/Java/MCP9803.java
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.
// MCP9803
// Denna kod är utformad för att fungera med MCP9808_I2CS I2C Mini Module
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 MCP9803
{
public static void main (String args ) kastar undantag
{
// Skapa I2C -buss
I2CBus Bus = I2CFactory.getInstance (I2CBus. BUS_1);
// Skaffa I2C -enhet, MCP9803 I2C -adress är 0x48 (72)
I2CDevice -enhet = Bus.getDevice (0x48);
// Välj konfigurationsregister
// Kontinuerligt konverteringsläge, Power-up, komparatorläge, 12-bitars upplösning
device.write (0x01, (byte) 0x60);
Tråd. Sover (500);
// Läs 2 byte med data från adressen 0x00 (0)
// temp msb, temp lsb
byte data = ny byte [2];
device.read (0x00, data, 0, 2);
// Konvertera data till 12-bitar
int temp = ((data [0] & 0xFF) * 256 + (data [1] & 0xF0)) / 16;
om (temp> 2047)
{
temp -= 4096;
}
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..:
MCP9803 kan användas i en bred arena med enheter som inkluderar persondator och kringutrustning, hårddiskar, olika underhållningssystem, kontorssystem och datakommunikationssystem. Denna sensor kan integreras i olika sofistikerade system.