Inhoudsopgave:
2025 Auteur: John Day | [email protected]. Laatst gewijzigd: 2025-01-13 06:57
TMP100 Hoognauwkeurige, energiezuinige, digitale temperatuursensor I2C MINI-module. De TMP100 is ideaal voor uitgebreide temperatuurmetingen. Dit apparaat biedt een nauwkeurigheid van ±1°C zonder kalibratie of signaalconditionering van externe componenten. Hier is de demonstratie met Arduino Nano.
Stap 1: Wat je nodig hebt.
1. Arduino Nano
2. TMP100
3. I²C-kabel
4. I²C-schild voor Arduino Nano
Stap 2: Aansluiting:
Neem een I2C-schild voor Arduino Nano en duw het voorzichtig over de pinnen van Nano.
Sluit vervolgens het ene uiteinde van de I2C-kabel aan op de TMP100-sensor en het andere uiteinde op de I2C-afscherming.
De aansluitingen zijn weergegeven in de afbeelding hierboven.
Stap 3: Coderen:
De Arduino-code voor TMP100 kan worden gedownload van onze GitHub-repository-Dcube Store
Hier is de link voor hetzelfde:
github.com/DcubeTechVentures/TMP100..
We nemen bibliotheek Wire.h op om de I2c-communicatie van de sensor met het Arduino-bord te vergemakkelijken.
U kunt de code ook hier kopiëren, deze wordt als volgt gegeven:
// Gedistribueerd met een vrije wilslicentie.
// Gebruik het zoals je wilt, winst of gratis, op voorwaarde dat het past in de licenties van de bijbehorende werken.
// TMP100
// Deze code is ontworpen om te werken met de TMP100_I2CS I2C Mini Module die beschikbaar is in Dcube Store.
#erbij betrekken
// TMP100 I2C-adres is 0x4F(79)
#define Addr 0x4F
ongeldige setup()
{
// Initialiseer I2C-communicatie als MASTER
Draad.begin();
// Initialiseer seriële communicatie, stel baudrate in = 9600
Serieel.begin(9600);
// Start I2C-verzending
Wire.beginTransmission (Addr);
// Selecteer configuratieregister
Draad.schrijven (0x01);
// Stel continue conversie, comparatormodus, 12-bits resolutie in
Draad.schrijven (0x60);
// Stop I2C-verzending
Wire.endTransmission();
vertraging (300);
}
lege lus()
{
niet-ondertekende int-gegevens[2];
// Start I2C-verzending
Wire.beginTransmission (Addr);
// Selecteer dataregister
Draad.schrijven (0x00);
// Stop I2C-verzending
Wire.endTransmission();
// Vraag 2 bytes aan gegevens aan
Wire.requestFrom(Addr, 2);
// Lees 2 bytes aan gegevens
// cTemp msb, cTemp lsb
if(Draad.beschikbaar() == 2)
{
data[0] = Draad.lezen();
data[1] = Draad.lezen();
}
// Converteer de gegevens
float cTemp = (((data[0] * 256) + (data[1] & 0xF0)) / 16) * 0.0625;
float fTemp = cTemp * 1.8 + 32;
// Gegevens uitvoeren naar seriële monitor
Serial.print ("Temperatuur in Celsius: ");
Serieel.print(cTemp);
Serieel.println("C");
Serial.print("Temperatuur in Fahrenheit: ");
Serieel.print(fTemp);
Serieel.println ("F");
vertraging (500);
}
Stap 4: Toepassingen:
Verschillende toepassingen met TMP100 low power, hoge nauwkeurigheid digitale temperatuursensor omvatten voeding temperatuurbewaking, computer perifere thermische beveiliging, batterijbeheer en kantoormachines.