Բովանդակություն:

Raspberry Pi - MPL3115A2 Precision Altimeter Sensor Python Tutorial: 4 Step
Raspberry Pi - MPL3115A2 Precision Altimeter Sensor Python Tutorial: 4 Step

Video: Raspberry Pi - MPL3115A2 Precision Altimeter Sensor Python Tutorial: 4 Step

Video: Raspberry Pi - MPL3115A2 Precision Altimeter Sensor Python Tutorial: 4 Step
Video: Raspberry Pi HP203B Precision Barometer & Altimeter Sensor Python Tutorial 2024, Հուլիսի
Anonim
Image
Image

MPL3115A2- ն օգտագործում է MEMS ճնշման տվիչ ՝ I2C ինտերֆեյսով ՝ ճշգրիտ ճնշման/բարձրության և ջերմաստիճանի տվյալներ ապահովելու համար: Սենսորային ելքերը թվայնացվում են բարձր լուծման 24-բիթանոց ADC- ով: Ներքին մշակումը հեռացնում է փոխհատուցման առաջադրանքները ընդունող MCU համակարգից: Այն ունակ է հայտնաբերել միայն 0.05 կՊա -ի փոփոխություն, ինչը հավասար է 0.3 մ բարձրության փոփոխության: Ահա դրա ցուցադրումը ազնվամորի pi- ի միջոցով `օգտագործելով python ծածկագիրը:

Քայլ 1: Այն, ինչ ձեզ հարկավոր է..

Այն, ինչ ձեզ պետք է.. !!
Այն, ինչ ձեզ պետք է.. !!

1. Ազնվամորի Պի

2. MPL3115A2

3. I²C մալուխ

4. I²C Shield ազնվամորի Pi- ի համար

5. Ethernet մալուխ

Քայլ 2: Միացումներ

Միացումներ
Միացումներ
Միացումներ
Միացումներ
Միացումներ
Միացումներ
Միացումներ
Միացումներ

Վերցրեք I2C վահան ազնվամորու pi- ի համար և նրբորեն մղեք այն ազնվամորի pi- ի gpio կապանքների վրա:

Այնուհետև I2C մալուխի մի ծայրը միացրեք MPL3115A2 սենսորին, իսկ մյուս ծայրը ՝ I2C վահանին:

Միացրեք Ethernet մալուխը pi- ին կամ կարող եք օգտագործել WiFi մոդուլ:

Կապերը ցուցադրվում են վերևի նկարում:

Քայլ 3: Կոդ

Կոդ
Կոդ

MPL3115A2- ի Python կոդը կարելի է ներբեռնել մեր Github պահոցից ՝ DCUBE Store Community:

Ահա հղումը

Մենք օգտագործել ենք SMBus գրադարանը python կոդի համար, ազնվամորի 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 բայթ

# կարգավիճակ, tHeight MSB1, tHeight MSB, tHeight LSB, ջերմաստիճան 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)

ժամանակ. քուն (1)

# MPL3115A2 հասցե, 0x60 (96)

# Կարդացեք տվյալները 0x00 (00) -ից, 4 բայթ

# կարգավիճակ, 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

# Ելքի տվյալները էկրանին

տպել "ureնշում. %.2f kPa" %ճնշում

տպել "Բարձրություն. %.2f մ" %բարձրություն

տպել "elsերմաստիճանը Celsius: %.2f C" %cTemp

տպել "ahերմաստիճանը Ֆարենհայտում. %.2f F" %fTemp

Քայլ 4: Դիմումներ

MPL3115A2- ի տարբեր ծրագրեր ներառում են բարձր ճշգրտության բարձրաչափություն, սմարթֆոններ/պլանշետներ, անհատական էլեկտրոնիկայի բարձրաչափություն և այլն: Այն կարող է ներառվել նաև GPS Dead Reckoning, GPS Enhancement for Emergency Services, Map Assist, Navigation, ինչպես նաև Եղանակային կայանի սարքավորումներում:

Խորհուրդ ենք տալիս: