Turinys:
Video: „Raspberry Pi“- MPL3115A2 tikslaus aukščio matuoklio jutiklio „Python“pamoka: 4 žingsniai
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:45
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..
1. Avietė Pi
2. MPL3115A2
3. I²C kabelis
4. „I²C Shield“, skirtas „Raspberry Pi“
5. Ethernet kabelis
2 žingsnis: jungtys:
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:
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:
Aukščio matuoklis (aukščio matuoklis) pagal atmosferos slėgį: 7 žingsniai (su nuotraukomis)
Aukščio matuoklis (aukščio matuoklis) Remiantis atmosferos slėgiu: [Redaguoti]; Žr. 2 versiją 6 veiksme su rankiniu įvesties aukščio įvedimu. Tai yra aukščio matuoklio (aukščio matuoklio), pagrįsto „Arduino Nano“ir „Bosch BMP180“atmosferos slėgio jutikliu, pastato aprašymas. Dizainas paprastas, bet matavimai
„Raspberry Pi SHT25“drėgmės ir temperatūros jutiklio „Python“pamoka: 4 žingsniai
„Raspberry Pi SHT25“drėgmės ir temperatūros jutiklio „Python“pamoka: SHT25 I2C drėgmės ir temperatūros jutiklis ± 1,8%RH ± 0,2 ° C I2C mini modulis. SHT25 didelio tikslumo drėgmės ir temperatūros jutiklis tapo pramonės standartu pagal formos faktorių ir intelektą, suteikiantį kalibruotus, linijinius jutiklių ženklus
„Raspberry Pi“- TMP007 infraraudonųjų spindulių termopilių jutiklio „Python“pamoka: 4 žingsniai
„Raspberry Pi“- „TMP007“infraraudonųjų spindulių termopilių jutiklio „Python“pamoka: TMP007 yra infraraudonųjų spindulių termopilių jutiklis, kuris matuoja objekto temperatūrą nesiliečiant su juo. Objekto skleidžiamą infraraudonųjų spindulių energiją jutiklio lauke sugeria į jutiklį integruotas termopolis. Termopilis
„CubeSat“pagreičio matuoklio pamoka: 6 žingsniai
„CubeSat“pagreičio matuoklio pamoka: „cubesat“yra miniatiūrinio palydovo, skirto kosmoso tyrimams, tipas, kurį sudaro 10x10x10 cm kubinių vienetų kartotiniai ir kurio masė ne didesnė kaip 1,33 kilogramo. Kubeliai leidžia į kosmosą nusiųsti daug palydovų
„Raspberry Pi MCP9808“temperatūros jutiklio „Python“pamoka: 4 žingsniai
„Raspberry Pi MCP9808“temperatūros jutiklio „Python“pamoka: MCP9808 yra labai tikslus skaitmeninis temperatūros jutiklis ± 0,5 ° C I2C mini modulis. Jie yra su vartotojo programuojamais registrais, palengvinančiais temperatūros jutimo programas. MCP9808 didelio tikslumo temperatūros jutiklis tapo pramone