2025 Outeur: John Day | [email protected]. Laas verander: 2025-01-13 06:56
TMP100 I2C MINI-module met hoë akkuraatheid, lae krag, digitale temperatuur sensor. Die TMP100 is ideaal vir uitgebreide temperatuurmeting. Hierdie toestel bied 'n akkuraatheid van ± 1 ° C sonder om kalibrasie of kondisionering van eksterne komponente te vereis. Hier is die demonstrasie met Arduino Nano.
Stap 1: wat u nodig het..
1. Arduino Nano
2. TMP100
3. I²C -kabel
4. I²C -skild vir Arduino Nano
Stap 2: Verbinding:
Neem 'n I2C -skild vir Arduino Nano en druk dit saggies oor die penne van Nano.
Koppel dan die een kant van die I2C -kabel aan die TMP100 -sensor en die ander kant aan die I2C -skild.
Verbindings word op die foto hierbo getoon.
Stap 3: Kode:
Die Arduino-kode vir TMP100 kan afgelaai word in ons GitHub repository-Dcube Store
Hier is die skakel vir dieselfde:
github.com/DcubeTechVentures/TMP100..
Ons bevat biblioteek Wire.h om die I2c -kommunikasie van die sensor met die Arduino -bord te vergemaklik.
U kan die kode ook hiervandaan kopieer; dit word soos volg gegee:
// Versprei met 'n vrywillige lisensie.
// Gebruik dit op enige manier wat u wil, wins of gratis, mits dit in die lisensies van die gepaardgaande werke pas.
// TMP100
// Hierdie kode is ontwerp om te werk met die TMP100_I2CS I2C Mini Module wat beskikbaar is in Dcube Store.
#insluit
// TMP100 I2C adres is 0x4F (79)
#definieer Addr 0x4F
leemte opstelling ()
{
// Initialiseer I2C -kommunikasie as MASTER
Wire.begin ();
// Initialiseer seriële kommunikasie, stel baud rate = 9600 in
Serial.begin (9600);
// Begin I2C -oordrag
Wire.beginTransmission (Addr);
// Kies konfigurasie register
Wire.write (0x01);
// Stel deurlopende omskakeling, vergelykingsmodus, resolusie van 12 bis in
Wire.write (0x60);
// Stop I2C -oordrag
Wire.endTransmission ();
vertraging (300);
}
leemte lus ()
{
ongetekende int data [2];
// Begin I2C -oordrag
Wire.beginTransmission (Addr);
// Kies dataregister
Wire.write (0x00);
// Stop I2C -oordrag
Wire.endTransmission ();
// Versoek 2 grepe data
Wire.requestFrom (Addr, 2);
// Lees 2 grepe data
// cTemp msb, cTemp lsb
as (Wire.available () == 2)
{
data [0] = Wire.read ();
data [1] = Wire.read ();
}
// Skakel die data om
float cTemp = (((data [0] * 256) + (data [1] & 0xF0)) / 16) * 0,0625;
float fTemp = cTemp * 1.8 + 32;
// Uitset data na die seriële monitor
Serial.print ("Temperatuur in Celsius:");
Serial.print (cTemp);
Serial.println ("C");
Serial.print ("Temperatuur in Fahrenheit:");
Serial.print (fTemp);
Serial.println ("F");
vertraging (500);
}
Stap 4: Aansoeke:
Verskeie toepassings wat TMP100 lae temperatuur, hoë akkuraatheid digitale temperatuursensor bevat, sluit in monitering van kragtoevoer, perifere termiese beskerming teen rekenaar, batterybestuur sowel as kantoormasjiene.