Indholdsfortegnelse:
- Trin 1: Påkrævet hardware:
- Trin 2: Hardware -tilslutning:
- Trin 3: Kode til temperaturmåling:
- Trin 4: Ansøgninger:
Video: Temperaturmåling ved hjælp af MCP9803 og Raspberry Pi: 4 trin
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:27
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:
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 -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:
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:
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:
Temperaturmåling ved hjælp af XinaBox og en termistor: 8 trin
Temperaturmåling ved hjælp af XinaBox og en termistor: Mål temperaturen på en væske ved hjælp af en analog indgang xChip fra XinaBox og en termistorsonde
Temperaturmåling ved hjælp af MCP9803 og Arduino Nano: 4 trin
Temperaturmåling ved hjælp af MCP9803 og Arduino Nano: 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
Temperaturmåling ved hjælp af MCP9803 og Particle Photon: 4 trin
Temperaturmåling ved hjælp af MCP9803 og Particle Photon: 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
Temperaturmåling ved hjælp af STS21 og Raspberry Pi: 4 trin
Temperaturmåling ved hjælp af STS21 og Raspberry Pi: STS21 digital temperatursensor tilbyder overlegen ydeevne og et pladsbesparende fodaftryk. Det giver kalibrerede, lineariserede signaler i digitalt I2C -format. Fremstilling af denne sensor er baseret på CMOSens -teknologi, som tilskrives den overlegne
Temperaturmåling ved hjælp af TMP112 og Raspberry Pi: 4 trin
Temperaturmåling ved hjælp af TMP112 og Raspberry Pi: TMP112 Høj nøjagtighed, lav effekt, digital temperatursensor I2C MINI-modul. TMP112 er ideel til udvidet temperaturmåling. Denne enhed tilbyder en nøjagtighed på ± 0,5 ° C uden at kræve kalibrering eller ekstern komponentsignalkonditionering. Jeg