Мазмұны:

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

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

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

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

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

1. MCP9808

2. Raspberry Pi

3. I2C кабелі

4. Таңқурай пи үшін I2C қалқаны

5. Ethernet кабелі

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

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

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

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

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

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

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

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

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

Таңқурай пиін қолданудың артықшылығы - бұл сенсорды интерфейске қосу үшін тақтаны бағдарламалайтын тілдің икемділігін қамтамасыз етеді. Бұл тақтаның артықшылығын пайдаланып, біз мұнда оның питонда бағдарламалануын көрсетеміз. Python - синтаксисі қарапайым бағдарламалау тілдерінің бірі. MCP9808 үшін питон кодын біздің github қауымдастығынан жүктеуге болады DCUBE дүкен қауымдастығы.

Пайдаланушыларға ыңғайлы болу үшін біз кодты осында түсіндіреміз:

Кодтаудың бірінші қадамы ретінде питон жағдайында SMBus кітапханасын жүктеу қажет, себебі бұл кітапхана кодта қолданылатын функцияларды қолдайды. Сонымен, кітапхананы жүктеу үшін келесі сілтемеге кіруге болады:

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, конфигурация)

# MCP9808 мекенжайы, 0x18 (24)

# Rxister ажыратымдылығын таңдаңыз, 0x08 (8)

# 0x03 (03) Ажыратымдылық = +0.0625 / C

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

уақыт.ұйқы (0.5)

# MCP9808 мекенжайы, 0x18 (24)

# Деректерді 0x05 (5), 2 байттан кері оқыңыз

# MSB температурасы, LSB TEMP

data = 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 цифрлық температура сенсорында өнеркәсіптік мұздатқыштар мен тоңазытқыштар, сонымен қатар әр түрлі тағамдық процессорлар бар салалық деңгейдегі бірнеше қосымшалар бар. Бұл сенсорды әр түрлі дербес компьютерлерде, серверлерде және басқа да компьютерлердің қосымша құрылғыларында қолдануға болады.

Ұсынылған: