Inhoudsopgave:
2025 Auteur: John Day | [email protected]. Laatst gewijzigd: 2025-01-13 06:57
TCN75A is een tweedraads seriële temperatuursensor ingebouwd met een temperatuur-naar-digitaal omzetter. Het is geïntegreerd met door de gebruiker programmeerbare registers die flexibiliteit bieden voor temperatuurgevoelige toepassingen. Met de registerinstellingen kunnen gebruikers de energiebesparende modus, uitschakelmodus, one-shot-modus enz. configureren. De sensor heeft een i2c-compatibele seriële interface die de aansluiting van maximaal acht apparaten in een enkele seriële bus kan vergemakkelijken. Hier is de demonstratie met arduino nano.
Stap 1: Wat je nodig hebt.
1. Arduino Nano
2. TCN75A
3. I²C-kabel
4. I²C-schild voor Arduino Nano
Stap 2: Aansluiting:
Neem een I2C-schild voor Arduino Nano en duw het voorzichtig over de pinnen van Nano.
Sluit vervolgens het ene uiteinde van de I2C-kabel aan op de TCN75A-sensor en het andere uiteinde op de I2C-afscherming.
De aansluitingen zijn weergegeven in de afbeelding hierboven.
Stap 3: Coderen:
De Arduino-code voor TCN75A kan worden gedownload van onze Github-repository-DCUBE Store.
Hier is de link voor hetzelfde:
github.com/DcubeTechVentures/TCN75A/blob/master/Arduino/TCN75A.ino
We nemen bibliotheek Wire.h op om de I2c-communicatie van de sensor met het Arduino-bord te vergemakkelijken. U kunt de code ook hier kopiëren, deze wordt als volgt gegeven:
// Gedistribueerd met een vrije wilslicentie.
// Gebruik het zoals je wilt, winst of gratis, op voorwaarde dat het past in de licenties van de bijbehorende werken.
// TCN75A
// Deze code is ontworpen om te werken met de TCN75A_I2CS I2C Mini Module
#erbij betrekken
// TCN75A I2C-adres is 0x48(72)
#define Addr 0x48
ongeldige setup()
{
// Initialiseer I2C-communicatie als Master
Draad.begin();
// Initialiseer seriële communicatie, stel baudrate in = 9600
Serieel.begin(9600);
// Start I2C-transmissie
Wire.beginTransmission (Addr);
// Selecteer configuratieregister
Draad.schrijven (0x01);
// 12-bits ADC-resolutie
Draad.schrijven (0x60);
// Stop I2C-transmissie
Wire.endTransmission();
vertraging (300);
}
lege lus()
{
niet-ondertekende int-gegevens[2];
// Start I2C-transmissie
Wire.beginTransmission (Addr);
// Selecteer dataregister
Draad.schrijven (0x00);
// Stop I2C-transmissie
Wire.endTransmission();
// Vraag 2 bytes aan gegevens aan
Wire.requestFrom(Addr, 2);
// Lees 2 bytes aan gegevens
// temp msb, temp lsb
if (Draad.beschikbaar() == 2)
{
data[0] = Draad.lezen();
data[1] = Draad.lezen();
}
// Converteer de gegevens naar 12-bits
int temp = (((data[0] * 256) + (data[1] & 0xF0))/16);
als (temperatuur > 2047)
{
temperatuur -= 4096;
}
vlotter cTemp = temp * 0,0625;
float fTemp = (cTemp * 1.8) + 32;
// Gegevens uitvoeren naar seriële monitor
Serial.print ("Temperatuur in Celsius: ");
Serieel.print(cTemp); Serieel.println("C");
Serial.print("Temperatuur in Fahrenheit: ");
Serieel.print(fTemp);
Serieel.println ("F");
vertraging (1000);
}
Stap 4: Toepassingen:
TCN75A is een temperatuursensor die kan worden gebruikt in personal computers en servers. Hij kan ook worden ingezet in entertainmentsystemen, kantoorapparatuur, harde schijven en andere pc-randapparatuur. Deze sensor vindt ook zijn toepassing in datacommunicatieapparatuur.