Оглавление:

Мониторинг температуры с использованием MCP9808 и Raspberry Pi: 4 шага
Мониторинг температуры с использованием MCP9808 и Raspberry Pi: 4 шага

Видео: Мониторинг температуры с использованием MCP9808 и Raspberry Pi: 4 шага

Видео: Мониторинг температуры с использованием MCP9808 и Raspberry Pi: 4 шага
Видео: Lesson 32: MCP9808 High Accuracy I2C Temperature | Arduino Step By Step Course 2024, Декабрь
Anonim
Image
Image

MCP9808 - это высокоточный мини-модуль I2C с цифровым датчиком температуры ± 0,5 ° C. В них реализованы программируемые пользователем регистры, которые упрощают приложения для измерения температуры. Высокоточный датчик температуры MCP9808 стал отраслевым стандартом с точки зрения форм-фактора и интеллекта, обеспечивая откалиброванные, линеаризованные сигналы датчиков в цифровом формате I2C.

В этом руководстве демонстрируется взаимодействие модуля датчика MCP9808 с raspberry pi, а также показано его программирование с использованием языка Python. Для считывания значений температуры мы использовали raspberry pi с адаптером I2C. Этот адаптер I2C делает подключение к модулю датчика простым и надежным.

Шаг 1: Требуемое оборудование:

Требуемое оборудование
Требуемое оборудование
Требуемое оборудование
Требуемое оборудование
Требуемое оборудование
Требуемое оборудование

Материалы, которые нам нужны для достижения нашей цели, включают следующие компоненты оборудования:

1. MCP9808

2. Raspberry Pi

3. Кабель I2C

4. Экран I2C для Raspberry Pi

5. Кабель Ethernet.

Шаг 2: Подключение оборудования:

Подключение оборудования
Подключение оборудования
Подключение оборудования
Подключение оборудования

В разделе «Подключение оборудования» в основном объясняются проводные соединения, необходимые между датчиком и Raspberry Pi. Обеспечение правильных соединений является основной необходимостью при работе с любой системой для достижения желаемого результата. Итак, необходимые подключения следующие:

MCP9808 будет работать по I2C. Вот пример схемы подключения, демонстрирующий, как подключить каждый интерфейс датчика.

Изначально плата настроена для интерфейса I2C, поэтому мы рекомендуем использовать это подключение, если вы не сторонник этого. Все, что вам нужно, это четыре провода!

Требуются только четыре соединения, выводы Vcc, Gnd, SCL и SDA, которые подключаются с помощью кабеля I2C.

Эти соединения показаны на рисунках выше.

Шаг 3: Код для измерения температуры:

Код для измерения температуры
Код для измерения температуры

Преимущество использования raspberry pi заключается в том, что он обеспечивает гибкость языка программирования, на котором вы хотите запрограммировать плату, чтобы связать с ней датчик. Используя это преимущество этой платы, мы демонстрируем ее программирование на питоне. Python - один из самых простых языков программирования с самым простым синтаксисом. Код python для MCP9808 можно загрузить в нашем сообществе github, которое называется DCUBE Store Community.

Помимо удобства пользователей, мы также объясняем код здесь:

В качестве первого шага кодирования вам необходимо загрузить библиотеку SMBus в случае python, потому что эта библиотека поддерживает функции, используемые в коде. Итак, чтобы скачать библиотеку, вы можете перейти по следующей ссылке:

pypi.python.org/pypi/smbus-cffi/0.5.1

Вы также можете скопировать рабочий код отсюда:

импортировать smbus

время импорта

# Получить I2C busbus = smbus. SMBus (1)

# MCP9808 адрес, 0x18 (24)

# Выбрать регистр конфигурации, 0x01 (1)

# 0x0000 (00) Режим непрерывного преобразования, по умолчанию при включении питания

config = [0x00, 0x00] bus.write_i2c_block_data (0x18, 0x01, config)

# MCP9808 адрес, 0x18 (24)

# Выбрать разрешение rgister, 0x08 (8)

# 0x03 (03) Разрешение = +0.0625 / C

bus.write_byte_data (0x18, 0x08, 0x03)

time.sleep (0,5)

# MCP9808 адрес, 0x18 (24)

# Считать данные обратно из 0x05 (5), 2 байта

# Temp MSB, TEMP LSB

данные = bus.read_i2c_block_data (0x18, 0x05, 2)

# Преобразовать данные в 13-битные

ctemp = ((данные [0] & 0x1F) * 256) + данные [1]

если ctemp> 4095:

ctemp - = 8192

ctemp = ctemp * 0,0625

ftemp = ctemp * 1.8 + 32

# Выводить данные на экран

print "Температура в градусах Цельсия:%.2f C"% ctemp

print "Температура по Фаренгейту:%.2f F"% ftemp

Код выполняется с помощью следующей команды:

$> питон MCP9808.py gt; python MCP9808.py

gt; python MCP9808.py

Выходные данные датчика показаны на рисунке выше для справки пользователя.

Шаг 4: Приложения:

Приложения
Приложения

Цифровой датчик температуры MCP9808 применяется в нескольких отраслях промышленности, включая промышленные морозильники и холодильники, а также различные кухонные комбайны. Этот датчик может использоваться для различных персональных компьютеров, серверов, а также других периферийных устройств ПК.

Рекомендуемые: