Оглавление:

Используя Raspberry Pi, измеряйте высоту, давление и температуру с помощью MPL3115A2: 6 шагов
Используя Raspberry Pi, измеряйте высоту, давление и температуру с помощью MPL3115A2: 6 шагов

Видео: Используя Raspberry Pi, измеряйте высоту, давление и температуру с помощью MPL3115A2: 6 шагов

Видео: Используя Raspberry Pi, измеряйте высоту, давление и температуру с помощью MPL3115A2: 6 шагов
Видео: Продвинутая метеостанция: температура, влажность, давление и запись на SD. Мини-проекты Амперки 2024, Ноябрь
Anonim
Image
Image
Незаменимое оборудование, которое нам нужно
Незаменимое оборудование, которое нам нужно

Знайте, что у вас есть, и знайте, почему вы это владеете

Это интригует. Мы живем в эпоху автоматизации Интернета, которая открывает множество новых приложений. Как энтузиасты компьютеров и электроники, мы многому научились с Raspberry Pi и решили совместить наши интересы. Этот проект займет около часа, если вы не знакомы с подключениями I²C и настройкой программного обеспечения, и это отличный способ расширить возможности MPL3115A2 с помощью Raspberry Pi на Java.

Шаг 1. Незаменимое оборудование, которое нам нужно

Незаменимое оборудование, которое нам нужно
Незаменимое оборудование, которое нам нужно
Незаменимое оборудование, которое нам нужно
Незаменимое оборудование, которое нам нужно
Незаменимое оборудование, которое нам нужно
Незаменимое оборудование, которое нам нужно

1. Raspberry Pi

Первым шагом было получение платы Raspberry Pi. Этот маленький гений используется любителями, учителями и при создании инновационной среды.

2. I2C Shield для Raspberry Pi

INPI2 (адаптер I2C) предоставляет Raspberry Pi 2/3 порт I²C для использования с несколькими устройствами I2C. Он доступен в магазине Dcube.

3. Высотомер, датчик давления и температуры, MPL3115A2

MPL3115A2 - это датчик давления MEMS с интерфейсом I²C для получения данных о давлении, высоте и температуре. Этот датчик использует для связи протокол I²2. Мы приобрели этот датчик в магазине Dcube.

4. Соединительный кабель

Мы использовали соединительный кабель I²C, доступный в магазине Dcube.

5. Кабель Micro USB

Raspberry Pi питается от микро-USB.

6. Улучшение доступа в Интернет - кабель Ethernet / модуль Wi-Fi

Первое, что вам нужно сделать, это подключить Raspberry Pi к Интернету. Вы можете подключиться с помощью кабеля Ethernet или адаптера Wireless USB Nano WiFi.

7. Кабель HDMI (необязательно, на ваш выбор)

Вы можете подключить Raspberry Pi к монитору с помощью кабеля HDMI. Кроме того, вы можете получить удаленный доступ к Raspberry Pi с помощью SSH / PuTTY.

Шаг 2: Подключение оборудования для сборки схемы

Аппаратные соединения для сборки схемы
Аппаратные соединения для сборки схемы
Аппаратные соединения для сборки схемы
Аппаратные соединения для сборки схемы

Выполните схему в соответствии с показанной схемой. В целом, соединения довольно простые. Следуйте инструкциям и изображениям выше, и у вас не должно возникнуть проблем. При планировании мы рассмотрели аппаратное обеспечение и кодирование, а также основы электроники. Мы хотели разработать простую электрическую схему для этого проекта. На схеме вы можете заметить различные части, компоненты питания и датчик I²C, соответствующие протоколам связи I²C. Надеюсь, это показывает, насколько проста электроника для этого проекта.

Подключение Raspberry Pi и I2C Shield

Для этого установите Raspberry Pi и поместите на него I²C Shield. Осторожно нажмите на экран (см. Рис.).

Подключение сенсора и Raspberry Pi

Возьмите датчик и подключите к нему кабель I²C. Убедитесь, что выход I²C ВСЕГДА подключен к входу I²C. То же самое будет с Raspberry Pi с установленным поверх него экраном I²C. У нас есть кабель I²C Shield и соединительные кабели I²C на нашей стороне, что является очень большим преимуществом, поскольку нам остается только опция plug and play. Больше нет проблем с контактами и проводкой, и, следовательно, нет путаницы. Какое облегчение, просто представьте себя в паутине проводов и попадаете в нее. Вот так просто!

Примечание. Коричневый провод всегда должен следовать за заземлением (GND) между выходом одного устройства и входом другого устройства

Подключение к Интернету имеет решающее значение

Чтобы наш проект увенчался успехом, нам нужен доступ в Интернет для Raspberry Pi. Здесь у вас есть такие возможности, как подключение кабеля Ethernet (LAN). Также как альтернативный, но впечатляющий способ использовать адаптер Wi-Fi.

Питание схемы

Подключите кабель Micro USB к разъему питания Raspberry Pi. Включите его и вуаля, все готово!

Подключение к экрану

Мы можем либо подключить кабель HDMI к монитору, либо внести немного новаторский подход, чтобы сделать наш Pi без головы (с использованием -SSH / PuTTY), который помогает сократить дополнительные расходы, потому что мы в какой-то мере являемся любителями.

Когда привычка начинает стоить денег, это называется хобби

Шаг 3: Программирование Raspberry Pi на Java

Программирование Raspberry Pi на Java
Программирование Raspberry Pi на Java

Код Java для датчика Raspberry Pi и MPL3115A2. Он доступен в нашем репозитории Github.

Прежде чем переходить к коду, убедитесь, что вы прочитали инструкции, приведенные в файле Readme, и настройте Raspberry Pi в соответствии с ними. Для этого потребуется немного времени. Высота рассчитывается по давлению с помощью следующего уравнения:

h = 44330,77 {1 - (p / p0) ^ 0,1902632} + OFF_H (значение регистра)

где p0 = давление на уровне моря (101326 Па), а h - в метрах. MPL3115A2 использует это значение, поскольку регистр смещения определяется как 2 паскаля на младший бит. Код явно перед вами, и он в простейшей форме, которую вы можете себе представить, и у вас не должно возникнуть проблем.

Вы также можете скопировать рабочий код Java для этого датчика отсюда.

// Распространяется по свободной лицензии.// Используйте его любым способом, коммерческим или бесплатным, при условии, что он соответствует лицензиям на связанные с ним работы. // MPL3115A2 // Этот код разработан для работы с мини-модулем MPL3115A2_I2CS I2C, доступным на ControlEverything.com. //

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 Bus = I2CFactory.getInstance (I2CBus. BUS_1); // Получение устройства I2C, адрес I2C MPL3115A2 0x60 (96) I2CDevice device = Bus.getDevice (0x60); // Выбор регистра управления // Активный режим, OSR = 128, режим высотомера device.write (0x26, (byte) 0xB9); // Выбор регистра конфигурации данных // Событие готовности данных включено для высоты, давления, температуры device.write (0x13, (byte) 0x07); // Выбор регистра управления // Активный режим, OSR = 128, режим высотомера device.write (0x26, (byte) 0xB9); Thread.sleep (1000);

// Считываем 6 байтов данных с адреса 0x00 (00)

// статус, tHeight msb1, tHeight msb, tHeight lsb, temp msb, temp lsb byte data = new byte [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, (byte) 0x39); Thread.sleep (1000); // Считываем 4 байта данных с адреса 0x00 (00) // status, pres msb1, pres msb, pres lsb device.read (0x00, data, 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: Практичность Кодекса (рабочий)

Практичность кодекса (рабочий)
Практичность кодекса (рабочий)

Теперь загрузите (или выполните git pull) код и откройте его в Raspberry Pi. Выполните команды для компиляции и загрузки кода в терминал и посмотрите результат на мониторе. Через несколько секунд он отобразит все параметры. Убедившись, что все работает без сбоев, вы можете превратить этот проект в более крупный.

Шаг 5. Приложения и функции

Чаще всего датчик точного высотомера MPL3115A2 используется в таких приложениях, как карта (помощник по карте, навигация), магнитный компас или GPS (определение точного счета GPS, улучшение GPS для экстренных служб), высокоточная альтиметрия, смартфоны / планшеты, альтиметрия личной электроники и Спутники (оборудование метеостанции / прогнозирование).

Например, Используя этот датчик и Rasp Pi, вы можете построить цифровой визуальный высотомер, наиболее важный элемент оборудования для прыжков с парашютом, который может измерять высоту, давление и температуру воздуха. Вы можете добавить марлю ветра и другие датчики, чтобы сделать их более интересными.

Шаг 6: Заключение

Поскольку программа удивительно настраиваема, есть много интересных способов, которыми вы можете расширить этот проект и сделать его еще лучше. Например, альтиметр / интерферометр может включать в себя несколько высотомеров, установленных на мачтах, которые будут регистрировать измерения одновременно, обеспечивая тем самым непрерывное, одно- или многоальтиметрическое покрытие большой площади. У нас есть интересный видеоурок на YouTube, который поможет вам лучше понять этот проект.

Рекомендуемые: