Оглавление:
- Шаг 1: необходимое нам необходимое оборудование
- Шаг 2: Подключение оборудования для сборки схемы
- Шаг 3: Программирование Raspberry Pi на Python
- Шаг 4: Практичность кода (тестирование)
- Шаг 5. Приложения и функции
- Шаг 6: Заключение
Видео: Высота, давление и температура при использовании Raspberry Pi с MPL3115A2: 6 шагов
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:49
Звучит интересно. Это вполне возможно в наше время, когда мы все переходим к поколению Интернета вещей. Мы, помешанные на электронике, поигрались с 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
Код 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, который может помочь вам в исследовании. Надеюсь, этот проект вдохновит на дальнейшие эксперименты.
Рекомендуемые:
M5STACK Как отображать температуру, влажность и давление на M5StickC ESP32 с помощью Visuino - легко сделать: 6 шагов
M5STACK Как отображать температуру, влажность и давление на M5StickC ESP32 с помощью Visuino - легко: в этом руководстве мы узнаем, как запрограммировать ESP32 M5Stack StickC с Arduino IDE и Visuino для отображения температуры, влажности и давления с помощью датчика ENV (DHT12, BMP280, BMM150)
Метеостанция Arduino с использованием BMP280-DHT11 - температура, влажность и давление: 8 шагов
Метеостанция Arduino с использованием BMP280-DHT11 - Температура, влажность и давление: в этом уроке мы узнаем, как создать метеостанцию, которая будет отображать ТЕМПЕРАТУРУ, ВЛАЖНОСТЬ И ДАВЛЕНИЕ на ЖК-дисплее TFT 7735Посмотрите демонстрационное видео
ИБП 12 В / 5 В при «неправильном использовании» контроллера солнечной панели: 5 шагов
ИБП 12 В / 5 В из-за «неправильного использования» контроллера солнечной панели: Вы когда-нибудь хотели ИБП для проекта? Посмотрел на сумасшедшие цены на ИБП и подумал, что я хочу запитать только что-то низкое напряжение. Что ж, тогда эта инструкция для вас! Я собираюсь показать, что вы должны «неправильно использовать» контроллер солнечной панели, чтобы создать sma
Visuino I2C BMP280 Давление, температура + OLED: 7 шагов
Visuino I2C BMP280 Давление, температура + OLED: в этом уроке мы будем использовать датчик давления I2C BMP280, датчик температуры, ЖК-дисплей OLED, Arduino UNO измеряют давление и температуру и отображают результаты на ЖК-дисплее. Посмотреть демонстрационное видео
Используя Raspberry Pi, измеряйте высоту, давление и температуру с помощью MPL3115A2: 6 шагов
Используя Raspberry Pi, измеряйте высоту, давление и температуру с помощью MPL3115A2: знайте, что у вас есть, и знайте, почему вы это владеете! Это интригует. Мы живем в эпоху автоматизации Интернета, которая открывает множество новых приложений. Как энтузиасты компьютеров и электроники, мы многому научились с Raspberry Pi