Inhaltsverzeichnis:
2025 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2025-01-13 06:56
TCN75A ist ein serieller Zweidraht-Temperatursensor mit integriertem Temperatur-Digital-Wandler. Es ist mit benutzerprogrammierbaren Registern ausgestattet, die Flexibilität für Temperaturerfassungsanwendungen bieten. Mit den Registereinstellungen können Benutzer den Energiesparmodus, den Abschaltmodus, den One-Shot-Modus usw. konfigurieren. Der Sensor verfügt über eine i2c-kompatible serielle Schnittstelle, die den Anschluss von bis zu acht Geräten an einem einzigen seriellen Bus ermöglicht. Hier ist seine Demonstration mit Teilchenphotonen.
Schritt 1: Was Sie brauchen…
1. Teilchenphoton
2. TCN75A
3. I²C-Kabel
4. I²C-Schild für Teilchenphotonen
Schritt 2: Anschlüsse:
Nehmen Sie einen I2C-Schild für Partikelphotonen und schieben Sie ihn vorsichtig über die Pins des Partikelphotons.
Verbinden Sie dann das eine Ende des I2C-Kabels mit dem TCN75A-Sensor und das andere Ende mit der I2C-Abschirmung.
Die Anschlüsse sind im Bild oben dargestellt.
Schritt 3: Code:
Der Partikelcode für TCN75A kann von unserem Github-Repository – DCUBE Store – heruntergeladen werden.
Hier der Link dazu:
github.com/DcubeTechVentures/TCN75A/blob/master/Particle/TCN75A.ino
Wir haben zwei Bibliotheken für Partikelcode verwendet, nämlich application.h und spark_wiring_i2c.h. Die Bibliothek Spark_wiring_i2c wird benötigt, um die I2C-Kommunikation mit dem Sensor zu ermöglichen.
Sie können den Code auch von hier kopieren, er wird wie folgt angegeben:
// Wird mit einer frei wählbaren Lizenz vertrieben.
// Verwenden Sie es, wie Sie wollen, gewinnbringend oder kostenlos, sofern es in die Lizenzen der zugehörigen Werke passt.
// TCN75A
// Dieser Code wurde entwickelt, um mit dem TCN75A_I2CS I2C Mini Module zu arbeiten
#enthalten
#enthalten
// TCN75A I2C-Adresse ist 0x48(72)
#define Addr 0x48
Schwimmer cTemp = 0.0, fTemp = 0.0;
int-Temp = 0;
Void-Setup ()
{
// Variable setzen
Partikel.variable("i2cdevice", "TCN75A");
Partikel.variable("cTemp", cTemp);
// I2C-Kommunikation als Master initialisieren
Wire.begin();
// Serielle Kommunikation initialisieren, Baudrate = 9600. einstellen
Serial.begin (9600);
// I2C-Übertragung starten
Wire.beginTransmission(Addr);
// Konfigurationsregister auswählen
Wire.write (0x01);
// 12-Bit-ADC-Auflösung
Wire.write (0x60);
// I2C-Übertragung stoppen
Wire.endTransmission();
Verzögerung (300);
}
Leere Schleife ()
{
unsignierte int-Daten[2];
// I2C-Übertragung starten
Wire.beginTransmission(Addr);
// Datenregister auswählen
Wire.write (0x00);
// I2C-Übertragung stoppen
Wire.endTransmission();
// 2 Byte Daten anfordern
Wire.requestFrom(Addr, 2);
// 2 Byte Daten lesen
// temp msb, temp lsb
if (Draht.verfügbar() == 2)
{
data[0] = Wire.read();
data[1] = Wire.read();
}
// Konvertieren Sie die Daten in 12 Bit
temp = (((data[0] * 256) + (data[1] & 0xF0)) / 16);
wenn (temp > 2047)
{
Temperatur -= 4096;
}
cTemp = Temperatur * 0,0625;
fTemp = (cTemp * 1,8) + 32;
// Daten an Dashboard ausgeben
Particle.publish("Temperatur in Celsius: ", String(cTemp));
Particle.publish("Temperatur in Fahrenheit: ", String(fTemp));
Verzögerung (1000);
}
Schritt 4: Anwendungen:
TCN75A ist ein Temperatursensor, der in PCs und Servern eingesetzt werden kann. Er kann auch in Unterhaltungssystemen, Bürogeräten, Festplatten und anderen PC-Peripheriegeräten eingesetzt werden. Dieser Sensor findet auch seine Anwendung in Datenkommunikationsgeräten.