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 een Java-code met Raspberry Pi.
Stap 1: Wat je nodig hebt.
1. Raspberry Pi
2. TMP100
3. I²C-kabel
4. I²C-schild voor Raspberry Pi
5. Ethernet-kabel
Stap 2: Aansluiting:
Neem een I2C-schild voor Raspberry Pi en duw het voorzichtig over de gpio-pinnen van Raspberry Pi.
Sluit vervolgens het ene uiteinde van de I2C-kabel aan op de TMP100-sensor en het andere uiteinde op de I2C-afscherming.
Sluit ook de Ethernet-kabel aan op de pi of u kunt een WiFi-module gebruiken.
De aansluitingen zijn weergegeven in de afbeelding hierboven.
Stap 3: Coderen:
De Java-code voor TMP100 kan worden gedownload van onze GitHub-repository - Dcube Store.
Hier is de link voor hetzelfde:
github.com/DcubeTechVentures/TMP100…
We hebben de pi4j-bibliotheek gebruikt voor java-code, de stappen om pi4j op raspberry pi te installeren worden hier beschreven:
pi4j.com/install.html
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.
com.pi4j.io.i2c. I2CBus importeren;
com.pi4j.io.i2c. I2CDevice importeren;
importeer com.pi4j.io.i2c. I2CFactory;
import java.io. IOException;
openbare klasse TMP100
{
public static void main(String args) gooit Exception
{
// I2C-bus maken
I2CBus Bus = I2CFactory.getInstance(I2CBus. BUS_1);
// Krijg I2C-apparaat, TMP100 I2C-adres is 0x4F (79)
I2CDevice-apparaat = Bus.getDevice (0x4F);
// Selecteer configuratieregister
// Continue conversie, comparatormodus, 12-bits resolutie
apparaat.schrijven (0x01, (byte)0x60);
Draad.slaap(500);
// Lees 2 bytes aan gegevens
// temp msb, temp lsb
byte data = nieuwe byte[2];
apparaat.lezen (0x00, data, 0, 2);
// Converteer de gegevens naar 12-bits
int temp = ((data[0] & 0xFF) * 256 + (data[1] & 0xF0))/16;
als (temperatuur > 2047)
{
temperatuur -= 4096;
}
dubbele cTemp = temp * 0,0625;
dubbele fTemp = cTemp * 1.8 + 32;
// Gegevens uitvoeren naar scherm
System.out.printf("Temperatuur in Celsius: %.2f C %n", cTemp);
System.out.printf("Temperatuur in Fahrenheit: %.2f F %n", fTemp);
}
}
Stap 4: Toepassingen:
Verschillende toepassingen met TMP100 low power, hoge nauwkeurigheid digitale temperatuursensor omvatten voeding temperatuurbewaking, computer perifere thermische beveiliging, batterijbeheer en kantoormachines.