2025 Autor: John Day | [email protected]. Modificat ultima dată: 2025-01-13 06:58
TMP100 Senzor digital de temperatură de înaltă precizie, consum redus, modul I2C MINI. TMP100 este ideal pentru măsurarea extinsă a temperaturii. Acest dispozitiv oferă o precizie de ± 1 ° C fără a necesita calibrare sau condiționarea semnalului componentelor externe. Iată demonstrația cu Arduino Nano.
Pasul 1: De ce ai nevoie..
1. Arduino Nano
2. TMP100
3. Cablu I²C
4. Scut I²C pentru Arduino Nano
Pasul 2: Conexiune:
Luați un scut I2C pentru Arduino Nano și împingeți-l ușor peste pinii Nano.
Apoi conectați capătul unui cablu I2C la senzorul TMP100 și celălalt capăt la ecranul I2C.
Conexiunile sunt afișate în imaginea de mai sus.
Pasul 3: Cod:
Codul Arduino pentru TMP100 poate fi descărcat din depozitul nostru GitHub-Magazinul Dcube
Iată linkul pentru același lucru:
github.com/DcubeTechVentures/TMP100..
Includem biblioteca Wire.h pentru a facilita comunicarea I2c a senzorului cu placa Arduino.
De asemenea, puteți copia codul de aici, acesta este dat după cum urmează:
// Distribuit cu o licență de liberă voință.
// Folosiți-l în orice mod doriți, profit sau gratuit, cu condiția să se încadreze în licențele lucrărilor sale asociate.
// TMP100
// Acest cod este conceput pentru a funcționa cu mini-modulul TMP100_I2CS I2C disponibil în magazinul Dcube.
#include
// Adresa TMP100 I2C este 0x4F (79)
#define Addr 0x4F
configurare nulă ()
{
// Inițializați comunicarea I2C ca MASTER
Wire.begin ();
// Inițializați comunicarea în serie, setați baud rate = 9600
Serial.begin (9600);
// Porniți transmisia I2C
Wire.beginTransmission (Addr);
// Selectați registrul de configurare
Wire.write (0x01);
// Setați conversia continuă, modul comparator, rezoluția de 12 biți
Wire.write (0x60);
// Opriți transmisia I2C
Wire.endTransmission ();
întârziere (300);
}
bucla nulă ()
{
date int nesemnate [2];
// Porniți transmisia I2C
Wire.beginTransmission (Addr);
// Selectați registrul de date
Wire.write (0x00);
// Opriți transmisia I2C
Wire.endTransmission ();
// Solicitați 2 octeți de date
Wire.requestFrom (Addr, 2);
// Citiți 2 octeți de date
// cTemp msb, cTemp lsb
if (Wire.available () == 2)
{
date [0] = Wire.read ();
date [1] = Wire.read ();
}
// Conversia datelor
float cTemp = (((date [0] * 256) + (date [1] & 0xF0)) / 16) * 0,0625;
float fTemp = cTemp * 1,8 + 32;
// Ieșire date pe monitorul serial
Serial.print ("Temperatura în grade Celsius:");
Serial.print (cTemp);
Serial.println ("C");
Serial.print ("Temperatura în Fahrenheit:");
Serial.print (fTemp);
Serial.println ("F");
întârziere (500);
}
Pasul 4: Aplicații:
Diferite aplicații care încorporează senzor digital de temperatură TMP100 cu putere redusă și precizie ridicată includ monitorizarea temperaturii alimentării, protecția termică periferică a computerului, gestionarea bateriilor, precum și mașinile de birou.