2025 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2025-01-13 06:58
TMP100 Visoko natančen, nizko porabljen digitalni temperaturni senzor I2C MINI modul. TMP100 je idealen za daljše merjenje temperature. Ta naprava ponuja natančnost ± 1 ° C, ne da bi bila potrebna kalibracija ali prilagajanje signala zunanjih komponent. Tukaj je predstavitev z Arduino Nano.
Korak: Kaj potrebujete.. !
1. Arduino Nano
2. TMP100
3. Kabel I²C
4. I²C ščit za Arduino Nano
2. korak: Povezava:
Vzemite ščit I2C za Arduino Nano in ga nežno potisnite čez zatiče Nano.
Nato en konec kabla I2C priključite na senzor TMP100, drugi konec pa na ščit I2C.
Povezave so prikazane na zgornji sliki.
3. korak: Koda:
Kodo Arduino za TMP100 lahko prenesete iz našega skladišča GitHub-Dcube Store
Tukaj je povezava za isto:
github.com/DcubeTechVentures/TMP100..
Vključujemo knjižnico Wire.h za olajšanje komunikacije senzorja I2c s ploščo Arduino.
Kodo lahko tudi kopirate od tu, podana je na naslednji način:
// Razdeljeno z licenco za svobodno voljo.
// Uporabljajte ga kakor koli želite, dobičkonosno ali brezplačno, pod pogojem, da ustreza licencam povezanih del.
// TMP100
// Ta koda je zasnovana za delo z mini modulom TMP100_I2CS I2C, ki je na voljo v trgovini Dcube.
#vključi
// Naslov TMP100 I2C je 0x4F (79)
#define Addr 0x4F
void setup ()
{
// Inicializirajte komunikacijo I2C kot MASTER
Wire.begin ();
// Začetek serijske komunikacije, nastavljena hitrost prenosa = 9600
Serial.begin (9600);
// Zagon prenosa I2C
Wire.beginTransmission (Addr);
// Izberite konfiguracijski register
Wire.write (0x01);
// Nastavitev neprekinjene pretvorbe, primerjalnega načina, 12-bitne ločljivosti
Wire.write (0x60);
// Ustavi prenos I2C
Wire.endTransmission ();
zamuda (300);
}
void loop ()
{
podpisani int podatki [2];
// Zagon prenosa I2C
Wire.beginTransmission (Addr);
// Izberite register podatkov
Wire.write (0x00);
// Ustavi prenos I2C
Wire.endTransmission ();
// Zahtevajte 2 bajta podatkov
Wire.requestFrom (Addr, 2);
// Preberite 2 bajta podatkov
// cTemp msb, cTemp lsb
če (Wire.available () == 2)
{
podatki [0] = Wire.read ();
podatki [1] = Wire.read ();
}
// Pretvorimo podatke
float cTemp = (((podatki [0] * 256) + (podatki [1] & 0xF0)) / 16) * 0,0625;
float fTemp = cTemp * 1,8 + 32;
// Izhodni podatki na serijski monitor
Serial.print ("Temperatura v Celzijusi:");
Serial.print (cTemp);
Serial.println ("C");
Serial.print ("Temperatura v Fahrenheitu:");
Serial.print (fTemp);
Serial.println ("F");
zamuda (500);
}
4. korak: Aplikacije:
Različne aplikacije, ki vključujejo digitalni temperaturni senzor TMP100 z nizko porabo in visoko natančnostjo, vključujejo spremljanje temperature napajanja, računalniško periferno toplotno zaščito, upravljanje baterij in pisarniške stroje.