Съдържание:

Мониторинг на температурата с помощта на MCP9808 и Raspberry Pi: 4 стъпки
Мониторинг на температурата с помощта на MCP9808 и Raspberry Pi: 4 стъпки

Видео: Мониторинг на температурата с помощта на MCP9808 и Raspberry Pi: 4 стъпки

Видео: Мониторинг на температурата с помощта на MCP9808 и Raspberry Pi: 4 стъпки
Видео: Remote temperature monitoring over Internet with Raspberry Pi 2024, Юли
Anonim
Image
Image

MCP9808 е високо точен цифров температурен сензор ± 0.5 ° C I2C мини модул. Те са въплътени с програмируеми от потребителя регистри, които улесняват приложенията за измерване на температурата. Високоточният температурен сензор MCP9808 се превърна в индустриален стандарт по отношение на форм-фактора и интелигентността, предоставяйки калибрирани, линеаризирани сензорни сигнали в цифров, I2C формат.

В този урок е демонстрирано взаимодействието на сензорния модул MCP9808 с малинов pi и е илюстрирано и неговото програмиране с помощта на език python. За да прочетем температурните стойности, използвахме малинов pi с адаптер I2c. Този адаптер I2C прави връзката с сензорния модул лесна и по -надеждна.

Стъпка 1: Изисква се хардуер:

Необходим хардуер
Необходим хардуер
Необходим хардуер
Необходим хардуер
Необходим хардуер
Необходим хардуер

Материалите, от които се нуждаем за постигане на целта ни, включват следните хардуерни компоненти:

1. MCP9808

2. Малина Пи

3. I2C кабел

4. I2C щит за малиново пи

5. Ethernet кабел

Стъпка 2: Свързване на хардуера:

Хардуерно свързване
Хардуерно свързване
Хардуерно свързване
Хардуерно свързване

Разделът за свързване на хардуер основно обяснява необходимите кабелни връзки между сензора и малиновото пи. Осигуряването на правилни връзки е основната необходимост, докато работите върху всяка система за желания изход. И така, необходимите връзки са както следва:

MCP9808 ще работи през I2C. Ето примерната електрическа схема, демонстрираща как да свържете всеки интерфейс на сензора.

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

Изискват се само четири връзки Vcc, Gnd, SCL и SDA щифтове и те са свързани с помощта на I2C кабел.

Тези връзки са показани на снимките по -горе.

Стъпка 3: Код за измерване на температурата:

Код за измерване на температурата
Код за измерване на температурата

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

Освен за улеснение на потребителите, ние обясняваме кода и тук:

Като първа стъпка от кодирането трябва да изтеглите библиотеката SMBus в случай на python, тъй като тази библиотека поддържа функциите, използвани в кода. Така че, за да изтеглите библиотеката, можете да посетите следната връзка:

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

Можете също да копирате работния код от тук:

внос smbus

време за импортиране

# Вземете I2C шина = 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

# Извеждане на данни на екрана

печат "Температура в Целзий е: %.2f C" %ctemp

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

Кодът се изпълнява със следната команда:

$> python MCP9808.py gt; python MCP9808.py

gt; python MCP9808.py

Изходът на сензора е показан на горната снимка за справка на потребителя.

Стъпка 4: Приложения:

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

Цифровият сензор за температура MCP9808 има няколко приложения на ниво индустрия, които включват промишлени фризери и хладилници заедно с различни кухненски машини. Този сензор може да се използва за различни персонални компютри, сървъри, както и други периферни устройства за компютър.

Препоръчано: