Оглавление:
Видео: Raspberry Pi - Учебное пособие по Java с прецизионным датчиком высотомера MPL3115A2: 4 шага
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:51
MPL3115A2 использует датчик давления MEMS с интерфейсом I2C для получения точных данных о давлении / высоте и температуре. Выходы датчиков оцифровываются 24-битным АЦП высокого разрешения. Внутренняя обработка удаляет задачи компенсации из системы главного MCU. Он способен обнаруживать изменение всего лишь на 0,05 кПа, что соответствует изменению высоты на 0,3 м. Вот его демонстрация с Raspberry Pi с использованием Java-кода.
Шаг 1: Что вам нужно..
1. Raspberry Pi
2. MPL3115A2
3. Кабель I²C
4. I²C Shield для Raspberry Pi
5. Кабель Ethernet.
Шаг 2: Подключения:
Возьмите щит I2C для raspberry pi и осторожно наденьте его на контакты gpio raspberry pi.
Затем подключите один конец кабеля I2C к датчику MPL3115A2, а другой конец - к экрану I2C.
Также подключите кабель Ethernet к Pi, или вы можете использовать модуль Wi-Fi.
Подключения показаны на картинке выше.
Шаг 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, доступным по адресу
import com.pi4j.io.i2c. I2CBus;
import com.pi4j.io.i2c. I2CDevice;
import com.pi4j.io.i2c. I2CFactory;
import java.io. IOException;
открытый класс MPL3115A2
{
public static void main (String args ) выдает исключение
{
// Создаем шину I2C
Шина I2CBus = I2CFactory.getInstance (I2CBus. BUS_1);
// Получение устройства I2C, адрес I2C MPL3115A2 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
byte data = новый байт [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;
двойное давление = (прес / 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 включают в себя высокоточный альтиметр, смартфоны / планшеты, персональную электронику альтиметрии и т. Д. Он также может быть включен в систему определения точного счета GPS, усовершенствование GPS для аварийных служб, ассистент карты, навигацию, а также оборудование метеостанции.
Рекомендуемые:
Тыква Хэллоуина Arduino с датчиком движения: 4 шага
Датчик движения Arduino Halloween Pumpkin: цель этого руководства состояла в том, чтобы создать дешевый и простой способ сделать украшения для Хэллоуина дома без каких-либо предварительных навыков или каких-либо необычных инструментов. Используя простые источники информации из Интернета, вы также можете создать свой собственный простой и персонализированный H
Весы Arduino с датчиком нагрузки 5 кг и усилителем HX711: 4 шага (с изображениями)
Весы Arduino с тензодатчиком 5 кг и усилителем HX711: в этой инструкции описывается, как сделать небольшие весы, используя готовые к продаже детали. Необходимые материалы: 1. Arduino - в этой конструкции используется стандартный Arduino Uno, другие версии или клоны Arduino также должны работать2. HX711 на прорыве
Камера с датчиком движения Raspberry Pi в корпусе прожектора: 3 шага
Камера с датчиком движения Raspberry Pi в корпусе прожектора: я некоторое время возился с Raspberry Pi, теперь использую их для небольшого разнообразия вещей, но в основном в качестве камеры видеонаблюдения для наблюдения за моим домом, в то время как у меня есть возможность удаленно просматривать прямую трансляцию, но также получать электронные письма со снимками
Взаимодействие Arduino с ультразвуковым датчиком и бесконтактным датчиком температуры: 8 шагов
Взаимодействие Arduino с ультразвуковым датчиком и бесконтактным датчиком температуры: в настоящее время производители и разработчики предпочитают Arduino для быстрой разработки прототипов проектов. Arduino - это электронная платформа с открытым исходным кодом, основанная на простом в использовании аппаратном и программном обеспечении. У Arduino очень хорошее сообщество пользователей. В этом проекте
Настольный аналоговый источник питания DIY с прецизионным ограничителем тока: 8 шагов (с изображениями)
Настольный аналоговый источник питания DIY с прецизионным ограничителем тока: в этом проекте я покажу вам, как использовать знаменитый LM317T с силовым транзистором усилителя тока и как использовать усилитель считывания тока Linear Technology LT6106 для прецизионного ограничителя тока. использовать до более 5А