Innholdsfortegnelse:
2025 Forfatter: John Day | [email protected]. Sist endret: 2025-01-13 06:58
TMP100 I2C MINI-modul med høy nøyaktighet, lav effekt, digital temperatursensor. TMP100 er ideell for utvidet temperaturmåling. Denne enheten tilbyr en nøyaktighet på ± 1 ° C uten å kreve kalibrering eller kondisjonering av eksterne komponenter. Her er demonstrasjonen med Arduino Nano.
Trinn 1: Hva du trenger..
1. Arduino Nano
2. TMP100
3. I²C -kabel
4. I²C -skjold for Arduino Nano
Trinn 2: Tilkobling:
Ta et I2C -skjold for Arduino Nano og skyv det forsiktig over pinnene på Nano.
Koble deretter den ene enden av I2C -kabelen til TMP100 -sensoren og den andre enden til I2C -skjoldet.
Tilkoblinger er vist på bildet ovenfor.
Trinn 3: Kode:
Arduino-koden for TMP100 kan lastes ned fra vår GitHub repository-Dcube Store
Her er lenken til det samme:
github.com/DcubeTechVentures/TMP100..
Vi inkluderer bibliotek Wire.h for å lette I2c -kommunikasjonen av sensoren med Arduino -kortet.
Du kan også kopiere koden herfra, den er gitt som følger:
// Distribuert med en fri viljelisens.
// Bruk den slik du vil, profitt eller gratis, forutsatt at den passer inn i lisensene til de tilhørende verkene.
// TMP100
// Denne koden er designet for å fungere med TMP100_I2CS I2C Mini Module tilgjengelig i Dcube Store.
#inkludere
// TMP100 I2C -adressen er 0x4F (79)
#define Addr 0x4F
ugyldig oppsett ()
{
// Initialiser I2C -kommunikasjon som MASTER
Wire.begin ();
// Initialiser seriell kommunikasjon, sett baud rate = 9600
Serial.begin (9600);
// Start I2C -overføring
Wire.beginTransmission (Addr);
// Velg konfigurasjonsregister
Wire.write (0x01);
// Angi kontinuerlig konvertering, komparator-modus, 12-biters oppløsning
Wire.write (0x60);
// Stopp I2C -overføring
Wire.endTransmission ();
forsinkelse (300);
}
hulrom ()
{
usignerte int -data [2];
// Start I2C -overføring
Wire.beginTransmission (Addr);
// Velg dataregister
Wire.write (0x00);
// Stopp I2C -overføring
Wire.endTransmission ();
// Be om 2 byte med data
Wire.requestFrom (Addr, 2);
// Les 2 byte med data
// cTemp msb, cTemp lsb
hvis (Wire.available () == 2)
{
data [0] = Wire.read ();
data [1] = Wire.read ();
}
// Konverter dataene
float cTemp = (((data [0] * 256) + (data [1] & 0xF0)) / 16) * 0,0625;
float fTemp = cTemp * 1,8 + 32;
// Utdata til seriell skjerm
Serial.print ("Temperatur i Celsius:");
Serial.print (cTemp);
Serial.println ("C");
Serial.print ("Temperatur i Fahrenheit:");
Serial.print (fTemp);
Serial.println ("F");
forsinkelse (500);
}
Trinn 4: Søknader:
Ulike applikasjoner som inneholder TMP100 digital temperaturføler med lav effekt og høy nøyaktighet, inkluderer temperaturovervåking av strømforsyning, datamaskinens perifere termiske beskyttelse, batteristyring samt kontormaskiner.