Мазмұны:

Raspberry Pi - MPL3115A2 дәлдіктегі альтиметрлік сенсор Python оқулығы: 4 қадам
Raspberry Pi - MPL3115A2 дәлдіктегі альтиметрлік сенсор Python оқулығы: 4 қадам

Бейне: Raspberry Pi - MPL3115A2 дәлдіктегі альтиметрлік сенсор Python оқулығы: 4 қадам

Бейне: Raspberry Pi - MPL3115A2 дәлдіктегі альтиметрлік сенсор Python оқулығы: 4 қадам
Бейне: Raspberry Pi MPL3115A2 Precision Altimeter Sensor Python Tutorial 2024, Шілде
Anonim
Image
Image

MPL3115A2 қысым/биіктік және температура туралы нақты деректерді беру үшін I2C интерфейсі бар MEMS қысым датчигін қолданады. Сенсордың шығысы жоғары ажыратымдылықтағы 24 биттік ADC көмегімен цифрланған. Ішкі өңдеу хост MCU жүйесінен өтемақы тапсырмаларын жояды. Ол тек 0,05 кПа өзгерісін анықтай алады, бұл биіктіктің 0,3 м өзгеруіне тең. Міне, оның таңқурай pi көмегімен питон кодының көмегімен көрсетілуі.

1 -қадам: Сізге не керек..

Сізге не керек.. !!
Сізге не керек.. !!

1. Raspberry Pi

2. MPL3115A2

3. I²C кабелі

4. Raspberry Pi үшін I²C қалқаны

5. Ethernet кабелі

2 -қадам: Қосылымдар:

Қосылымдар
Қосылымдар
Қосылымдар
Қосылымдар
Қосылымдар
Қосылымдар
Қосылымдар
Қосылымдар

Таңқурай пи үшін I2C қалқанын алыңыз және оны таңқурай пи gpio түйреуіштерінен ақырын басыңыз.

Содан кейін I2C кабелінің бір ұшын MPL3115A2 сенсорына, екінші ұшын I2C қалқанына қосыңыз.

Ethernet кабелін pi -ге қосыңыз немесе WiFi модулін қолдана аласыз.

Қосылымдар жоғарыдағы суретте көрсетілген.

3 -қадам: код:

Код
Код

MPL3115A2 үшін питон кодын біздің Github репозиторийінен жүктеуге болады- DCUBE дүкен қауымдастығы.

Міне сілтеме

Біз питон коды үшін SMBus кітапханасын қолдандық, мұнда таңқурай pi -де SMBus орнату қадамдары сипатталған:

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)

уақыт.ұйқы (1)

# MPL3115A2 мекенжайы, 0x60 (96)

# Деректерді 0x00 (00), 6 байттан кері оқыңыз

# күйі, биіктігі MSB1, tHeight MSB, tHeight LSB, temp MSB, temp LSB

data = 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)

уақыт.ұйқы (1)

# MPL3115A2 мекенжайы, 0x60 (96)

# Деректерді 0x00 (00), 4 байттан кері оқыңыз

# мәртебе, MSB1 прес, MSB pres, LSB pres

data = bus.read_i2c_block_data (0x60, 0x00, 4)

# Деректерді 20 битке түрлендіріңіз

pres = ((деректер [1] * 65536) + (деректер [2] * 256) + (деректер [3] & 0xF0)) / 16

қысым = (прес / 4,0) / 1000,0

# Деректерді экранға шығару

басып шығару «Қысым: %.2f кПа» %қысым

басып шығару «Биіктік: %.2f м» %биіктік

басып шығару «Цельсий бойынша температура: %.2f C» %cTemp

басып шығару «Фаренгейт температурасы: %.2f F» %fTemp

4 -қадам: Өтініштер:

MPL3115A2 әр түрлі қосымшаларына жоғары дәлдіктегі алтиметрия, смартфондар/планшеттер, дербес электроника алиметриясы және т.б. кіреді. Ол GPS -тің өлу есебіне, төтенше қызметтерге GPS -ті жақсартуға, картаға көмекке, навигацияға, сондай -ақ метеорологиялық станция жабдықтарына қосылуы мүмкін.

Ұсынылған: