Obsah:
- Krok 1: Potrebný hardvér:
- Krok 2: Pripojenie hardvéru:
- Krok 3: Python kód na meranie zrýchlenia:
- Krok 4: Aplikácie:
Video: Meranie zrýchlenia pomocou BMA250 a Raspberry Pi: 4 kroky
2024 Autor: John Day | [email protected]. Naposledy zmenené: 2024-01-30 11:58
BMA250 je malý, tenký, 3-osový akcelerometer s ultra nízkym výkonom a meraním s vysokým rozlíšením (13 bitov) až ± 16 g. Digitálne výstupné údaje sú formátované ako 16-bitové dvojčatá a sú prístupné prostredníctvom digitálneho rozhrania I2C. Meria statické gravitačné zrýchlenie v aplikáciách snímajúcich náklon, ako aj dynamické zrýchlenie vyplývajúce z pohybu alebo šoku. Jeho vysoké rozlíšenie (3,9 mg/LSB) umožňuje meranie zmien sklonu menej ako 1,0 °.
V tomto návode sa chystáme zmerať zrýchlenie vo všetkých troch kolmých osiach pomocou BMA250 a Raspberry Pi. Senzor je naprogramovaný v jazyku python.
Krok 1: Potrebný hardvér:
Materiály, ktoré potrebujeme na dosiahnutie nášho cieľa, obsahujú nasledujúce hardvérové komponenty:
1. BMA250
2. Raspberry Pi
3. Kábel I2C
4. I2C štít pre Raspberry Pi
5. Ethernetový kábel
Krok 2: Pripojenie hardvéru:
Časť zapojenia hardvéru v zásade vysvetľuje zapojenie potrebné medzi senzorom a malinovým pi. Zabezpečenie správneho pripojenia je základnou potrebou pri práci na akomkoľvek systéme s požadovaným výstupom. Potrebné spojenia sú teda tieto:
BMA250 bude fungovať na I2C. Tu je príklad schémy zapojenia, ktorá ukazuje, ako prepojiť každé rozhranie snímača.
Hneď po vybalení je doska nakonfigurovaná na rozhranie I2C, preto vám toto pripojenie odporúčame použiť, ak ste inak agnostik. Všetko, čo potrebujete, sú štyri drôty!
Vyžadujú sa iba štyri pripojenia Vcc, Gnd, SCL a SDA piny, ktoré sú prepojené pomocou kábla I2C.
Tieto spojenia sú znázornené na obrázkoch vyššie.
Krok 3: Python kód na meranie zrýchlenia:
Výhodou použitia maliny pi je, že vám poskytuje flexibilitu programovacieho jazyka, v ktorom chcete dosku programovať, aby ste s ňou mohli prepojiť senzor. S využitím tejto výhody tejto dosky tu demonštrujeme jej programovanie v pythone. Python je jedným z najľahších programovacích jazykov s najľahšou syntaxou. Pythonový kód pre BMA250 je možné stiahnuť z našej komunity GitHub, ktorou je Dcube Store
Rovnako ako pre jednoduchosť používateľov, vysvetľujeme kód aj tu:
Ako prvý krok kódovania si musíte stiahnuť knižnicu SMBus v prípade pythonu, pretože táto knižnica podporuje funkcie použité v kóde. Ak si chcete stiahnuť knižnicu, môžete navštíviť nasledujúci odkaz:
pypi.python.org/pypi/smbus-cffi/0.5.1
Pracovný kód môžete skopírovať aj tu:
import smbus
čas importu
# Získajte zbernicu I2C = smbus. SMBus (1)
# Adresa BMA250, 0x18 (24)
# Register výberu rozsahu výberu, 0x0F (15)
# 0x03 (03) Nastavený rozsah = +/- 2gbus.write_byte_data (0x18, 0x0F, 0x03)
# Adresa BMA250, 0x18 (24)# Vyberte register šírky pásma, 0x10 (16)
# 0x08 (08) Šírka pásma = 7,81 Hz bus.write_byte_data (0x18, 0x10, 0x08)
čas.spánok (0,5)
# Adresa BMA250, 0x18 (24)
# Načítajte údaje späť z 0x02 (02), 6 bajtov
# Os X LSB, os X MSB, os Y LSB, os Y MSB, os Z LSB, os Z MSB
data = bus.read_i2c_block_data (0x18, 0x02, 6)
# Konvertujte údaje na 10 bitov
xAccl = (údaje [1] * 256 + (údaje [0] & 0xC0)) / 64
ak xAccl> 511:
xAccl -= 1024
yAccl = (údaje [3] * 256 + (údaje [2] a 0xC0)) / 64
ak yAccl> 511:
yAccl -= 1024
zAccl = (údaje [5] * 256 + (údaje [4] a 0xC0)) / 64
ak zAccl> 511:
zAccl -= 1024
# Výstup údajov na obrazovku
vytlačiť „Zrýchlenie v osi X: % d“% xAccl
vytlačiť "Zrýchlenie v osi Y: % d" % yAccl
vytlačiť "Zrýchlenie v osi Z: % d" % zAccl
Kód sa spustí pomocou nasledujúceho príkazu:
$> python BMA250.py gt; python BMA250.py
Výstup senzora je pre referenciu užívateľa zobrazený na obrázku vyššie.
Krok 4: Aplikácie:
Akcelerometre ako BMA250 väčšinou nachádzajú svoje uplatnenie v hrách a prepínaní profilov zobrazenia. Tento senzorový modul sa používa aj v pokročilom systéme riadenia spotreby pre mobilné aplikácie. BMA250 je trojosový digitálny snímač zrýchlenia, ktorý je vybavený inteligentným radičom prerušenia spúšťaným pohybom na čipe.
Odporúča:
Meranie zrýchlenia pomocou ADXL345 a fotónu častíc: 4 kroky
Meranie zrýchlenia pomocou ADXL345 a časticového fotónu: ADXL345 je malý, tenký, ultra nízky výkon, 3-osový akcelerometer s meraním s vysokým rozlíšením (13-bit) až do ± 16 g. Digitálne výstupné údaje sú formátované ako 16-bitové dvojčatá a sú prístupné prostredníctvom digitálneho rozhrania I2 C. Meria
Meranie zrýchlenia pomocou ADXL345 a Raspberry Pi: 4 kroky
Meranie zrýchlenia pomocou ADXL345 a Raspberry Pi: ADXL345 je malý, tenký, ultraľahký, 3-osový akcelerometer s meraním s vysokým rozlíšením (13-bit) až ± 16 g. Digitálne výstupné údaje sú formátované ako 16-bitové dvojčatá a sú prístupné prostredníctvom digitálneho rozhrania I2 C. Meria
Meranie zrýchlenia pomocou H3LIS331DL a Raspberry Pi: 4 kroky
Meranie zrýchlenia pomocou modelov H3LIS331DL a Raspberry Pi: H3LIS331DL je nízkoenergetický vysokovýkonný 3-osový lineárny akcelerometer patriaci do rodiny „nano“so digitálnym sériovým rozhraním I²C. H3LIS331DL má užívateľsky voliteľné plné stupnice ± 100 g/± 200 g/± 400 g a je schopný merať zrýchlenia
Meranie zrýchlenia pomocou BMA250 a Arduino Nano: 4 kroky
Meranie zrýchlenia pomocou modelov BMA250 a Arduino Nano: BMA250 je malý, tenký, ultraľahký, 3-osový akcelerometer s meraním s vysokým rozlíšením (13 bitov) až ± 16 g. Digitálne výstupné údaje sú formátované ako 16-bitové dvojčatá a sú prístupné prostredníctvom digitálneho rozhrania I2C. Meria statickú
Meranie zrýchlenia pomocou fotónu BMA250 a časticového fotónu: 4 kroky
Meranie zrýchlenia pomocou fotónu BMA250 a časticového fotónu: BMA250 je malý, tenký, 3-osový akcelerometer s ultra nízkym výkonom a meraním s vysokým rozlíšením (13 bitov) až ± 16 g. Digitálne výstupné údaje sú formátované ako 16-bitové dvojčatá a sú prístupné prostredníctvom digitálneho rozhrania I2C. Meria statickú