Мазмуну:

Raspberry Pi - MPL3115A2 Precision Altimeter Sensor Java үйрөткүчү: 4 кадам
Raspberry Pi - MPL3115A2 Precision Altimeter Sensor Java үйрөткүчү: 4 кадам

Video: Raspberry Pi - MPL3115A2 Precision Altimeter Sensor Java үйрөткүчү: 4 кадам

Video: Raspberry Pi - MPL3115A2 Precision Altimeter Sensor Java үйрөткүчү: 4 кадам
Video: Arduino Nano - MPL3115A2 Precision Altimeter Sensor Tutorial 2024, Июнь
Anonim
Image
Image

MPL3115A2 так басым/бийиктик жана температура маалыматын берүү үчүн I2C интерфейси бар MEMS басым сенсорун колдонот. Сенсордун жыйынтыктары жогорку разряддуу 24-бит ADC менен санариптештирилет. Ички иштетүү MCU тутумунун компенсация милдеттерин жок кылат. Бул 0,05 кПадагы өзгөрүүнү аныктоого жөндөмдүү, бул бийиктиктин 0,3 м өзгөрүшүнө барабар. Бул жерде java кодун колдонуп, малина pi менен анын көрсөтмөсү.

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

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

1. Raspberry Pi

2. MPL3115A2

3. I²C кабели

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

5. Ethernet кабели

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

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

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

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

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

Байланыштар жогорудагы сүрөттө көрсөтүлгөн.

3 -кадам: Код:

Код
Код

MPL3115A2 үчүн java кодун биздин github репозиторийибизден көчүрүп алсаңыз болот- DCUBE дүкөнү.

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

github.com/DcubeTechVentures/MPL3115A2/tree/master/Java

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

pi4j.com/install.html

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

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

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

// MPL3115A2

// Бул код MPL3115A2_I2CS I2C Mini Module менен иштөө үчүн иштелип чыккан.

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

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

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

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

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

{

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

{

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

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

// I2C аппаратын алыңыз, MPL3115A2 I2C дареги 0x60 (96)

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

// Башкаруу реестрин тандоо

// Активдүү режим, OSR = 128, бийиктик режими

device.write (0x26, (байт) 0xB9);

// Маалымат конфигурациясынын регистрин тандоо

// Бийиктикке, басымга, температурага иштетилген маалыматтар даяр окуя

device.write (0x13, (байт) 0x07);

// Башкаруу реестрин тандоо

// Активдүү режим, OSR = 128, бийиктик режими

device.write (0x26, (байт) 0xB9);

Thread.sleep (1000);

// 0x00 (00) дарегинен 6 байт маалыматтарды окуу

// статус, tHeight msb1, tHeight msb, tHeight lsb, temp msb, temp lsb

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

device.read (0x00, data, 0, 6);

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

int tHeight = (((((маалымат [1] & 0xFF) * 65536) + ((маалымат [2] & 0xFF) * 256) + (маалымат [3] & 0xF0)) / 16);

int temp = ((маалыматтар [4] * 256) + (маалыматтар [5] & 0xF0)) / 16;

кош бийиктик = tHeight / 16.0;

кош cTemp = (temp / 16.0);

кош fTemp = cTemp * 1.8 + 32;

// Башкаруу реестрин тандоо

// Активдүү режим, OSR = 128, барометр режими

device.write (0x26, (байт) 0x39);

Thread.sleep (1000);

// 0x00 (00) дарегинен 4 байт маалыматтарды окуу

// статус, пресс msb1, пресс msb, pres lsb

device.read (0x00, data, 0, 4);

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

int pres = (((маалымат [1] & 0xFF) * 65536) + ((маалымат [2] & 0xFF) * 256) + (маалымат [3] & 0xF0)) / 16;

эки эсе басым = (pres / 4.0) / 1000.0;

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

System.out.printf ("Басым: %.2f кПа %n", басым);

System.out.printf ("Бийиктик: %.2f m %n", бийиктик);

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

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

}

}

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

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

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