Оглавление:

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

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

Видео: Высота, давление и температура при использовании Raspberry Pi с MPL3115A2: 6 шагов
Видео: Датчик высоты | Проект высотного воздушного шара | Малиновый Пи 3 Б+ 2024, Декабрь
Anonim
Высота, давление и температура с использованием Raspberry Pi с MPL3115A2
Высота, давление и температура с использованием Raspberry Pi с MPL3115A2
Высота, давление и температура с использованием Raspberry Pi с MPL3115A2
Высота, давление и температура с использованием Raspberry Pi с MPL3115A2

Звучит интересно. Это вполне возможно в наше время, когда мы все переходим к поколению Интернета вещей. Мы, помешанные на электронике, поигрались с Raspberry Pi и решили создавать интересные проекты, используя эти знания. В этом проекте мы будем измерять высоту, давление воздуха и температуру с помощью Raspberry Pi. Итак, вот документация (всегда изменяемая и расширяемая). Мы рекомендуем начать со следования инструкциям и скопировать код. Вы можете поэкспериментировать позже. Итак, приступим.

Шаг 1: необходимое нам необходимое оборудование

Необходимое необходимое оборудование
Необходимое необходимое оборудование
Необходимое необходимое оборудование
Необходимое необходимое оборудование
Необходимое необходимое оборудование
Необходимое необходимое оборудование
Необходимое необходимое оборудование
Необходимое необходимое оборудование

1. Raspberry Pi

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

2. I²C Shield для Raspberry Pi

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

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

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

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

У нас был соединительный кабель I2C, доступный в магазине Dcube.

5. Кабель Micro USB

Кабель micro USB Источник питания - идеальный выбор для питания Raspberry Pi.

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

В эту эпоху для получения доступа ко всему необходимо подключение к Интернету (почти так же, как и в автономном режиме). Поэтому мы посоветовались с кабелем локальной сети или беспроводным USB-адаптером Nano (WiFi), чтобы создать подключение к Интернету, чтобы мы могли легко и без проблем использовать наш Rasp Pi.

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

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

Шаг 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 с помощью кабеля локальной сети или беспроводного USB-адаптера Nano для подключения к Wi-Fi. Как бы то ни было, основная цель - подключение к Интернету.

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

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

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

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

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

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

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

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

Высота рассчитывается по давлению по приведенному ниже уравнению:

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

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

Код явно перед вами, и он в простейшей форме, которую вы можете себе представить, и у вас не должно возникнуть проблем.

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

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

импортировать smbus

время импорта

# Получить шину I2C

автобус = smbus. SMBus (1)

# MPL3115A2 адрес, 0x60 (96)

# Выбор регистра управления, 0x26 (38) # 0xB9 (185) Активный режим, OSR = 128, режим высотомера bus.write_byte_data (0x60, 0x26, 0xB9) # MPL3115A2 адрес, 0x60 (96) # Выбор регистра конфигурации данных, 0x13 (19) # 0x07 (07) Событие готовности данных включено для высоты, давления, температуры bus.write_byte_data (0x60, 0x13, 0x07) # Адрес MPL3115A2, 0x60 (96) # Выбор регистра управления, 0x26 (38) # 0xB9 (185) Активный режим, OSR = 128, режим высотомера bus.write_byte_data (0x60, 0x26, 0xB9)

время сна (1)

# MPL3115A2 адрес, 0x60 (96)

# Считать данные обратно из 0x00 (00), 6 байт # status, tHeight MSB1, tHeight MSB, tHeight LSB, temp MSB, temp LSB data = bus.read_i2c_block_data (0x60, 0x00, 6)

# Преобразовать данные в 20-битные

tHeight = ((data [1] * 65536) + (data [2] * 256) + (data [3] & 0xF0)) / 16 temp = ((data [4] * 256) + (data [5] & 0xF0)) / 16 altitude = tHeight / 16.0 cTemp = temp / 16.0 fTemp = cTemp * 1.8 + 32

# MPL3115A2 адрес, 0x60 (96)

# Выбор регистра управления, 0x26 (38) # 0x39 (57) Активный режим, OSR = 128, режим барометра bus.write_byte_data (0x60, 0x26, 0x39)

время сна (1)

# MPL3115A2 адрес, 0x60 (96)

# Считать данные обратно из 0x00 (00), 4 байта # status, pres MSB1, pres MSB, pres LSB data = bus.read_i2c_block_data (0x60, 0x00, 4)

# Преобразовать данные в 20-битные

прес = ((данные [1] * 65536) + (данные [2] * 256) + (данные [3] & 0xF0)) / 16 давление = (прес / 4,0) / 1000,0

# Выводить данные на экран

print "Давление:%.2f кПа"% давление print "Высота:%.2f m"% altitude print "Температура в градусах Цельсия:%.2f C"% cTemp print "Температура в градусах Фаренгейта:%.2f F"% fTemp

Шаг 4: Практичность кода (тестирование)

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

Теперь загрузите (или выполните git pull) код и откройте его в Raspberry Pi.

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

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

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

Например, проект по созданию персонального электронного высотомера, который измеряет высоту, давление и температуру воздуха с помощью Raspberry Pi. Персональный электронный альтиметр - довольно быстрый проект для сборки. Это займет всего несколько минут, если у вас есть все партии и вы не импровизируете (конечно, можете!). Альтиметр давления - это высотомер, который используется в большинстве самолетов, и парашютисты используют его версии для аналогичных целей, которые крепятся на запястье. Путешественники и альпинисты используют наручные или портативные высотомеры.

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

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

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