Innholdsfortegnelse:
- Trinn 1: Nødvendig maskinvare:
- Trinn 2: Maskinvaretilkobling:
- Trinn 3: Kode for temperaturmåling:
- Trinn 4: Søknader:
Video: Temperaturmåling ved bruk av MCP9803 og Raspberry Pi: 4 trinn
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:23
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.
I denne opplæringen er grensesnittet mellom sensormodulen MCP9803 og bringebær pi demonstrert, og programmeringen ved hjelp av Java -språk er også illustrert. For å lese temperaturverdiene har vi brukt bringebærpi med en I2C -adapter. Denne I2C -adapteren gjør tilkoblingen til sensormodulen enkel og mer pålitelig.
Trinn 1: Nødvendig maskinvare:
Materialene vi trenger for å nå målet vårt inkluderer følgende maskinvarekomponenter:
1. MCP9803
2. Bringebær pi
3. I2C -kabel
4. I2C Shield for bringebær pi
5. Ethernet -kabel
Trinn 2: Maskinvaretilkobling:
Maskinvaretilkoblingsdelen forklarer i utgangspunktet ledningsforbindelsene som kreves mellom sensoren og bringebær -pi. Å sikre riktige tilkoblinger er den grunnleggende nødvendigheten mens du arbeider på et hvilket som helst system for ønsket utgang. Så de nødvendige tilkoblingene er som følger:
MCP9803 fungerer over I2C. Her er eksempel på koblingsskjema, som viser hvordan du kobler til hvert grensesnitt på sensoren.
Uten boksen er brettet konfigurert for et I2C-grensesnitt, derfor anbefaler vi å bruke denne tilkoblingen hvis du ellers er agnostiker.
Alt du trenger er fire ledninger! Bare fire tilkoblinger kreves Vcc, Gnd, SCL og SDA -pinner, og disse er koblet til ved hjelp av I2C -kabel.
Disse sammenhengene er vist på bildene ovenfor.
Trinn 3: Kode for temperaturmåling:
Fordelen med å bruke bringebær pi er at det gir deg fleksibiliteten til programmeringsspråket der du vil programmere brettet for å koble sensoren til det. Ved å utnytte denne fordelen med dette brettet, demonstrerer vi her at det er programmering i Java. Java -koden for MCP9803 kan lastes ned fra vårt Github -fellesskap som er Dcube Store.
I tillegg til brukernes brukervennlighet, forklarer vi koden også her:
Som det første trinnet i kodingen må du laste ned pi4j -biblioteket i tilfelle java fordi dette biblioteket støtter funksjonene som brukes i koden. Så for å laste ned biblioteket kan du besøke følgende lenke:
pi4j.com/install.html
Du kan også kopiere den fungerende java -koden for denne sensoren herfra:
importer com.pi4j.io.i2c. I2CBus;
importer com.pi4j.io.i2c. I2CDenhet;
importer com.pi4j.io.i2c. I2CFactory;
import 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);
}
}
Biblioteket som muliggjør i2c -kommunikasjon mellom sensoren og kortet er pi4j, dets forskjellige pakker I2CBus, I2CDevice og I2CFactory hjelper til med å etablere forbindelsen.
importer com.pi4j.io.i2c. I2CBus;
importer com.pi4j.io.i2c. I2CDenhet;
importer com.pi4j.io.i2c. I2CFactory;
importer java.io. IOException;
skrive () og lese () funksjoner brukes til å skrive noen bestemte kommandoer til sensoren for å få den til å fungere i en bestemt modus og lese henholdsvis sensorutgangen.
Sensorens utgang er også vist på bildet ovenfor.
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.
Anbefalt:
Temperaturmåling ved bruk av STS21 og Arduino Nano: 4 trinn
Temperaturmåling ved bruk av STS21 og Arduino Nano: STS21 digital temperatursensor gir overlegen ytelse og plassbesparende fotavtrykk. Den gir kalibrerte, lineariserte signaler i digitalt I2C -format. Fremstillingen av denne sensoren er basert på CMOSens -teknologi, som tilskrives den overlegne
Temperaturmåling ved bruk av MCP9803 og Arduino Nano: 4 trinn
Temperaturmåling ved hjelp av MCP9803 og Arduino Nano: 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 flersones temperaturovervåkingssystem. I
Temperaturmåling ved bruk av MCP9803 og Particle Photon: 4 trinn
Temperaturmåling ved bruk av MCP9803 og Particle Photon: 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 flersones temperaturovervåkingssystem. I
Temperaturmåling ved bruk av STS21 og Raspberry Pi: 4 trinn
Temperaturmåling ved bruk av STS21 og Raspberry Pi: STS21 digital temperatursensor gir overlegen ytelse og plassbesparende fotavtrykk. Den gir kalibrerte, lineariserte signaler i digitalt I2C -format. Fremstillingen av denne sensoren er basert på CMOSens -teknologi, som tilskrives den overlegne
Temperaturmåling ved bruk av TMP112 og Raspberry Pi: 4 trinn
Temperaturmåling ved bruk av TMP112 og Raspberry Pi: TMP112 Høy-nøyaktighet, lav effekt, digital temperatursensor I2C MINI-modul. TMP112 er ideell for utvidet temperaturmåling. Denne enheten tilbyr en nøyaktighet på ± 0,5 ° C uten å kreve kalibrering eller kondisjonering av ekstern komponent