Съдържание:
Видео: Raspberry Pi - MPL3115A2 Прецизен сензор за висотомер Python Урок: 4 стъпки
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-30 07:50
MPL3115A2 използва MEMS сензор за налягане с I2C интерфейс за предоставяне на точни данни за налягане/надморска височина и температура. Изходите на сензора са цифровизирани от 24-битов ADC с висока разделителна способност. Вътрешната обработка премахва компенсационните задачи от хост MCU системата. Той е в състояние да открие промяна само в 0,05 kPa, което се равнява на 0,3 m промяна във височината. Ето демонстрацията му с малиново пи, използващо код на python.
Стъпка 1: Какво ви трябва..
1. Малина Пи
2. MPL3115A2
3. Кабел I²C
4. I²C щит за Raspberry Pi
5. Ethernet кабел
Стъпка 2: Връзки:
Вземете I2C щит за малиново пи и внимателно го натиснете върху щифтовете на gpio на малиново пи.
След това свържете единия край на I2C кабела към сензора MPL3115A2, а другия край към I2C щита.
Свържете също Ethernet кабела към pi или можете да използвате WiFi модул.
Връзките са показани на снимката по -горе.
Стъпка 3: Код:
Кодът на python за MPL3115A2 може да бъде изтеглен от нашето хранилище на Github- DCUBE Store Community.
Ето линка
Използвахме библиотека SMBus за код на python, стъпките за инсталиране на SMBus на raspberry pi са описани тук:
pypi.python.org/pypi/smbus-cffi/0.5.1
Можете също да копирате кода от тук, той е даден, както следва:
# Разпространява се с лиценз за свободна воля.
# Използвайте го по какъвто начин искате, печалба или безплатно, при условие че се вписва в лицензите на свързаните с него произведения.
# MPL3115A2
# Този код е предназначен за работа с мини модула MPL3115A2_I2CS I2C
внос 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)
time.sleep (1)
# MPL3115A2 адрес, 0x60 (96)
# Прочетете данните обратно от 0x00 (00), 6 байта
# статус, tHeight MSB1, tHeight MSB, tHeight LSB, temp MSB, temp LSB
данни = bus.read_i2c_block_data (0x60, 0x00, 6)
# Конвертирайте данните в 20-бита
tHeight = ((данни [1] * 65536) + (данни [2] * 256) + (данни [3] & 0xF0)) / 16
temp = ((данни [4] * 256) + (данни [5] & 0xF0)) / 16
надморска височина = tВисочина / 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)
time.sleep (1)
# MPL3115A2 адрес, 0x60 (96)
# Прочетете данните обратно от 0x00 (00), 4 байта
# status, pres MSB1, pres MSB, pres LSB
данни = bus.read_i2c_block_data (0x60, 0x00, 4)
# Конвертирайте данните в 20-бита
pres = ((данни [1] * 65536) + (данни [2] * 256) + (данни [3] & 0xF0)) / 16
налягане = (pres / 4.0) / 1000.0
# Извеждане на данни на екрана
отпечатайте "Налягане: %.2f kPa" %налягане
отпечатайте "Надморска височина: %.2f m" %надморска височина
печат "Температура в Целзий: %.2f C" %cТемп
отпечатайте "Температура по Фаренхайт: %.2f F" %fTemp
Стъпка 4: Приложения:
Различните приложения на MPL3115A2 включват високоточна алтиметрия, смартфони/таблети, лична електроника и др. Може също да бъде включена в GPS Dead Reckoning, GPS Enhancement за аварийни услуги, Map Assist, навигация, както и оборудване на метеорологичните станции.
Препоръчано:
Raspberry Pi SHT25 Сензор за влажност и температура Python Урок: 4 стъпки
Raspberry Pi SHT25 Сензор за влажност и температура Python Урок: SHT25 I2C Сензор за влажност и температура ± 1,8%RH ± 0,2 ° C I2C мини модул. Високоточният сензор за влажност и температура SHT25 се превърна в индустриален стандарт по отношение на форм-фактора и интелигентността, като осигурява калибриран, линеаризиран сигнален сензор
Raspberry Pi - BH1715 Цифров сензор за околна светлина Python Урок: 4 стъпки
Raspberry Pi - BH1715 Цифров сензор за околна светлина Python Урок: BH1715 е цифров сензор за околна светлина с интерфейс I²C шина. BH1715 обикновено се използва за получаване на данни за околната светлина за регулиране на мощността на подсветката на LCD и клавиатурата за мобилни устройства. Това устройство предлага 16-битова резолюция и настройва
Raspberry Pi - TMP007 Инфрачервен термопилен сензор Python Урок: 4 стъпки
Raspberry Pi - TMP007 Инфрачервен сензор за термопила Python Урок: TMP007 е инфрачервен сензор за термопила, който измерва температурата на обект, без да е в контакт с него. Инфрачервената енергия, излъчвана от обекта в сензорното поле, се абсорбира от термоустройството, вградено в сензора. Термострумът
Raspberry Pi - TSL45315 Сензор за околна светлина Python Урок: 4 стъпки
Raspberry Pi - TSL45315 Сензор за околна светлина Python Урок: TSL45315 е цифров сензор за околна светлина. Той приближава реакцията на човешкото око при различни условия на осветление. Устройствата имат три избираеми времена на интеграция и осигуряват директен 16-битов лукс изход чрез интерфейс на I2C шина. Устройството съвместно
Raspberry Pi - HIH6130 I2C сензор за влажност и температура Python урок: 4 стъпки
Raspberry Pi - HIH6130 I2C сензор за влажност и температура Python Урок: HIH6130 е сензор за влажност и температура с цифров изход. Тези сензори осигуряват ниво на точност ± 4% относителна влажност. С водеща в индустрията дългосрочна стабилност, истинска температурно компенсирана цифрова I2C, водеща в индустрията надеждност, енергийна ефективност