2025 Автор: John Day | [email protected]. Последнее изменение: 2025-01-13 06:58
TMP007 - это инфракрасный датчик на термоэлементах, который измеряет температуру объекта, не контактируя с ним. Инфракрасная энергия, излучаемая объектом в поле датчика, поглощается термобатареей, встроенной в датчик. Напряжение термобатареи оцифровывается и подается на вход интегрированного математического процессора. Этот интегрированный математический движок вычисляет температуру объекта. Вот его рабочая демонстрация с Raspberry Pi с использованием кода Python.
Шаг 1: Что вам нужно..
1. Raspberry Pi
2. TMP007
3. Кабель I²C
4. I²C Shield для Raspberry Pi
5. Кабель Ethernet.
Шаг 2: Подключение:
Возьмите щит I2C для raspberry pi и осторожно наденьте его на контакты gpio raspberry pi.
Затем подключите один конец кабеля I2C к датчику TMP007, а другой конец - к экрану I2C.
Также подключите кабель Ethernet к Pi, или вы можете использовать модуль Wi-Fi.
Подключения показаны на картинке выше.
Шаг 3: Код:
Код Python для TMP007 можно загрузить из нашего репозитория GitHub - Сообщество магазина DCUBE.
Вот ссылка.
Мы использовали библиотеку SMBus для кода Python, шаги по установке SMBus на Raspberry Pi описаны здесь:
pypi.python.org/pypi/smbus-cffi/0.5.1
Вы также можете скопировать код отсюда, он выглядит следующим образом:
# Распространяется по свободной лицензии.
# Используйте его как хотите, для получения прибыли или бесплатно, при условии, что он соответствует лицензиям на связанные с ним работы.
# TMP007
# Этот код разработан для работы с мини-модулем TMP007_I2CS I2C, доступным в DCUBE Store.
импортировать smbus
время импорта
# Получить шину I2C
автобус = smbus. SMBus (1)
# TMP007 адрес, 0x40 (64)
# Выбрать регистр конфигурации, 0x02 (02)
# 0x1540 (5440) Режим непрерывного преобразования, режим компаратора
данные = [0x1540] bus.write_i2c_block_data (0x40, 0x02, данные)
time.sleep (0,5)
# TMP007 адрес, 0x40 (64)
# Считать данные обратно из 0x03 (03), 2 байта
# cTemp MSB, cTemp LSB
data = bus.read_i2c_block_data (0x40, 0x03, 2)
# Преобразовать данные в 14-битные
cTemp = ((данные [0] * 256 + (данные [1] & 0xFC)) / 4)
если cTemp> 8191:
cTemp - = 16384
cTemp = cTemp * 0,03125
fTemp = cTemp * 1,8 + 32
# Выводить данные на экран
print "Температура объекта в градусах Цельсия:%.2f C"% cTemp
print "Температура объекта в градусах Фаренгейта:%.2f F"% fTemp
Шаг 4: Приложения:
TMP007 находит свое применение в системах, где требуется бесконтактное измерение температуры. Они используются в корпусах ноутбуков и планшетов, батареях и т. Д. Они также используются в радиаторах, а также в лазерных принтерах. Его более высокая эффективность при измерении температуры без контакта с реальным объектом дает ему дополнительные преимущества для различных приложений.