2025 Autor: John Day | [email protected]. Zadnja promjena: 2025-01-13 06:57
TCN75A je dvožični serijski temperaturni senzor ugrađen u pretvarač temperature u digitalni. Uključen je u programe koje može programirati korisnik i koji pružaju fleksibilnost za aplikacije osjetljivih na temperaturu. Postavke registra omogućuju korisnicima da konfiguriraju način uštede energije, način isključivanja, način jednog snimanja itd. Senzor ima i2c kompatibilno serijsko sučelje koje može olakšati povezivanje do osam uređaja na jednoj serijskoj sabirnici. Ovdje je njegova demonstracija s fotonom čestica.
Korak 1: Što 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.
Priključci su prikazani na gornjoj slici.
Korak 3: Kôd:
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 knjižnice, a to su application.h i spark_wiring_i2c.h. Za olakšavanje I2C komunikacije sa senzorom potrebna je knjižnica Spark_wiring_i2c.
Ovdje možete i kopirati kôd, dat je na sljedeći način:
// Distribuirano s licencom slobodne volje.
// Koristite ga kako god želite, profitno ili besplatno, pod uvjetom da se uklapa u licence povezanih djela.
// TCN75A
// Ovaj kôd je dizajniran za rad s TCN75A_I2CS I2C mini modulom
#uključi
#uključi
// 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");
Čestica.varijabilna ("cTemp", cTemp);
// Inicializirajte I2C komunikaciju kao master
Wire.begin ();
// Pokretanje serijske komunikacije, 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);
ako (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 temperaturni senzor koji se može koristiti u osobnim računalima i poslužiteljima. Također se može primijeniti u sustavima za zabavu, uredskoj opremi, hard diskovima i drugim perifernim računalima. Ovaj senzor također nalazi svoju primjenu u opremi za podatkovnu komunikaciju.