Мазмұны:

MCP9803 және Raspberry Pi көмегімен температураны өлшеу: 4 қадам
MCP9803 және Raspberry Pi көмегімен температураны өлшеу: 4 қадам

Бейне: MCP9803 және Raspberry Pi көмегімен температураны өлшеу: 4 қадам

Бейне: MCP9803 және Raspberry Pi көмегімен температураны өлшеу: 4 қадам
Бейне: BeagleBone Black MCP9803 Temperature Sensor 'C' code Tutorial 2024, Шілде
Anonim
Image
Image

MCP9803-екі сымды жоғары дәлдіктегі температура сенсоры. Олар температураны сезуді қолдануды жеңілдететін пайдаланушы бағдарламалайтын регистрлермен біріктірілген. Бұл сенсор температураны бақылаудың көп аймақтық жүйесі үшін өте қолайлы.

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

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

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

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

1. MCP9803

2. Raspberry pi

3. I2C кабелі

4. Таңқурайға арналған I2C қалқаны

5. Ethernet кабелі

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

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

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

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

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

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

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

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

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

Таңқурай пиін қолданудың артықшылығы - бұл сенсорды интерфейске қосу үшін тақтаны бағдарламалайтын тілдің икемділігін қамтамасыз етеді. Бұл тақтаның артықшылығын пайдаланып, біз оның Java -де бағдарламаланғанын көрсетеміз. MCP9803 java кодын біздің Github қауымдастығынан жүктеуге болады, бұл Dcube дүкені.

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

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

pi4j.com/install.html

Сіз осы сенсордың жұмыс істейтін java кодын мына жерден көшіре аласыз:

com.pi4j.io.i2c. I2CBus импорттау;

com.pi4j.io.i2c. I2CDevice импорттау;

com.pi4j.io.i2c. I2CFactory импорттау;

java.io. IOException импорттау; жалпы сынып MCP9803

{

public static void main (String args ) Ерекшеліктерді шығарады

{

// I2C шинасын жасаңыз

I2CBus Bus = I2CFactory.getInstance (I2CBus. BUS_1);

// I2C құрылғысын алу, MCP9803 I2C мекенжайы 0x48 (72)

I2CDevice құрылғысы = Bus.getDevice (0x48);

// Конфигурация регистрін таңдаңыз

// Үздіксіз түрлендіру режимі, Қосылу, салыстыру режимі, 12 биттік ажыратымдылық

device.write (0x01, (байт) 0x60);

Thread.sleep (500);

// 0x00 (0) адресінен 2 байт деректерді оқу

// temp msb, temp lsb

байт деректер = жаңа байт [2];

device.read (0x00, деректер, 0, 2);

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

int temp = ((деректер [0] & 0xFF) * 256 + (деректер [1] & 0xF0)) / 16;

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

{

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

}

қос cTemp = temp * 0.0625;

қос fTemp = cTemp * 1.8 + 32;

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

System.out.printf («Цельсий бойынша температура: %.2f C %n», cTemp);

System.out.printf («Фаренгейт температурасы: %.2f F %n», fTemp);

}

}

Сенсор мен тақта арасындағы i2c байланысын жеңілдететін кітапхана pi4j, оның әр түрлі пакеттері I2CBus, I2CDevice және I2CFactory байланыс орнатуға көмектеседі.

com.pi4j.io.i2c. I2CBus импорттау;

com.pi4j.io.i2c. I2CDevice импорттау;

com.pi4j.io.i2c. I2CFactory импорттау;

java.io. IOException импорттау;

write () және read () функциялары сенсорға белгілі бір режимде жұмыс істеу үшін және сенсордың шығысын оқу үшін белгілі бір командаларды жазу үшін қолданылады.

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

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

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

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

Ұсынылған: