Inhaltsverzeichnis:
2025 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2025-01-13 06:56
TMP007 ist ein Infrarot-Thermopile-Sensor, der die Temperatur eines Objekts misst, ohne dieses zu berühren. Die vom Objekt im Sensorfeld emittierte Infrarotenergie wird von der im Sensor integrierten Thermosäule absorbiert. Die Thermosäulenspannung wird digitalisiert und als Eingabe an die integrierte Math-Engine gespeist. Diese integrierte Math-Engine berechnet die Objekttemperatur. Hier ist seine Arbeitsdemonstration mit Raspberry Pi mit Python-Code.
Schritt 1: Was Sie brauchen.
1. Himbeer-Pi
2. TMP007
3. I²C-Kabel
4. I²C-Shield für Raspberry Pi
5. Ethernet-Kabel
Schritt 2: Verbindung:
Nehmen Sie ein I2C-Schild für Himbeer-Pi und schieben Sie es vorsichtig über die gpio-Pins von Himbeer-Pi.
Verbinden Sie dann das eine Ende des I2C-Kabels mit dem TMP007-Sensor und das andere Ende mit der I2C-Abschirmung.
Verbinden Sie auch das Ethernet-Kabel mit dem Pi oder verwenden Sie ein WiFi-Modul.
Die Anschlüsse sind im Bild oben dargestellt.
Schritt 3: Code:
Der Python-Code für TMP007 kann von unserem GitHub-Repository – DCUBE Store Community – heruntergeladen werden.
Hier ist der Link.
Wir haben die SMBus-Bibliothek für Python-Code verwendet, die Schritte zur Installation von SMBus auf Raspberry Pi sind hier beschrieben:
pypi.python.org/pypi/smbus-cffi/0.5.1
Sie können den Code auch von hier kopieren, er wird wie folgt angegeben:
# Wird mit freier Lizenz verteilt.
# Verwenden Sie es nach Belieben, gewinnbringend oder kostenlos, sofern es in die Lizenzen der zugehörigen Werke passt.
# TMP007
# Dieser Code wurde entwickelt, um mit dem TMP007_I2CS I2C Mini-Modul zu arbeiten, das im DCUBE Store erhältlich ist.
smbus importieren
Importzeit
# Holen Sie sich den I2C-Bus
bus = smbus. SMBus(1)
# TMP007-Adresse, 0x40(64)
# Konfigurationsregister auswählen, 0x02(02)
# 0x1540(5440) Kontinuierlicher Konvertierungsmodus, Komparatormodus
Daten = [0x1540]bus.write_i2c_block_data(0x40, 0x02, Daten)
time.sleep(0.5)
# TMP007-Adresse, 0x40(64)
# Daten von 0x03(03) zurücklesen, 2 Byte
# cTemp-MSB, cTemp-LSB
data = bus.read_i2c_block_data(0x40, 0x03, 2)
# Konvertieren Sie die Daten in 14-Bit
cTemp = ((data[0] * 256 + (data[1] & 0xFC)) / 4)
wenn cTemp > 8191:
cTemp -= 16384
cTemp = cTemp * 0,03125
fTemp = cTemp * 1,8 + 32
# Daten auf den Bildschirm ausgeben
print "Objekttemperatur in Celsius: %.2f C" %cTemp
print "Objekttemperatur in Fahrenheit: %.2f F" %fTemp
Schritt 4: Anwendungen:
TMP007 findet seine Anwendung in Systemen, in denen eine berührungslose Temperaturmessung erforderlich ist. Sie werden in Laptop- und Tablet-Hüllen, Batterien etc. eingesetzt. Sie werden auch in Kühlkörpern sowie Laserdruckern verbaut. Seine höhere Effizienz bei der Messung der Temperatur ohne Kontakt mit dem eigentlichen Objekt gibt ihm einen zusätzlichen Vorteil für seine verschiedenen Anwendungen.