Turinys:
2025 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2025-01-13 06:57
TCN75A yra dviejų laidų nuoseklus temperatūros jutiklis, integruotas su temperatūros-skaitmeniniu keitikliu. Jis įtrauktas į vartotojo programuojamus registrus, kurie suteikia lankstumo temperatūros jutiklinėms programoms. Registro nustatymai leidžia vartotojams konfigūruoti energijos taupymo režimą, išjungimo režimą, vieno kadro režimą ir pan. Čia yra jo demonstravimas su dalelių fotonu.
1 žingsnis: ko jums reikia …
1. Dalelių fotonas
2. TCN75A
3. I²C kabelis
4. I²C skydas dalelių fotonui
2 žingsnis: jungtys:
Paimkite dalelių fotono I2C skydą ir švelniai stumkite jį ant dalelių fotono kaiščių.
Tada vieną I2C kabelio galą prijunkite prie TCN75A jutiklio, o kitą - prie I2C skydo.
Sujungimai parodyti aukščiau esančiame paveikslėlyje.
3 žingsnis: kodas:
TCN75A dalelių kodą galima atsisiųsti iš mūsų „github“saugyklos- „DCUBE Store“.
Čia yra nuoroda į tą patį:
github.com/DcubeTechVentures/TCN75A/blob/master/Particle/TCN75A.ino
Dalelių kodui panaudojome dvi bibliotekas - application.h ir spark_wiring_i2c.h. Norint palengvinti I2C ryšį su jutikliu, reikalinga „Spark_wiring_i2c“biblioteka.
Taip pat galite nukopijuoti kodą iš čia, jis pateikiamas taip:
// Platinama su laisvos valios licencija.
// Naudokite bet kokiu būdu, pelningai ar nemokamai, jei jis atitinka susijusių darbų licencijas.
// TCN75A
// Šis kodas skirtas dirbti su TCN75A_I2CS I2C mini moduliu
#įtraukti
#įtraukti
// TCN75A I2C adresas yra 0x48 (72)
#define Addr 0x48
plūdė cTemp = 0.0, fTemp = 0.0;
int temp = 0;
negaliojanti sąranka ()
{
// Nustatyti kintamąjį
Particle.variable ("i2cdevice", "TCN75A");
Particle.variable ("cTemp", cTemp);
// Inicijuoti I2C komunikaciją kaip pagrindinį
Wire.begin ();
// Inicijuoti nuoseklųjį ryšį, nustatyti duomenų perdavimo spartą = 9600
Serial.begin (9600);
// Pradėti I2C perdavimą
Wire.beginTransmission (Addr);
// Pasirinkite konfigūracijos registrą
Wire.write (0x01);
// 12 bitų ADC skiriamoji geba
Wire.write (0x60);
// Sustabdyti I2C perdavimą
Wire.endTransmission ();
vėlavimas (300);
}
tuštumos kilpa ()
{
nepasirašyti int duomenys [2];
// Pradėti I2C perdavimą
Wire.beginTransmission (Addr);
// Pasirinkite duomenų registrą
Wire.write (0x00);
// Sustabdyti I2C perdavimą
Wire.endTransmission ();
// Prašyti 2 baitų duomenų
Wire.requestFrom (Addr, 2);
// Skaityti 2 baitus duomenų
// temp msb, temp lsb
jei (Wire.available () == 2)
{
duomenys [0] = Wire.read ();
duomenys [1] = Wire.read ();
}
// Konvertuokite duomenis į 12 bitų
temp = (((duomenys [0] * 256) + (duomenys [1] ir 0xF0)) / 16);
jei (temperatūra> 2047)
{
temperatūra -= 4096;
}
cTemp = temp * 0,0625;
fTemp = (cTemp * 1,8) + 32;
// Išvesti duomenis į prietaisų skydelį
Particle.publish ("Temperatūra Celsijaus laipsniais:", Styga (cTemp));
Particle.publish ("Temperatūra Farenheitu:", Styga (fTemp));
vėlavimas (1000);
}
4 žingsnis: programos:
TCN75A yra temperatūros jutiklis, kurį galima naudoti asmeniniuose kompiuteriuose ir serveriuose. Jis taip pat gali būti naudojamas pramogų sistemose, biuro įrangoje, „hars“diskų įrenginiuose ir kituose kompiuterių periferiniuose įrenginiuose. Šis jutiklis taip pat gali būti naudojamas duomenų perdavimo įrangoje.