2025 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2025-01-13 06:58
TCN75A je dvožični serijski temperaturni senzor, vgrajen v pretvornik temperature v digitalni. Vgrajen je v registre, ki jih lahko programira uporabnik in ki omogočajo prilagodljivost pri aplikacijah za zaznavanje temperature. Nastavitve registra uporabnikom omogočajo, da konfigurirajo način varčevanja z energijo, način zaustavitve, način enega posnetka itd. Senzor ima serijski vmesnik, združljiv z i2c, ki lahko olajša povezavo do osmih naprav na enem zaporednem vodilu. Tukaj je njegova predstavitev s fotonom delcev.
Korak: Kaj potrebujete … !
1. Foton delcev
2. TCN75A
3. Kabel I²C
4. I²C ščit za fotone delcev
2. korak: Povezave:
Za foton delcev vzemite ščit I2C in ga nežno potisnite čez zatiče fotona delcev.
Nato en konec kabla I2C priključite na senzor TCN75A, drugi konec pa na ščit I2C.
Povezave so prikazane na zgornji sliki.
3. korak: Koda:
Kodo delcev za TCN75A lahko prenesete iz našega skladišča github- DCUBE Store.
Tukaj je povezava za isto:
github.com/DcubeTechVentures/TCN75A/blob/master/Particle/TCN75A.ino
Za kodo delcev smo uporabili dve knjižnici, in sicer application.h in spark_wiring_i2c.h. Za olajšanje komunikacije I2C s senzorjem je potrebna knjižnica Spark_wiring_i2c.
Kodo lahko tudi kopirate od tu, podana je na naslednji način:
// Razdeljeno z licenco za svobodno voljo.
// Uporabljajte ga kakor koli želite, dobičkonosno ali brezplačno, pod pogojem, da ustreza licencam povezanih del.
// TCN75A
// Ta koda je zasnovana za delo z mini modulom TCN75A_I2CS I2C
#vključi
#vključi
// TCN75A I2C naslov je 0x48 (72)
#define Addr 0x48
float cTemp = 0,0, fTemp = 0,0;
int temp = 0;
void setup ()
{
// Nastavi spremenljivko
Particle.variable ("i2cdevice", "TCN75A");
Delci.variable ("cTemp", cTemp);
// Inicializirajte komunikacijo I2C kot mojster
Wire.begin ();
// Začetek serijske komunikacije, nastavljena hitrost prenosa = 9600
Serial.begin (9600);
// Zagon prenosa I2C
Wire.beginTransmission (Addr);
// Izberite konfiguracijski register
Wire.write (0x01);
// 12-bitna ločljivost ADC
Wire.write (0x60);
// Ustavi prenos I2C
Wire.endTransmission ();
zamuda (300);
}
void loop ()
{
podpisani int podatki [2];
// Zagon prenosa I2C
Wire.beginTransmission (Addr);
// Izberite register podatkov
Wire.write (0x00);
// Ustavi prenos I2C
Wire.endTransmission ();
// Zahtevajte 2 bajta podatkov
Wire.requestFrom (Addr, 2);
// Preberite 2 bajta podatkov
// temp msb, temp lsb
če (Wire.available () == 2)
{
podatki [0] = Wire.read ();
podatki [1] = Wire.read ();
}
// Pretvorimo podatke v 12 bitov
temp = (((podatki [0] * 256) + (podatki [1] & 0xF0)) / 16);
če (temp> 2047)
{
temp -= 4096;
}
cTemp = temp * 0,0625;
fTemp = (cTemp * 1,8) + 32;
// Izhod podatkov na nadzorno ploščo
Particle.publish ("Temperatura v Celzijusi:", String (cTemp));
Particle.publish ("Temperatura v Fahrenheitu:", String (fTemp));
zamuda (1000);
}
4. korak: Aplikacije:
TCN75A je temperaturni senzor, ki ga je mogoče uporabiti v osebnih računalnikih in strežnikih. Uporablja se lahko tudi v razvedrilnih sistemih, pisarniški opremi, diskih in drugih zunanjih napravah za osebni računalnik. Ta senzor se uporablja tudi v opremi za podatkovno komunikacijo.