Turinys:

Pagreičio matavimas naudojant BMA250 ir Raspberry Pi: 4 žingsniai
Pagreičio matavimas naudojant BMA250 ir Raspberry Pi: 4 žingsniai

Video: Pagreičio matavimas naudojant BMA250 ir Raspberry Pi: 4 žingsniai

Video: Pagreičio matavimas naudojant BMA250 ir Raspberry Pi: 4 žingsniai
Video: 💦Blackview BV9200 ЧЕСТНЫЙ ОБЗОР ПРОТИВОУДАРНОГО 2024, Liepa
Anonim
Image
Image

BMA250 yra mažas, plonas, itin mažos galios, 3 ašių akselerometras, turintis didelės skiriamosios gebos (13 bitų) matavimą iki ± 16 g. Skaitmeniniai išvesties duomenys yra suformatuoti kaip 16 bitų du papildymai ir yra prieinami per I2C skaitmeninę sąsają. Jis matuoja statinį gravitacijos pagreitį pasvirimo jutiklyje, taip pat dinaminį pagreitį, atsirandantį dėl judesio ar smūgio. Didelė skiriamoji geba (3,9 mg/LSB) leidžia matuoti nuolydžio pokyčius, mažesnius nei 1,0 °.

Šioje pamokoje mes išmatuosime visų trijų statmenų ašių pagreitį, naudodami BMA250 ir Raspberry Pi. Jutiklis užprogramuotas python kalba.

1 veiksmas: reikalinga aparatūra:

Reikalinga aparatūra
Reikalinga aparatūra
Reikalinga aparatūra
Reikalinga aparatūra
Reikalinga aparatūra
Reikalinga aparatūra

Medžiagos, reikalingos mūsų tikslui pasiekti, apima šiuos aparatūros komponentus:

1. BMA250

2. Raspberry Pi

3. I2C kabelis

4. „I2C Shield“, skirtas „Raspberry Pi“

5. Ethernet kabelis

2 veiksmas: prijungimas prie aparatūros:

Aparatūros prijungimas
Aparatūros prijungimas
Aparatūros prijungimas
Aparatūros prijungimas

Techninės įrangos prijungimo skyriuje iš esmės paaiškinamos reikalingos laidų jungtys tarp jutiklio ir aviečių pi. Užtikrinti teisingas jungtis yra pagrindinė būtinybė dirbant su bet kuria norimos išvesties sistema. Taigi, būtinos jungtys yra šios:

BMA250 veiks per I2C. Čia yra elektros instaliacijos schemos pavyzdys, parodantis, kaip prijungti kiekvieną jutiklio sąsają.

Iš karto plokštė sukonfigūruota I2C sąsajai, todėl rekomenduojame naudoti šį prijungimą, jei esate kitaip agnostikas. Viskas, ko jums reikia, yra keturi laidai!

Reikia tik keturių jungčių „Vcc“, „Gnd“, „SCL“ir „SDA“kaiščių, kurie yra prijungti naudojant I2C kabelį.

Šie ryšiai parodyti aukščiau esančiose nuotraukose.

3 žingsnis: pagreičio matavimo „Python“kodas:

„Python“pagreičio matavimo kodas
„Python“pagreičio matavimo kodas
„Python“pagreičio matavimo kodas
„Python“pagreičio matavimo kodas

„Raspberry pi“naudojimo pranašumas yra tai, kad suteikia lankstumo programavimo kalbai, kuria norite programuoti plokštę, kad su ja susietumėte jutiklį. Pasinaudoję šiuo šios plokštės pranašumu, mes čia demonstruojame jos programavimą python'e. „Python“yra viena iš paprasčiausių programavimo kalbų, turinti lengviausią sintaksę. BMA250 python kodą galima atsisiųsti iš mūsų „GitHub“bendruomenės, kuri yra „Dcube Store“

Be vartotojų patogumo, mes taip pat paaiškiname kodą čia:

Pirmasis kodavimo žingsnis yra „Python“atveju atsisiųsti „SMBus“biblioteką, nes ši biblioteka palaiko kode naudojamas funkcijas. Taigi, norėdami atsisiųsti biblioteką, galite apsilankyti šioje nuorodoje:

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

Taip pat galite nukopijuoti darbo kodą iš čia:

importuoti smbus

importo laikas

# Gaukite I2C magistralę = smbus. SMBus (1)

# BMA250 adresas, 0x18 (24)

# Pasirinkite diapazono pasirinkimo registrą, 0x0F (15)

# 0x03 (03) Nustatykite diapazoną = +/- 2gbus.write_byte_data (0x18, 0x0F, 0x03)

# BMA250 adresas, 0x18 (24)# Pasirinkite pralaidumo registrą, 0x10 (16)

# 0x08 (08) Pralaidumas = 7,81 Hz mag.write_byte_data (0x18, 0x10, 0x08)

laikas. miegas (0,5)

# BMA250 adresas, 0x18 (24)

# Perskaitykite duomenis iš 0x02 (02), 6 baitų

# X ašis LSB, X ašis MSB, Y ašis LSB, Y ašis MSB, Z ašis LSB, Z ašis MSB

duomenys = autobusas.read_i2c_block_data (0x18, 0x02, 6)

# Konvertuokite duomenis į 10 bitų

xAccl = (duomenys [1] * 256 + (duomenys [0] ir 0xC0)) / 64

jei xAccl> 511:

xAccl -= 1024

yAccl = (duomenys [3] * 256 + (duomenys [2] ir 0xC0)) / 64

jei yAccl> 511:

yAccl -= 1024

zAccl = (duomenys [5] * 256 + (duomenys [4] ir 0xC0)) / 64

jei zAccl> 511:

zAccl -= 1024

# Išveskite duomenis į ekraną

spausdinti "pagreitis X ašyje: % d" % xAccl

spausdinti "pagreitis Y ašyje: % d" % yAccl

spauda "Pagreitis Z ašyje: % d" % zAccl

Kodas vykdomas naudojant šią komandą:

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

Jutiklio išvestis yra parodyta aukščiau esančiame paveikslėlyje vartotojo naudai.

4 žingsnis: programos:

Programos
Programos

Akselerometrai, tokie kaip BMA250, dažniausiai naudojami žaidimuose ir ekrano profilio perjungime. Šis jutiklių modulis taip pat naudojamas pažangioje mobiliųjų programų energijos valdymo sistemoje. BMA250 yra triašis skaitmeninis pagreičio jutiklis, integruotas su išmaniuoju mikroschemo judesio suaktyvintu pertraukimo valdikliu.

Rekomenduojamas: