Turinys:

„Raspberry Pi“- MPL3115A2 tikslaus aukščio matuoklio jutiklio „Python“pamoka: 4 žingsniai
„Raspberry Pi“- MPL3115A2 tikslaus aukščio matuoklio jutiklio „Python“pamoka: 4 žingsniai

Video: „Raspberry Pi“- MPL3115A2 tikslaus aukščio matuoklio jutiklio „Python“pamoka: 4 žingsniai

Video: „Raspberry Pi“- MPL3115A2 tikslaus aukščio matuoklio jutiklio „Python“pamoka: 4 žingsniai
Video: PiicoDev Pressure Sensor MS5637 | Raspberry Pi Guide 2024, Liepa
Anonim
Image
Image

MPL3115A2 naudojamas MEMS slėgio jutiklis su I2C sąsaja, kad būtų gauti tikslūs slėgio/aukščio ir temperatūros duomenys. Jutiklių išėjimai yra skaitmeninami didelės skiriamosios gebos 24 bitų ADC. Vidinis apdorojimas pašalina kompensavimo užduotis iš pagrindinės MCU sistemos. Jis gali aptikti tik 0,05 kPa pokytį, o tai prilygsta 0,3 m aukščio pokyčiui. Čia yra jo demonstravimas su aviečių pi naudojant python kodą.

1 žingsnis: ko jums reikia..

Ko tau reikia..!!
Ko tau reikia..!!

1. Avietė Pi

2. MPL3115A2

3. I²C kabelis

4. „I²C Shield“, skirtas „Raspberry Pi“

5. Ethernet kabelis

2 žingsnis: jungtys:

Sujungimai
Sujungimai
Sujungimai
Sujungimai
Sujungimai
Sujungimai
Sujungimai
Sujungimai

Paimkite aviečių pi I2C skydą ir švelniai stumkite jį virš aviečių pi gpio kaiščių.

Tada vieną I2C kabelio galą prijunkite prie MPL3115A2 jutiklio, o kitą - prie I2C skydo.

Taip pat prijunkite Ethernet kabelį prie pi arba galite naudoti „WiFi“modulį.

Sujungimai parodyti aukščiau esančiame paveikslėlyje.

3 žingsnis: kodas:

Kodas
Kodas

MPL3115A2 python kodą galima atsisiųsti iš mūsų „Github“saugyklos- „DCUBE Store Community“.

Čia yra nuoroda

„Python“kodui naudojome „SMBus“biblioteką, čia aprašyti SMBus diegimo „Raspberry pi“veiksmai:

pypi.python.org/pypi/smbus-cffi/0.5.1

Taip pat galite nukopijuoti kodą iš čia, jis pateikiamas taip:

# Platinama su laisvos valios licencija.

# Naudokite bet kokiu būdu, pelningai ar nemokamai, jei jis atitinka su juo susijusių darbų licencijas.

# MPL3115A2

# Šis kodas skirtas dirbti su MPL3115A2_I2CS I2C mini moduliu

importuoti smbus

importo laikas

# Gaukite I2C autobusą

autobusas = smbus. SMBus (1)

# MPL3115A2 adresas, 0x60 (96)

# Pasirinkite valdymo registrą, 0x26 (38)

# 0xB9 (185) Aktyvus režimas, OSR = 128, altimetro režimas

bus.write_byte_data (0x60, 0x26, 0xB9)

# MPL3115A2 adresas, 0x60 (96)

# Pasirinkite duomenų konfigūracijos registrą, 0x13 (19)

# 0x07 (07) Įgalintas duomenų paruošimo įvykis dėl aukščio, slėgio, temperatūros

bus.write_byte_data (0x60, 0x13, 0x07)

# MPL3115A2 adresas, 0x60 (96)

# Pasirinkite valdymo registrą, 0x26 (38)

# 0xB9 (185) Aktyvus režimas, OSR = 128, altimetro režimas

bus.write_byte_data (0x60, 0x26, 0xB9)

laikas. miegas (1)

# MPL3115A2 adresas, 0x60 (96)

# Perskaitykite duomenis iš 0x00 (00), 6 baitų

# status, tHeight MSB1, tHeight MSB, tHeight LSB, temp MSB, temp LSB

duomenys = autobusas.read_i2c_block_data (0x60, 0x00, 6)

# Konvertuokite duomenis į 20 bitų

tAukštis = ((duomenys [1] * 65536) + (duomenys [2] * 256) + (duomenys [3] ir 0xF0)) / 16

temp = ((duomenys [4] * 256) + (duomenys [5] ir 0xF0)) / 16

aukštis = tAukštis / 16,0

cTemp = temp / 16.0

fTemp = cTemp * 1,8 + 32

# MPL3115A2 adresas, 0x60 (96)

# Pasirinkite valdymo registrą, 0x26 (38)

# 0x39 (57) Aktyvus režimas, OSR = 128, barometro režimas

bus.write_byte_data (0x60, 0x26, 0x39)

laikas. miegas (1)

# MPL3115A2 adresas, 0x60 (96)

# Perskaitykite duomenis iš 0x00 (00), 4 baitų

# status, pres MSB1, pres MSB, pres LSB

duomenys = autobusas.read_i2c_block_data (0x60, 0x00, 4)

# Konvertuokite duomenis į 20 bitų

pres = ((duomenys [1] * 65536) + (duomenys [2] * 256) + (duomenys [3] ir 0xF0)) / 16

slėgis = (pres / 4,0) / 1000,0

# Išveskite duomenis į ekraną

spausdinti "Slėgis: %.2f kPa" %slėgis

spausdinti "Altitude: %.2f m" %altitude

spausdinti "Temperatūra Celsijaus: %.2f C" %cTemp

spausdinti "Temperatūra Farenheitu: %.2f F" %fTemp

4 žingsnis: programos:

Įvairios MPL3115A2 programos apima didelio tikslumo altimetriją, išmaniuosius telefonus/planšetinius kompiuterius, asmeninės elektronikos aukščio matavimus ir tt. Jis taip pat gali būti įtrauktas į GPS mirusiųjų skaičiavimą, GPS gerinimą skubios pagalbos tarnyboms, žemėlapio pagalbinę įrangą, navigaciją ir orų stoties įrangą.

Rekomenduojamas: