Innholdsfortegnelse:
- Trinn 1: Nødvendig maskinvare:
- Trinn 2: Maskinvaretilkobling:
- Trinn 3: Kode for temperaturmåling:
- Trinn 4: Søknader:
Video: Temperaturovervåkning ved bruk av MCP9808 og Particle Photon: 4 trinn
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:23
MCP9808 er en meget nøyaktig digital temperatursensor ± 0,5 ° C I2C minimodul. De er utformet med brukerprogrammerbare registre som letter temperaturfølere. MCP9808 temperatursensoren med høy nøyaktighet har blitt en industristandard når det gjelder formfaktor og intelligens, og gir kalibrerte, lineariserte sensorsignaler i digitalt I2C-format.
I denne opplæringen har grensesnittet mellom sensormodulen MCP9808 og partikkelfoton blitt demonstrert. For å lese temperaturverdiene har vi brukt bringebær pi 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. MCP9808
2. Partikkelfoton
3. I2C -kabel
4. I2C -skjerm for partikkelfoton
Trinn 2: Maskinvaretilkobling:
Maskinvarekoblingsdelen forklarer i utgangspunktet ledningsforbindelsene som kreves mellom sensoren og partikkelfotonet. Å 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:
MCP9808 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:
La oss begynne med partikkelkoden nå.
Mens vi bruker sensormodulen med arduino, inkluderer vi application.h og spark_wiring_i2c.h biblioteket. "application.h" og spark_wiring_i2c.h biblioteket inneholder funksjonene som letter i2c -kommunikasjonen mellom sensoren og partikkelen.
Hele partikkelkoden er gitt nedenfor for brukerens bekvemmelighet:
#inkludere
#inkludere
// MCP9808 I2C -adressen er 0x18 (24)
#define Addr 0x18
float cTemp = 0, fTemp = 0;
ugyldig oppsett ()
{
// Angi variabel
Particle.variable ("i2cdevice", "MCP9808");
Particle.variable ("cTemp", cTemp);
// Initialiser I2C -kommunikasjon som MASTER
Wire.begin ();
// Initialize Serial Communication, set baud rate = 9600
Serial.begin (9600);
// Start I2C -overføring
Wire.beginTransmission (Addr);
// Velg konfigurasjonsregister
Wire.write (0x01);
// Kontinuerlig konverteringsmodus, oppstart som standard
Wire.write (0x00);
Wire.write (0x00);
// Stopp I2C -overføring
Wire.endTransmission ();
// Start I2C -overføring
Wire.beginTransmission (Addr);
// Velg oppløsning rgister
Wire.write (0x08);
// Oppløsning = +0,0625 / C
Wire.write (0x03);
// Stopp I2C -overføring
Wire.endTransmission ();
forsinkelse (300);
}
hulrom ()
{
usignerte int -data [2];
// Starter I2C -kommunikasjon
Wire.beginTransmission (Addr);
// Velg dataregister
Wire.write (0x05);
// Stopp I2C -overføring
Wire.endTransmission ();
// Be om 2 byte med data
Wire.requestFrom (Addr, 2);
// Les 2 byte med data
// temp msb, temp lsb
hvis (Wire.available () == 2)
{
data [0] = Wire.read ();
data [1] = Wire.read ();
}
forsinkelse (300);
// Konverter dataene til 13-bits
int temp = ((data [0] & 0x1F) * 256 + data [1]);
hvis (temp> 4095)
{
temperatur -= 8192;
}
cTemp = temp * 0,0625;
fTemp = cTemp * 1,8 + 32;
// Utdata til dashbordet
Particle.publish ("Temperatur i Celsius:", String (cTemp));
Particle.publish ("Temperatur i Fahrenheit:", String (fTemp));
forsinkelse (500);
}
Particle.variable () -funksjonen oppretter variablene for å lagre sensorens utgang og Particle.publish () -funksjonen viser utgangen på dashbordet til nettstedet.
Sensorutgangen er vist på bildet ovenfor for din referanse.
Trinn 4: Søknader:
MCP9808 digital temperatursensor har flere applikasjoner på industrinivå som inneholder industrielle frysere og kjøleskap sammen med forskjellige matprosessorer. Denne sensoren kan brukes til forskjellige personlige datamaskiner, servere så vel som andre PC -enheter.
Anbefalt:
Bevegelsessporing ved bruk av MPU-6000 og Particle Photon: 4 trinn
Bevegelsessporing ved bruk av MPU-6000 og Particle Photon: MPU-6000 er en 6-akset bevegelsessensor som har 3-akset akselerometer og 3-akset gyroskop innebygd i den. Denne sensoren er i stand til effektivt å spore nøyaktig posisjon og plassering av et objekt i det tredimensjonale planet. Den kan brukes i
Måling av akselerasjon ved bruk av ADXL345 og Particle Photon: 4 trinn
Måling av akselerasjon ved bruk av ADXL345 og Particle Photon: ADXL345 er et lite, tynt, ultralavt, 3-akset akselerometer med høy oppløsning (13-bit) måling på opptil ± 16 g. Digitale utdata er formatert som 16-biters tokomplement og er tilgjengelig via I2 C digitalt grensesnitt. Den måler
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
Akselerasjonsmåling ved bruk av BMA250 og Particle Photon: 4 trinn
Akselerasjonsmåling ved hjelp av BMA250 og Particle Photon: BMA250 er et lite, tynt, ultralavt, 3-akset akselerometer med høy oppløsning (13-bit) måling på opptil ± 16 g. Digitale utdata er formatert som 16-biters tokomplement og er tilgjengelig via I2C digitalt grensesnitt. Den måler den statiske
Trykkmåling ved bruk av CPS120 og Particle Photon: 4 trinn
Trykkmåling ved hjelp av CPS120 og Particle Photon: CPS120 er en høykvalitets og lavkostet kapasitiv absolutt trykksensor med fullt kompensert effekt. Den bruker svært lite strøm og består av en ultra liten mikro-elektro-mekanisk sensor (MEMS) for trykkmåling. Et sigma-delta basert