Sisukord:

Kiirenduse mõõtmine BMA250 ja Raspberry Pi abil: 4 sammu
Kiirenduse mõõtmine BMA250 ja Raspberry Pi abil: 4 sammu
Anonim
Image
Image

BMA250 on väike, õhuke, üliväikese võimsusega 3-teljeline kiirendusmõõtur, millel on kõrge eraldusvõimega (13-bitine) mõõtmine kuni ± 16 g. Digitaalsed väljundandmed on vormindatud 16-bitiste kaheosaliste täienditena ja neile on juurdepääs I2C digitaalse liidese kaudu. Mõõdab staatilist raskuskiirendust kaldetundlikes rakendustes, samuti liikumisest või põrutusest tulenevat dünaamilist kiirendust. Selle kõrge eraldusvõime (3,9 mg/LSB) võimaldab mõõta kalde muutusi alla 1,0 °.

Selles õpetuses mõõdame kiirendust kõigis kolmes risti asetsevas teljes, kasutades BMA250 ja Raspberry Pi. Andur on programmeeritud python keeles.

Samm: vajalik riistvara:

Vajalik riistvara
Vajalik riistvara
Vajalik riistvara
Vajalik riistvara
Vajalik riistvara
Vajalik riistvara

Eesmärgi saavutamiseks vajalikud materjalid sisaldavad järgmisi riistvarakomponente:

1. BMA250

2. Vaarika Pi

3. I2C kaabel

4. I2C kilp Raspberry Pi jaoks

5. Etherneti kaabel

2. samm: riistvara ühendamine:

Riistvara ühendamine
Riistvara ühendamine
Riistvara ühendamine
Riistvara ühendamine

Riistvara ühendamise jaotis selgitab põhimõtteliselt anduri ja vaarika pi vahel vajalikke juhtmestiku ühendusi. Soovitud väljundi mis tahes süsteemiga töötamisel on põhivajadus õigete ühenduste tagamine. Seega on vajalikud ühendused järgmised:

BMA250 töötab üle I2C. Siin on näide ühendusskeemist, mis näitab, kuidas anduri iga liidest ühendada.

Valmis plaat on konfigureeritud I2C liidese jaoks, seega soovitame seda ühendamist kasutada, kui olete muidu agnostik. Kõik, mida vajate, on neli juhtmest!

Vaja on ainult nelja ühendust Vcc, Gnd, SCL ja SDA ning need ühendatakse I2C kaabli abil.

Neid seoseid on näidatud ülaltoodud piltidel.

Samm: kiirenduse mõõtmise Pythoni kood:

Kiirenduse mõõtmise Pythoni kood
Kiirenduse mõõtmise Pythoni kood
Kiirenduse mõõtmise Pythoni kood
Kiirenduse mõõtmise Pythoni kood

Vaarika pi kasutamise eeliseks on see, et saate paindlikult programmeerimiskeelt, milles soovite plaati programmeerida, et andurit sellega liidestada. Kasutades selle plaadi eeliseid, demonstreerime siin selle programmeerimist pythonis. Python on üks lihtsamaid programmeerimiskeeli, millel on lihtsaim süntaks. BMA250 püütoni koodi saab alla laadida meie GitHubi kogukonnast, mis on Dcube Store

Lisaks kasutajate mugavusele selgitame koodi ka siin:

Kodeerimise esimese sammuna peate pythoni korral alla laadima SMBusi teegi, kuna see teek toetab koodis kasutatavaid funktsioone. Niisiis, teegi allalaadimiseks võite külastada järgmist linki:

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

Töökoodi saate kopeerida ka siit:

import smbus

impordi aeg

# Hankige I2C siinus = smbus. SMBus (1)

# BMA250 aadress, 0x18 (24)

# Valige vahemiku valimise register, 0x0F (15)

# 0x03 (03) Määra vahemik = +/- 2gbus.write_byte_data (0x18, 0x0F, 0x03)

# BMA250 aadress, 0x18 (24)# Valige ribalaiuse register, 0x10 (16)

# 0x08 (08) Ribalaius = 7,81 Hz bus.write_byte_data (0x18, 0x10, 0x08)

aeg. uni (0,5)

# BMA250 aadress, 0x18 (24)

# Lugege andmeid tagasi 0x02 (02), 6 baiti

# X-telg LSB, X-telg MSB, Y-telg LSB, Y-telg MSB, Z-telg LSB, Z-telg MSB

andmed = bus.read_i2c_block_data (0x18, 0x02, 6)

# Teisendage andmed 10 bitti

xAccl = (andmed [1] * 256 + (andmed [0] ja 0xC0)) / 64

kui xAccl> 511:

xAccl -= 1024

yAccl = (andmed [3] * 256 + (andmed [2] ja 0xC0)) / 64

kui yAccl> 511:

yAccl -= 1024

zAccl = (andmed [5] * 256 + (andmed [4] ja 0xC0)) / 64

kui zAccl> 511:

zAccl -= 1024

# Väljastage andmed ekraanile

print "Kiirendus X-teljel: % d" % xAccl

print "Kiirendus Y-teljel: % d" % yAccl

print "Z-telje kiirendus: % d" % zAccl

Kood käivitatakse järgmise käsu abil:

$> python BMA250.py gt; python BMA250.py

Anduri väljund on näidatud ülaltoodud pildil kasutaja jaoks.

4. samm: rakendused:

Rakendused
Rakendused

Kiirendusmõõturid nagu BMA250 leiavad selle rakenduse enamasti mängudes ja kuvaprofiili vahetamisel. Seda andurimoodulit kasutatakse ka mobiilirakenduste täiustatud toitehaldussüsteemis. BMA250 on kolmeteljeline digitaalne kiirendusandur, mis on ühendatud intelligentse kiibi liikumise käivitatud katkestuskontrolleriga.

Soovitan: