
2025 Автор: John Day | [email protected]. Последно модифициран: 2025-01-23 14:36


MPL3115A2 използва MEMS сензор за налягане с I2C интерфейс за предоставяне на точни данни за налягане/надморска височина и температура. Изходите на сензора са цифровизирани от 24-битов ADC с висока разделителна способност. Вътрешната обработка премахва компенсационните задачи от хост MCU системата. Той е в състояние да открие промяна само в 0,05 kPa, което се равнява на 0,3 m промяна във височината. Ето демонстрацията му с малиново пи, използващо Java код.
Стъпка 1: Какво ви трябва..

1. Малина Пи
2. MPL3115A2
3. Кабел I²C
4. I²C щит за Raspberry Pi
5. Ethernet кабел
Стъпка 2: Връзки:




Вземете I2C щит за малиново пи и внимателно го натиснете върху щифтовете на gpio на малиново пи.
След това свържете единия край на I2C кабела към сензора MPL3115A2, а другия край към I2C щита.
Свържете също Ethernet кабела към pi или можете да използвате WiFi модул.
Връзките са показани на снимката по -горе.
Стъпка 3: Код:

Java кодът за MPL3115A2 може да бъде изтеглен от нашето хранилище на github- DCUBE Store.
Ето линк за същото:
github.com/DcubeTechVentures/MPL3115A2/tree/master/Java
Използвахме библиотека pi4j за java код, стъпките за инсталиране на pi4j на raspberry pi са описани тук:
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 ) хвърля Exception
{
// Създаване на I2C шина
I2CBus шина = 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);
// Прочетете 6 байта данни от адрес 0x00 (00)
// статус, 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);
// Прочетете 4 байта данни от адрес 0x00 (00)
// състояние, pres msb1, pres msb, pres lsb
device.read (0x00, данни, 0, 4);
// Конвертираме данните в 20-бита
int pres = (((данни [1] & 0xFF) * 65536) + ((данни [2] & 0xFF) * 256) + (данни [3] & 0xF0)) / 16;
двойно налягане = (pres / 4.0) / 1000.0;
// Извеждане на данни на екрана
System.out.printf ("Налягане: %.2f kPa %n", налягане);
System.out.printf ("Надморска височина: %.2f m %n", надморска височина);
System.out.printf ("Температура в Целзий: %.2f C %n", cTemp);
System.out.printf ("Температура по Фаренхайт: %.2f F %n", fTemp);
}
}
Стъпка 4: Приложения:
Различните приложения на MPL3115A2 включват високоточна алтиметрия, смартфони/таблети, лична електроника и др. Може също да бъде включена в GPS Dead Reckoning, GPS Enhancement за аварийни услуги, Map Assist, навигация, както и оборудване на метеорологичните станции.
Препоръчано:
Raspberry Pi - TSL45315 Сензор за околна светлина Java Урок: 4 стъпки

Raspberry Pi - TSL45315 Сензор за околна светлина Java Урок: TSL45315 е цифров сензор за околна светлина. Той приближава реакцията на човешкото око при различни условия на осветление. Устройствата имат три избираеми времена на интеграция и осигуряват директен 16-битов лукс изход чрез интерфейс на I2C шина. Устройството съвместно
Raspberry Pi MCP9803 Сензор за температура Java Урок: 4 стъпки

Raspberry Pi MCP9803 Сензор за температура Java Урок: MCP9803 е 2-жичен температурен сензор с висока точност. Те са въплътени с програмируеми от потребителя регистри, които улесняват приложенията за измерване на температурата. Този сензор е подходящ за много сложна многозонова система за мониторинг на температурата. Тук
Raspberry Pi MCP9805 Сензор за температура Java Урок: 4 стъпки

Raspberry Pi MCP9805 Сензор за температура Java Урок: MCP9805 е цифров температурен сензор с модул памет. Той е интегриран с програмируеми от потребителя регистри, които осигуряват гъвкавост за приложенията за измерване на температурата. Този сензор е проектиран да бъде вграден в модул с памет на мобилна платформа
Raspberry Pi - TMP100 Температурен сензор Java Урок: 4 стъпки

Raspberry Pi-TMP100 Температурен сензор Java Урок: TMP100 Високоточна, ниска мощност, цифров температурен сензор I2C MINI модул. TMP100 е идеален за продължително измерване на температурата. Това устройство предлага точност от ± 1 ° C, без да изисква калибриране или кондициониране на външен компонент. Той
Raspberry Pi TMP112 Температурен сензор Java Урок: 4 стъпки

Raspberry Pi TMP112 Температурен сензор Java Урок: TMP112 Високоточна, ниска мощност, цифров температурен сензор I2C MINI модул. TMP112 е идеален за продължително измерване на температурата. Това устройство предлага точност от ± 0,5 ° C, без да изисква калибриране или кондициониране на външен компонент