Kazalo:

Merjenje pospeška z uporabo BMA250 in Raspberry Pi: 4 koraki
Merjenje pospeška z uporabo BMA250 in Raspberry Pi: 4 koraki

Video: Merjenje pospeška z uporabo BMA250 in Raspberry Pi: 4 koraki

Video: Merjenje pospeška z uporabo BMA250 in Raspberry Pi: 4 koraki
Video: Физик раскрывает секреты путешествий во времени НЛО: Нимиц и Тик-Так 2024, Julij
Anonim
Image
Image

BMA250 je majhen, tanek, 3-osni merilnik pospeška z izjemno nizko močjo z visoko ločljivostjo (13-bitnimi) meritvami do ± 16 g. Digitalni izhodni podatki so oblikovani kot 16-bitni dvojčki, ki se dopolnjujejo, in so dostopni prek digitalnega vmesnika I2C. Meri statični pospešek gravitacije v aplikacijah za zaznavanje nagiba, pa tudi dinamični pospešek, ki je posledica gibanja ali udarca. Njegova visoka ločljivost (3,9 mg/LSB) omogoča merjenje naklonskih sprememb pod 1,0 °.

V tej vadnici bomo merili pospešek v vseh treh pravokotnih osi z uporabo BMA250 in Raspberry Pi. Senzor je programiran v jeziku python.

1. korak: Potrebna strojna oprema:

Potrebna strojna oprema
Potrebna strojna oprema
Potrebna strojna oprema
Potrebna strojna oprema
Potrebna strojna oprema
Potrebna strojna oprema

Materiali, ki jih potrebujemo za dosego našega cilja, vključujejo naslednje komponente strojne opreme:

1. BMA250

2. Malina Pi

3. Kabel I2C

4. I2C ščit za Raspberry Pi

5. Ethernetni kabel

2. korak: Priključitev strojne opreme:

Priključitev strojne opreme
Priključitev strojne opreme
Priključitev strojne opreme
Priključitev strojne opreme

Oddelek za priključitev strojne opreme v bistvu razlaga potrebne povezave ožičenja med senzorjem in malinovim pi. Zagotavljanje pravilnih povezav je osnovna potreba pri delu na katerem koli sistemu za želeni izhod. Torej so potrebne povezave naslednje:

BMA250 bo deloval preko I2C. Tu je primer sheme ožičenja, ki prikazuje, kako povezati vsak vmesnik senzorja.

Plošča je že pripravljena za vmesnik I2C, zato priporočamo uporabo te povezave, če niste agnostični. Vse kar potrebujete so štiri žice!

Potrebne so le štiri povezave Vcc, Gnd, SCL in SDA, ki so povezane s kablom I2C.

Te povezave so prikazane na zgornjih slikah.

3. korak: Pythonova koda za merjenje pospeška:

Pythonova koda za merjenje pospeška
Pythonova koda za merjenje pospeška
Pythonova koda za merjenje pospeška
Pythonova koda za merjenje pospeška

Prednost uporabe maline pi je, da vam omogoča prilagodljivost programskega jezika, v katerem želite programirati ploščo, da povežete senzor z njo. Če izkoristimo to prednost te plošče, tukaj dokazujemo njeno programiranje v pythonu. Python je eden najlažjih programskih jezikov z najlažjo sintakso. Kodo python za BMA250 lahko prenesete iz naše skupnosti GitHub, to je Dcube Store

Poleg lažjega uporabnika kodo razlagamo tudi tukaj:

Kot prvi korak kodiranja morate v primeru pythona prenesti knjižnico SMBus, ker ta knjižnica podpira funkcije, ki se uporabljajo v kodi. Če želite prenesti knjižnico, obiščite naslednjo povezavo:

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

Delovno kodo lahko kopirate tudi od tu:

uvoz smbus

čas uvoza

# Pridobite vodilo I2C = smbus. SMBus (1)

# Naslov BMA250, 0x18 (24)

# Izberite register za izbor območja, 0x0F (15)

# 0x03 (03) Nastavljeno območje = +/- 2gbus.write_byte_data (0x18, 0x0F, 0x03)

# Naslov BMA250, 0x18 (24)# Izberite register pasovne širine, 0x10 (16)

# 0x08 (08) Pasovna širina = 7,81 Hzbus.write_byte_data (0x18, 0x10, 0x08)

time.sleep (0,5)

# Naslov BMA250, 0x18 (24)

# Preberite podatke nazaj od 0x02 (02), 6 bajtov

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

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

# Pretvorite podatke v 10 bitov

xAccl = (podatki [1] * 256 + (podatki [0] & 0xC0)) / 64

če je xAccl> 511:

xAccl -= 1024

yAccl = (podatki [3] * 256 + (podatki [2] & 0xC0)) / 64

če je yAccl> 511:

yAccl -= 1024

zAccl = (podatki [5] * 256 + (podatki [4] & 0xC0)) / 64

če je zAccl> 511:

zAccl -= 1024

# Iznesite podatke na zaslon

natisni "Pospešek v osi X: % d" % xAccl

natisni "Pospešek v osi Y: % d" % yAccl

natisni "Pospešek v osi Z: % d" % zAccl

Koda se izvede z naslednjim ukazom:

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

Izhod senzorja je prikazan na zgornji sliki za referenco uporabnika.

4. korak: Aplikacije:

Aplikacije
Aplikacije

Merilniki pospeška, kot je BMA250, večinoma najdejo svojo uporabo v igrah in preklapljanju profilov zaslona. Ta senzorski modul se uporablja tudi v naprednem sistemu za upravljanje porabe energije za mobilne aplikacije. BMA250 je triosni digitalni senzor pospeška, ki je integriran z inteligentnim krmilnikom prekinitev, ki sproži gibanje na čipu.

Priporočena: