Съдържание:

Мониторинг на температурата с помощта на MCP9808 и фотон от частици: 4 стъпки
Мониторинг на температурата с помощта на MCP9808 и фотон от частици: 4 стъпки

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

Видео: Мониторинг на температурата с помощта на MCP9808 и фотон от частици: 4 стъпки
Видео: Удаленный мониторинг температуры через Интернет с помощью Raspberry Pi 2024, Ноември
Anonim
Image
Image

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

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

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

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

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

1. MCP9808

2. Фотон от частици

3. I2C кабел

4. I2C щит за частичен фотон

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

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

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

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

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

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

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

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

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

Нека започнем с кода на частиците сега.

Докато използваме сензорния модул с arduino, ние включваме библиотеката application.h и spark_wiring_i2c.h. Библиотеката "application.h" и spark_wiring_i2c.h съдържа функциите, които улесняват i2c комуникацията между сензора и частицата.

Целият код на частиците е даден по -долу за удобство на потребителя:

#включва

#включва

// MCP9808 I2C адресът е 0x18 (24)

#define Addr 0x18

float cTemp = 0, fTemp = 0;

void setup ()

{

// Задаване на променлива

Particle.variable ("i2cdevice", "MCP9808");

Particle.variable ("cTemp", cTemp);

// Инициализира I2C комуникацията като MASTER

Wire.begin ();

// Инициализира серийна комуникация, зададена скорост на предаване = 9600

Serial.begin (9600);

// Стартиране на I2C предаване

Wire.beginTransmission (Addr);

// Изберете конфигурационен регистър

Wire.write (0x01);

// Режим на непрекъснато преобразуване, По подразбиране при включване

Wire.write (0x00);

Wire.write (0x00);

// Спиране на I2C предаването

Wire.endTransmission ();

// Стартиране на I2C предаване

Wire.beginTransmission (Addr);

// Изберете резолюция rgister

Wire.write (0x08);

// Резолюция = +0.0625 / C

Wire.write (0x03);

// Спиране на I2C предаването

Wire.endTransmission ();

забавяне (300);

}

void loop ()

{

беззнакови int данни [2];

// Започва I2C комуникация

Wire.beginTransmission (Addr);

// Изберете регистър на данни

Wire.write (0x05);

// Спиране на I2C предаването

Wire.endTransmission ();

// Искане на 2 байта данни

Wire.requestFrom (Addr, 2);

// Прочетете 2 байта данни

// temp msb, temp lsb

ако (Wire.available () == 2)

{

данни [0] = Wire.read ();

данни [1] = Wire.read ();

}

забавяне (300);

// Конвертираме данните в 13-бита

int temp = ((данни [0] & 0x1F) * 256 + данни [1]);

ако (температура> 4095)

{

temp -= 8192;

}

cTemp = temp * 0.0625;

fTemp = cTemp * 1.8 + 32;

// Извеждане на данни към таблото за управление

Particle.publish ("Температура в Целзий:", Низ (cTemp));

Particle.publish ("Температура по Фаренхайт:", String (fTemp));

забавяне (500);

}

Функцията Particle.variable () създава променливите за съхраняване на изхода на сензора, а функцията Particle.publish () показва изхода на таблото за управление на сайта.

Изходът на сензора е показан на снимката по -горе за ваша справка.

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

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

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

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