Tartalomjegyzék:

Gyorsulásmérés BMA250 és Raspberry Pi használatával: 4 lépés
Gyorsulásmérés BMA250 és Raspberry Pi használatával: 4 lépés

Videó: Gyorsulásmérés BMA250 és Raspberry Pi használatával: 4 lépés

Videó: Gyorsulásmérés BMA250 és Raspberry Pi használatával: 4 lépés
Videó: Nehézségi gyorsulás mérése 40 cm es fonálingával 2024, Július
Anonim
Image
Image

A BMA250 egy kicsi, vékony, rendkívül alacsony teljesítményű, 3 tengelyes gyorsulásmérő nagy felbontású (13 bites) méréssel, ± 16 g-ig. A digitális kimeneti adatok 16 bites kettes kiegészítésként vannak formázva, és az I2C digitális interfészen keresztül érhetők el. Méri a gravitáció statikus gyorsulását dőlésérzékelő alkalmazásokban, valamint a mozgásból vagy ütésből eredő dinamikus gyorsulást. Nagy felbontása (3,9 mg/LSB) lehetővé teszi az 1,0 ° alatti dőlésváltozások mérését.

Ebben az oktatóanyagban a BMA250 és a Raspberry Pi segítségével megmérjük a gyorsulást mind a három merőleges tengelyen. Az érzékelőt python nyelvre programozták.

1. lépés: Szükséges hardver:

Szükséges hardver
Szükséges hardver
Szükséges hardver
Szükséges hardver
Szükséges hardver
Szükséges hardver

A célunk eléréséhez szükséges anyagok a következő hardverkomponenseket tartalmazzák:

1. BMA250

2. Málna Pi

3. I2C kábel

4. I2C Shield a Raspberry Pi számára

5. Ethernet kábel

2. lépés: Hardver csatlakoztatása:

Hardver csatlakoztatása
Hardver csatlakoztatása
Hardver csatlakoztatása
Hardver csatlakoztatása

A hardvercsatlakozási szakasz alapvetően elmagyarázza az érzékelő és a málna pi között szükséges vezetékeket. A megfelelő kapcsolatok biztosítása az alapvető szükséglet, amikor bármilyen rendszeren dolgozik a kívánt kimenet érdekében. Tehát a szükséges kapcsolatok a következők:

A BMA250 az I2C -n keresztül fog működni. Íme a példa kapcsolási rajz, amely bemutatja, hogyan kell bekötni az érzékelő egyes interfészeit.

A doboz készenlétben I2C interfészre van konfigurálva, ezért javasoljuk, hogy használja ezt a csatlakozást, ha egyébként agnosztikus. Csak négy vezetékre van szüksége!

Csak négy csatlakozóra van szükség Vcc, Gnd, SCL és SDA csapokra, és ezeket I2C kábel segítségével kell csatlakoztatni.

Ezeket az összefüggéseket a fenti képek mutatják be.

3. lépés: Python -kód a gyorsulásméréshez:

Python -kód a gyorsulásméréshez
Python -kód a gyorsulásméréshez
Python -kód a gyorsulásméréshez
Python -kód a gyorsulásméréshez

A málna pi használatának előnye az, hogy rugalmasságot biztosít annak a programozási nyelvnek, amelyen a táblát programozni szeretné, hogy az érzékelőt hozzá lehessen illeszteni. A tábla ezen előnyét kihasználva bemutatjuk a programozását a pythonban. A Python az egyik legegyszerűbb programozási nyelv, a legegyszerűbb szintaxissal. A BMA250 python kódja letölthető a GitHub közösségünkből, azaz a Dcube Store -ból

A felhasználók kényelme érdekében itt is elmagyarázzuk a kódot:

A kódolás első lépéseként le kell töltenie az SMBus könyvtárat python esetén, mert ez a könyvtár támogatja a kódban használt funkciókat. Tehát a könyvtár letöltéséhez látogasson el az alábbi linkre:

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

Innen is átmásolhatja a működőkódot:

import smbus

importálási idő

# I2C busz beszerzése = smbus. SMBus (1)

# BMA250 cím, 0x18 (24)

# Válassza ki a tartományválasztó regisztert, 0x0F (15)

# 0x03 (03) Tartomány beállítása = +/- 2gbus.write_byte_data (0x18, 0x0F, 0x03)

# BMA250 cím, 0x18 (24)# Sávszélesség -nyilvántartás kiválasztása, 0x10 (16)

# 0x08 (08) Sávszélesség = 7,81 Hz bus.write_byte_data (0x18, 0x10, 0x08)

time.sleep (0,5)

# BMA250 cím, 0x18 (24)

# Adatok visszaolvasása 0x02 (02), 6 bájtból

# X tengely LSB, X tengely MSB, Y tengely LSB, Y tengely MSB, Z tengely LSB, Z tengely MSB

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

# Konvertálja az adatokat 10 bitre

xAccl = (adatok [1] * 256 + (adatok [0] és 0xC0)) / 64

ha xAccl> 511:

xAccl -= 1024

yAccl = (adatok [3] * 256 + (adatok [2] és 0xC0)) / 64

ha yAccl> 511:

yAccl -= 1024

zAccl = (adatok [5] * 256 + (adatok [4] és 0xC0)) / 64

ha zAccl> 511:

zAccl -= 1024

# Adatok megjelenítése a képernyőn

print "Gyorsulás az X-tengelyben: % d" % xAccl

print "Gyorsulás az Y tengelyen: % d" % yAccl

print "Gyorsulás Z-tengelyben: % d" % zAccl

A kód végrehajtása a következő paranccsal történik:

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

Az érzékelő kimenete a fenti képen látható a felhasználó számára.

4. lépés: Alkalmazások:

Alkalmazások
Alkalmazások

Az olyan gyorsulásmérők, mint a BMA250, leginkább a játékokban és a megjelenítési profilváltásban találhatók. Ez az érzékelő modul a mobil alkalmazások fejlett energiagazdálkodási rendszerében is használatos. A BMA250 egy háromtengelyes digitális gyorsulásérzékelő, amely intelligens chipen belüli mozgásvezérelt megszakításvezérlővel van felszerelve.

Ajánlott: