Мазмуну:

Raspberry Pi MCP9805 Температура сенсорунун Java үйрөткүчү: 4 кадам
Raspberry Pi MCP9805 Температура сенсорунун Java үйрөткүчү: 4 кадам

Video: Raspberry Pi MCP9805 Температура сенсорунун Java үйрөткүчү: 4 кадам

Video: Raspberry Pi MCP9805 Температура сенсорунун Java үйрөткүчү: 4 кадам
Video: Raspberry Pi MCP9808 Temperature Sensor Java Tutorial 2024, Июнь
Anonim
Image
Image

MCP9805 - бул эс тутумунун санарип температура сенсору. Бул температураны сезүү колдонмолорунун ийкемдүүлүгүн камсыз кылган колдонуучу программалоочу реестрлери менен коштолгон. Бул сенсор мобилдик платформанын эстутум модулунун температура сенсоруна киргизүү үчүн иштелип чыккан. Бул жерде Raspberry Pi колдонулган java коду бар демонстрация.

1 -кадам: Сизге эмне керек..

Сизге эмне керек.. !!
Сизге эмне керек.. !!

1. Raspberry Pi

2. MCP9805

3. I²C кабели

4. Raspberry Pi үчүн I²C Shield

5. Ethernet кабели

2 -кадам: Байланыштар

Байланыштар
Байланыштар
Байланыштар
Байланыштар
Байланыштар
Байланыштар
Байланыштар
Байланыштар

Малина пи үчүн I2C калканчын алыңыз жана аны акырын малинанын пи gpio төөнөгүчтөрүнүн үстүнө басыңыз.

Андан кийин I2C кабелинин бир учун MCP9805 сенсоруна, экинчи учун I2C калканчына туташтырыңыз.

Ethernet кабелин пи -ге туташтырыңыз же WiFi модулун колдонсоңуз болот. Байланыштар жогорудагы сүрөттө көрсөтүлгөн.

3 -кадам: Код

Code
Code

MCP9805 үчүн java кодун биздин GitHub репозиторийи-Dcube дүкөнүнөн көчүрүп алса болот.

Мына ушуга шилтеме:

github.com/DcubeTechVentures/MCP9805

MCP9805 маалымат барагын бул жерден тапса болот:

ww1.microchip.com/downloads/en/DeviceDoc/21…

Биз Java коду үчүн pi4j китепканасын колдондук, малина piге pi4j орнотуу кадамдары бул жерде сүрөттөлгөн:

pi4j.com/install.html

Сиз бул жерден кодду көчүрүп алсаңыз болот, ал төмөнкүчө берилген:

// Эркин лицензия менен таратылган.

// Аны каалагандай колдон, пайда же бекер, эгер ал ага байланыштуу чыгармаларынын лицензиясына туура келсе.

// MCP9805

// Бул код Dcube Storeдо бар MCP9808_I2CS I2C Mini Module менен иштөө үчүн иштелип чыккан.

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

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

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

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

коомдук класс MCP9805

{

public static void main (String args ) Exception ыргытат

{

// I2C шинасын түзүү

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

// I2C түзмөгүн алыңыз, MCP9805 I2C дареги 0x18 (24)

I2CDevice түзмөгү = Bus.getDevice (0x18);

Thread.sleep (300);

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

// Үзгүлтүксүз которуу режими, Power-up

байт конфигурация = жаңы байт [2];

config [0] = 0x00;

конфигурация [1] = 0x00;

device.write (0x01, config, 0, 2);

// чечим rgister тандаңыз

// Чечим = +0.0625 / C

device.write (0x08, (байт) 0x03);

Thread.sleep (300);

// 0x05 (05) дарегинен 2 байт маалыматтарды окуу

// темп msb, temp lsb

байт маалымат = жаңы байт [2];

device.read (0x05, маалыматтар, 0, 2);

// Маалыматтарды 13 битке айландырыңыз

int temp = ((маалыматтар [0] & 0x1F) * 256 + (маалыматтар [1] & 0xFF));

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

{

темп -= 8192;

}

кош cTemp = temp * 0.0625;

кош fTemp = cTemp * 1.8 + 32;

// Экранга маалыматтарды чыгаруу

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

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

}

}

4 -кадам: Тиркемелер..:

MCP9805 ар кандай тутумдарга киргизилиши мүмкүн, анын ичинде эки саптуу эс тутум модулу (DIMM) температураны көзөмөлдөө тутумдары, персоналдык компьютерлер жана серверлер бар. Адатта, ал жалпы максаттагы температура сенсору катары колдонулушу мүмкүн.

Сунушталууда: