Мазмұны:

MCP9808 және Arduino Nano көмегімен температураны бақылау: 4 қадам
MCP9808 және Arduino Nano көмегімен температураны бақылау: 4 қадам

Бейне: MCP9808 және Arduino Nano көмегімен температураны бақылау: 4 қадам

Бейне: MCP9808 және Arduino Nano көмегімен температураны бақылау: 4 қадам
Бейне: Сұйық кристалды интрақызыл сенсор MLX90614 жанаспайтын термометр 2024, Желтоқсан
Anonim
Image
Image

MCP9808 - жоғары дәлдіктегі сандық температура сенсоры ± 0,5 ° C I2C шағын модулі. Олар температураны сезуді қолдануды жеңілдететін пайдаланушы бағдарламалайтын регистрлермен біріктірілген. MCP9808 жоғары дәлдіктегі температура датчигі формалық фактор мен интеллект тұрғысынан өнеркәсіптік стандартқа айналды, ол сандық, I2C форматында калибрленген, сызықты сенсор сигналдарын береді.

Бұл оқулықта MCP9808 сенсорлық модулінің arduino nano -мен байланысы көрсетілген. Температура мәндерін оқу үшін біз I2c адаптерімен таңқурай пи қолдандық, бұл I2C адаптері сенсор модуліне қосылуды жеңіл әрі сенімді етеді.

1 -қадам: Қажетті жабдық:

Қажетті жабдық
Қажетті жабдық
Қажетті жабдық
Қажетті жабдық
Қажетті жабдық
Қажетті жабдық

Мақсатқа жету үшін бізге қажет материалдар келесі аппараттық компоненттерді қамтиды:

1. MCP9808

2. Ардуино Нано

3. I2C кабелі

4. Arduino наноға арналған I2C қалқаны

2 -қадам: Жабдықты қосу:

Жабдықты қосу
Жабдықты қосу
Жабдықты қосу
Жабдықты қосу

Аппаратты қосу бөлімі негізінен сенсор мен arduino нано арасындағы сымдық қосылыстарды түсіндіреді. Қажетті шығыс үшін кез келген жүйеде жұмыс істеу кезінде дұрыс қосылуды қамтамасыз ету - бұл негізгі қажеттілік. Сонымен, қажетті байланыстар келесідей:

MCP9808 I2C арқылы жұмыс істейді. Датчиктің әр интерфейсін қалай қосуға болатынын көрсететін электр схемасының мысалы.

Қаптамадан тыс тақта I2C интерфейсі үшін конфигурацияланған, сондықтан егер сіз агностикалық болмасаңыз, осы қосылымды пайдалануды ұсынамыз. Сізге тек төрт сым қажет!

Vcc, Gnd, SCL және SDA түйреуіштеріне тек төрт қосылым қажет және олар I2C кабелінің көмегімен қосылған.

Бұл байланыстар жоғарыдағы суреттерде көрсетілген.

3 -қадам: Температураны өлшеу коды:

Температураны өлшеу коды
Температураны өлшеу коды

Енді Arduino кодынан бастайық.

Сенсорлық модульді Arduino -мен қолданған кезде біз Wire.h кітапханасын қосамыз. «Wire» кітапханасында сенсор мен Arduino тақтасы арасындағы i2c байланысын жеңілдететін функциялар бар.

Пайдаланушыға ыңғайлы болу үшін барлық Arduino коды төменде келтірілген:

#қосу

// MCP9808 I2C мекенжайы - 0x18 (24)

#анықта Addr 0x18

жарамсыз орнату ()

{

// 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);

// Ажыратымдылық регистрін таңдаңыз

Wire.write (0x08);

// Ажыратымдылық = +0.0625 / C

Wire.write (0x03);

// I2C берілуін тоқтату

Wire.endTransmission ();

}

бос цикл ()

{

қол қойылмаған 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 ();

}

// Деректерді 13 битке түрлендіру

int temp = ((деректер [0] & 0x1F) * 256 + деректер [1]);

егер (температура> 4095)

{

температура -= 8192;

}

float cTemp = temp * 0.0625;

float fTemp = cTemp * 1.8 + 32;

// Деректерді экранға шығару

Serial.print («Цельсий бойынша температура:»);

Serial.println (cTemp);

Serial.println («C»);

Serial.print («Фаренгейт температурасы:»);

Serial.println (fTemp);

Serial.println («F»);

кешіктіру (500);

}

Сымдық кітапханада Wire.write () және Wire.read () командаларды жазу және сенсор шығысын оқу үшін қолданылады.

Serial.print () және Serial.println () сенсордың шығысын Arduino IDE сериялық мониторында көрсету үшін қолданылады.

Сенсордың шығысы жоғарыдағы суретте көрсетілген.

4 -қадам: Өтініштер:

Қолданбалар
Қолданбалар

MCP9808 цифрлық температура сенсорында өнеркәсіптік мұздатқыштар мен тоңазытқыштар, сонымен қатар әр түрлі тағамдық процессорлар бар салалық деңгейдегі бірнеше қосымшалар бар. Бұл сенсорды әр түрлі дербес компьютерлерде, серверлерде және басқа да компьютерлердің қосымша құрылғыларында қолдануға болады.

Ұсынылған: