2025 Autor: John Day | [email protected]. Zadnja izmjena: 2025-01-13 06:57
TCN75A je dvožilni serijski senzor temperature ugrađen u pretvarač temperature u digitalni. Uključen je u registrovane programe koje korisnik može programirati i koji pružaju fleksibilnost za aplikacije senzora temperature. Postavke registra omogućuju korisnicima da konfiguriraju način uštede energije, način isključivanja, način snimanja jednim snimkom itd. Senzor ima i2c kompatibilno serijsko sučelje koje može olakšati povezivanje do osam uređaja na jednoj serijskoj sabirnici. Evo njegove demonstracije sa česticama fotona.
Korak 1: Šta vam treba…
1. Foton čestica
2. TCN75A
3. I²C kabel
4. I²C štit za čestice fotona
Korak 2: Veze:
Uzmite I2C štit za foton čestice i nježno ga gurnite preko igle fotona čestica.
Zatim spojite jedan kraj I2C kabela na senzor TCN75A, a drugi kraj na I2C štit.
Veze su prikazane na gornjoj slici.
Korak 3: Kod:
Kod čestica za TCN75A može se preuzeti s našeg github spremišta- DCUBE Store.
Evo linka za isto:
github.com/DcubeTechVentures/TCN75A/blob/master/Particle/TCN75A.ino
Za kod čestica koristili smo dvije biblioteke, a to su application.h i spark_wiring_i2c.h. Za olakšavanje I2C komunikacije sa senzorom potrebna je biblioteka Spark_wiring_i2c.
Kôd možete i kopirati odavde, dat je na sljedeći način:
// Distribuirano s licencom za slobodnu volju.
// Koristite ga kako god želite, profitno ili besplatno, pod uvjetom da se uklapa u licence povezanih djela.
// TCN75A
// Ovaj kod je dizajniran za rad s TCN75A_I2CS I2C mini modulom
#include
#include
// TCN75A I2C adresa je 0x48 (72)
#define Addr 0x48
float cTemp = 0,0, fTemp = 0,0;
int temp = 0;
void setup ()
{
// Postavi varijablu
Particle.variable ("i2cdevice", "TCN75A");
Particle.variable ("cTemp", cTemp);
// Inicializirajte I2C komunikaciju kao master
Wire.begin ();
// Pokrećemo serijsku komunikaciju, postavljena brzina prijenosa = 9600
Serial.begin (9600);
// Pokretanje I2C prijenosa
Wire.beginTransmission (Addr);
// Odabir registra konfiguracije
Wire.write (0x01);
// 12-bitna ADC rezolucija
Wire.write (0x60);
// Zaustavljanje I2C prijenosa
Wire.endTransmission ();
kašnjenje (300);
}
void loop ()
{
nepotpisani int podaci [2];
// Pokretanje I2C prijenosa
Wire.beginTransmission (Addr);
// Odabir registra podataka
Wire.write (0x00);
// Zaustavljanje I2C prijenosa
Wire.endTransmission ();
// Zatražite 2 bajta podataka
Wire.requestFrom (Addr, 2);
// Očitavanje 2 bajta podataka
// temp msb, temp lsb
if (Wire.available () == 2)
{
podaci [0] = Wire.read ();
podaci [1] = Wire.read ();
}
// Pretvorimo podatke u 12 bita
temp = (((podaci [0] * 256) + (podaci [1] & 0xF0)) / 16);
if (temp> 2047)
{
temp -= 4096;
}
cTemp = temp * 0,0625;
fTemp = (cTemp * 1.8) + 32;
// Izlaženje podataka na nadzornu ploču
Particle.publish ("Temperatura u Celzijusima:", String (cTemp));
Particle.publish ("Temperatura u Fahrenheitu:", String (fTemp));
kašnjenje (1000);
}
Korak 4: Aplikacije:
TCN75A je senzor temperature koji se može koristiti u personalnim računarima i serverima. Takođe se može primijeniti u sistemima za zabavu, kancelarijskoj opremi, hard diskovima i drugim perifernim uređajima za računare. Ovaj senzor svoju primjenu nalazi i u opremi za prenos podataka.