Мазмұны:

Raspberry Pi - MPL3115A2 дәлдіктегі алтиметрлік сенсор Java оқулығы: 4 қадам
Raspberry Pi - MPL3115A2 дәлдіктегі алтиметрлік сенсор Java оқулығы: 4 қадам

Бейне: Raspberry Pi - MPL3115A2 дәлдіктегі алтиметрлік сенсор Java оқулығы: 4 қадам

Бейне: Raspberry Pi - MPL3115A2 дәлдіктегі алтиметрлік сенсор Java оқулығы: 4 қадам
Бейне: Raspberry Pi MPL3115A2 Precision Altimeter Sensor Python Tutorial 2024, Қыркүйек
Anonim
Image
Image

MPL3115A2 қысым/биіктік және температура туралы нақты деректерді беру үшін I2C интерфейсі бар MEMS қысым датчигін қолданады. Сенсордың шығысы жоғары ажыратымдылықтағы 24 биттік ADC көмегімен цифрланған. Ішкі өңдеу хост MCU жүйесінен өтемақы тапсырмаларын жояды. Ол тек 0,05 кПа өзгерісін анықтай алады, бұл биіктіктің 0,3 м өзгеруіне тең. Міне, оның java кодын қолданатын таңқурай пи көмегімен көрсетуі.

1 -қадам: Сізге не керек..

Сізге не керек.. !!
Сізге не керек.. !!

1. Raspberry Pi

2. MPL3115A2

3. I²C кабелі

4. Raspberry Pi үшін I²C қалқаны

5. Ethernet кабелі

2 -қадам: Қосылымдар:

Қосылымдар
Қосылымдар
Қосылымдар
Қосылымдар
Қосылымдар
Қосылымдар
Қосылымдар
Қосылымдар

Таңқурай пи үшін I2C қалқанын алыңыз және оны таңқурай пи gpio түйреуіштерінен ақырын басыңыз.

Содан кейін I2C кабелінің бір ұшын MPL3115A2 сенсорына, екінші ұшын I2C қалқанына қосыңыз.

Ethernet кабелін pi -ге қосыңыз немесе WiFi модулін қолдана аласыз.

Қосылымдар жоғарыдағы суретте көрсетілген.

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

Код
Код

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

Міне, сол үшін сілтеме:

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

Біз Java коды үшін pi4j кітапханасын қолдандық, таңқурайға pi4j орнату қадамдары осында сипатталған:

pi4j.com/install.html

Сіз кодты осы жерден көшіре аласыз, ол келесі түрде берілген:

// Ерікті лицензиямен таратылды.

// Оны қалаған жолмен пайдаланыңыз немесе тегін, егер ол онымен байланысты жұмыстардың лицензиясына сәйкес келсе.

// MPL3115A2

// Бұл код MPL3115A2_I2CS I2C шағын модулімен жұмыс істеуге арналған.

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 ) Ерекшеліктерді шығарады

{

// 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, деректер, 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 байт деректерді оқу

// күй, pres msb1, pres msb, pres lsb

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

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

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

қос қысым = (прес / 4,0) / 1000,0;

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

System.out.printf («Қысым: %.2f кПа %n», қысым);

System.out.printf («Биіктік: %.2f м %n», биіктік);

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

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

}

}

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

MPL3115A2 әр түрлі қосымшаларына жоғары дәлдіктегі алтиметрия, смартфондар/планшеттер, дербес электроника алиметриясы және т.б. кіреді. Ол GPS -тің өлу есебіне, төтенше қызметтерге GPS -ті жақсартуға, картаға көмекке, навигацияға, сондай -ақ метеорологиялық станция жабдықтарына қосылуы мүмкін.

Ұсынылған: