Innholdsfortegnelse:
2025 Forfatter: John Day | [email protected]. Sist endret: 2025-01-13 06:58
TCN75A er en to-leders seriell temperatursensor med temperatur-til-digital-omformer. Den er integrert med brukerprogrammerbare registre som gir fleksibilitet for temperaturfølende applikasjoner. Registerinnstillingene lar brukerne konfigurere strømsparingsmodus, avstengningsmodus, one shot -modus osv. Sensoren har et i2c -kompatibelt serielt grensesnitt som kan lette tilkobling av opptil åtte enheter i en enkelt seriell buss. Her er demonstrasjonen med partikkelfoton.
Trinn 1: Hva du trenger …
1. Partikkelfoton
2. TCN75A
3. I²C -kabel
4. I²C -skjold for partikkelfoton
Trinn 2: Tilkoblinger:
Ta et I2C -skjold for partikkelfoton og skyv det forsiktig over pinnene til partikkelfoton.
Koble deretter den ene enden av I2C -kabelen til TCN75A -sensoren og den andre enden til I2C -skjoldet.
Tilkoblinger er vist på bildet ovenfor.
Trinn 3: Kode:
Partikkelkoden for TCN75A kan lastes ned fra vårt github-depot- DCUBE Store.
Her er lenken til det samme:
github.com/DcubeTechVentures/TCN75A/blob/master/Particle/TCN75A.ino
Vi har brukt to biblioteker for partikkelkode, som er application.h og spark_wiring_i2c.h. Spark_wiring_i2c -biblioteket er nødvendig for å lette I2C -kommunikasjonen med sensoren.
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.
// TCN75A
// Denne koden er designet for å fungere med TCN75A_I2CS I2C Mini Module
#inkludere
#inkludere
// TCN75A I2C -adressen er 0x48 (72)
#define Addr 0x48
flyte cTemp = 0,0, fTemp = 0,0;
int temp = 0;
ugyldig oppsett ()
{
// Angi variabel
Particle.variable ("i2cdevice", "TCN75A");
Particle.variable ("cTemp", cTemp);
// Initialiser I2C -kommunikasjon som Master
Wire.begin ();
// Initialiser seriell kommunikasjon, sett overføringshastighet = 9600
Serial.begin (9600);
// Start I2C -overføring
Wire.beginTransmission (Addr);
// Velg konfigurasjonsregister
Wire.write (0x01);
// 12-biters ADC-oppløsning
Wire.write (0x60);
// Stopp I2C -overføring
Wire.endTransmission ();
forsinkelse (300);
}
hulrom ()
{
usignerte int -data [2];
// Start I2C -overføring
Wire.beginTransmission (Addr);
// Velg dataregister
Wire.write (0x00);
// 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 ();
}
// Konverter dataene til 12 bits
temp = (((data [0] * 256) + (data [1] & 0xF0)) / 16);
hvis (temp> 2047)
{
temperatur -= 4096;
}
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 (1000);
}
Trinn 4: Søknader:
TCN75A er en temperatursensor som kan brukes i personlige datamaskiner og servere. Den kan også distribueres i underholdningssystemer, kontorutstyr, harsdiskstasjoner og andre eksterne PC -er. Denne sensoren kan også brukes i datakommunikasjonsutstyr.