2025 Autor: John Day | [email protected]. Viimati modifitseeritud: 2025-01-13 06:57
TMP100 suure täpsusega, väikese energiatarbega digitaalne temperatuuriandur I2C MINI moodul. TMP100 on ideaalne pikemaajaliseks temperatuuri mõõtmiseks. See seade pakub täpsust ± 1 ° C ilma kalibreerimist või välise komponendi signaali konditsioneerimist nõudmata. Siin on demonstratsioon Arduino Nanoga.
Samm: mida vajate..
1. Arduino Nano
2. TMP100
3. I²C kaabel
4. I²C kilp Arduino Nano jaoks
2. samm: ühendus:
Võtke Arduino Nano jaoks I2C kilp ja lükake see õrnalt üle Nano tihvtide.
Seejärel ühendage I2C kaabli üks ots TMP100 anduriga ja teine ots I2C varjestusega.
Ühendused on näidatud ülaltoodud pildil.
3. samm: kood:
TMP100 Arduino koodi saate alla laadida meie GitHubi hoidlast Dcube Store
Siin on link samale:
github.com/DcubeTechVentures/TMP100..
Kaasame raamatukogu Wire.h, et hõlbustada anduri I2c -side Arduino plaadiga.
Siit saate koodi ka kopeerida, see on järgmine:
// Levitatakse vaba tahte litsentsiga.
// Kasutage seda soovitud viisil, kasumit teenides või tasuta, tingimusel et see sobib sellega seotud teoste litsentsidega.
// TMP100
// See kood on loodud töötama Dcube Store'is saadaval oleva TMP100_I2CS I2C minimooduliga.
#kaasake
// TMP100 I2C aadress on 0x4F (79)
#define Addr 0x4F
tühine seadistus ()
{
// Initsialiseeri I2C side kui MASTER
Wire.begin ();
// Initsialiseeri jadaühendus, määrake edastuskiirus = 9600
Seriaalne algus (9600);
// Käivitage I2C edastamine
Wire.beginTransmission (Addr);
// Valige konfiguratsiooniregister
Wire.write (0x01);
// Määra pidev teisendamine, võrdlusrežiim, 12-bitine eraldusvõime
Wire.write (0x60);
// Peata I2C edastamine
Wire.endTransmission ();
viivitus (300);
}
tühine tsükkel ()
{
allkirjastamata int andmed [2];
// Käivitage I2C edastamine
Wire.beginTransmission (Addr);
// Valige andmeregister
Wire.write (0x00);
// Peata I2C edastamine
Wire.endTransmission ();
// Taotle 2 baiti andmeid
Wire.requestFrom (Addr, 2);
// Lugege 2 baiti andmeid
// cTemp msb, cTemp lsb
kui (Wire.available () == 2)
{
andmed [0] = Wire.read ();
andmed [1] = Wire.read ();
}
// Teisendage andmed
ujuk cTemp = (((andmed [0] * 256) + (andmed [1] & 0xF0)) / 16) * 0,0625;
ujuk fTemp = cTemp * 1,8 + 32;
// Andmete väljastamine jadamonitorile
Serial.print ("Temperatuur Celsiuse järgi:");
Serial.print (cTemp);
Serial.println ("C");
Serial.print ("Temperatuur Fahrenheiti järgi:");
Serial.print (fTemp);
Serial.println ("F");
viivitus (500);
}
4. samm: rakendused:
Erinevad rakendused, mis sisaldavad väikese võimsusega ja suure täpsusega digitaalset temperatuuriandurit, hõlmavad toiteallika temperatuuri jälgimist, arvuti perifeerset termokaitset, aku haldamist ja kontorimasinaid.