2025 Outeur: John Day | [email protected]. Laas verander: 2025-01-13 06:56
TMP007 is 'n infrarooi termopile sensor wat die temperatuur van 'n voorwerp meet sonder om daarmee in aanraking te kom. Die infrarooi energie wat deur die voorwerp in die sensorveld uitgestraal word, word geabsorbeer deur die termopaal wat in die sensor geïntegreer is. Die termospanning word gedigitaliseer en as invoer na die geïntegreerde wiskunde -enjin gevoer. Hierdie geïntegreerde wiskunde -enjin bereken die temperatuur van die voorwerp. Hier is die werkende demonstrasie met Raspberry Pi met behulp van python -kode.
Stap 1: wat u nodig het..
1. Framboos Pi
2. TMP007
3. I²C -kabel
4. I²C -skild vir Framboos Pi
5. Ethernet -kabel
Stap 2: Verbinding:
Neem 'n I2C skild vir framboos pi en druk dit liggies oor die gpio penne van framboos pi.
Koppel dan die een kant van die I2C -kabel aan die TMP007 -sensor en die ander kant aan die I2C -skild.
Koppel ook die Ethernet -kabel aan die pi, of u kan 'n WiFi -module gebruik.
Verbindings word op die foto hierbo getoon.
Stap 3: Kode:
Die python-kode vir TMP007 kan afgelaai word vanaf ons GitHub repository- DCUBE Store Community.
Hier is die skakel.
Ons het SMBus -biblioteek gebruik vir python -kode, die stappe om SMBus op framboos pi te installeer word hier beskryf:
pypi.python.org/pypi/smbus-cffi/0.5.1
U kan die kode ook hiervandaan kopieer; dit word soos volg gegee:
# Versprei met 'n vrywillige lisensie.
# Gebruik dit soos u wil, wins of gratis, mits dit in die lisensies van die gepaardgaande werke pas.
# TMP007
# Hierdie kode is ontwerp om te werk met die TMP007_I2CS I2C Mini Module wat beskikbaar is in DCUBE Store.
invoer smbus
invoer tyd
# Kry I2C -bus
bus = smbus. SMBus (1)
# TMP007 -adres, 0x40 (64)
# Kies konfigurasieregister, 0x02 (02)
# 0x1540 (5440) Deurlopende omskakelingsmodus, vergelykingsmodus
data = [0x1540] bus.write_i2c_block_data (0x40, 0x02, data)
tyd. slaap (0,5)
# TMP007 -adres, 0x40 (64)
# Lees data terug van 0x03 (03), 2 grepe
# cTemp MSB, cTemp LSB
data = bus.read_i2c_block_data (0x40, 0x03, 2)
# Skakel die data om na 14-bis
cTemp = ((data [0] * 256 + (data [1] & 0xFC)) / 4)
as cTemp> 8191:
cTemp -= 16384
cTemp = cTemp * 0,03125
fTemp = cTemp * 1.8 + 32
# Uitset data na die skerm
druk "Object Temperature in Celsius: %.2f C" %cTemp
druk "Object Temperature in Fahrenheit: %.2f F" %fTemp
Stap 4: Aansoeke:
TMP007 vind sy toepassing in die stelsels waar temperatuurmeting sonder kontak nodig is. Hulle word gebruik in skootrekenaars en tabletkaste, batterye, ens. Die hoër doeltreffendheid daarvan om die temperatuur te meet sonder om in aanraking te kom met die werklike voorwerp, gee dit 'n ekstra voordeel vir sy verskillende toepassings.