Indholdsfortegnelse:

Accelerationsmåling ved hjælp af BMA250 og Raspberry Pi: 4 trin
Accelerationsmåling ved hjælp af BMA250 og Raspberry Pi: 4 trin

Video: Accelerationsmåling ved hjælp af BMA250 og Raspberry Pi: 4 trin

Video: Accelerationsmåling ved hjælp af BMA250 og Raspberry Pi: 4 trin
Video: Audi RS e-tron GT - Har den sin berettigelse? (Del 2:2) 2024, November
Anonim
Image
Image

BMA250 er et lille, tyndt, ultralavt, 3-akset accelerometer med høj opløsning (13-bit) måling på op til ± 16 g. Digitale outputdata er formateret som 16-bit tokomplement og er tilgængelige via I2C digital interface. Det måler den statiske tyngdekraftacceleration i tilt-sensing applikationer samt dynamisk acceleration som følge af bevægelse eller stød. Dens høje opløsning (3,9 mg/LSB) muliggør måling af hældningsændringer mindre end 1,0 °.

I denne vejledning skal vi måle accelerationen i alle de tre vinkelrette akser ved hjælp af BMA250 og Raspberry Pi. Sensoren er programmeret i pythonsprog.

Trin 1: Påkrævet hardware:

Hardware påkrævet
Hardware påkrævet
Hardware påkrævet
Hardware påkrævet
Hardware påkrævet
Hardware påkrævet

De materialer, vi har brug for for at nå vores mål, omfatter følgende hardwarekomponenter:

1. BMA250

2. Hindbær Pi

3. I2C -kabel

4. I2C Shield til Raspberry Pi

5. Ethernet -kabel

Trin 2: Hardware -tilslutning:

Hardware -tilslutning
Hardware -tilslutning
Hardware -tilslutning
Hardware -tilslutning

Hardware -tilslutningssektionen forklarer grundlæggende de ledningsforbindelser, der kræves mellem sensoren og hindbær pi. At sikre korrekte forbindelser er den grundlæggende nødvendighed, mens du arbejder på et hvilket som helst system til den ønskede output. Så de nødvendige forbindelser er som følger:

BMA250 fungerer over I2C. Her er eksemplet på ledningsdiagram, der viser, hvordan du tilslutter hver grænseflade på sensoren.

Out-of-the-box er tavlen konfigureret til en I2C-grænseflade, som sådan anbefaler vi at bruge denne tilslutning, hvis du ellers er agnostiker. Alt du behøver er fire ledninger!

Der kræves kun fire tilslutninger Vcc, Gnd, SCL og SDA ben, og disse er forbundet ved hjælp af I2C kabel.

Disse forbindelser er vist på billederne ovenfor.

Trin 3: Python -kode til accelerationsmåling:

Python -kode til accelerationsmåling
Python -kode til accelerationsmåling
Python -kode til accelerationsmåling
Python -kode til accelerationsmåling

Fordelen ved at bruge hindbær pi er, det vil sige giver dig fleksibiliteten i det programmeringssprog, hvor du vil programmere tavlen, for at interface sensoren med den. Ved at udnytte denne fordel ved dette board demonstrerer vi her sin programmering i python. Python er et af de letteste programmeringssprog med den letteste syntaks. Python -koden til BMA250 kan downloades fra vores GitHub -fællesskab, der er Dcube Store

Ud over brugernes brugervenlighed forklarer vi også koden her:

Som det første trin i kodning skal du downloade SMBus -biblioteket i tilfælde af python, fordi dette bibliotek understøtter de funktioner, der bruges i koden. Så for at downloade biblioteket kan du besøge følgende link:

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

Du kan også kopiere arbejdskoden herfra:

import smbus

importtid

# Få I2C busbus = smbus. SMBus (1)

# BMA250 adresse, 0x18 (24)

# Vælg register til valg af område, 0x0F (15)

# 0x03 (03) Indstil område = +/- 2gbus.write_byte_data (0x18, 0x0F, 0x03)

# BMA250 -adresse, 0x18 (24)# Vælg båndbredderegister, 0x10 (16)

# 0x08 (08) Båndbredde = 7,81 Hzbus.write_byte_data (0x18, 0x10, 0x08)

time.sleep (0,5)

# BMA250 adresse, 0x18 (24)

# Læs data tilbage fra 0x02 (02), 6 bytes

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

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

# Konverter dataene til 10 bits

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

hvis xAccl> 511:

xAccl -= 1024

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

hvis yAccl> 511:

yAccl -= 1024

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

hvis zAccl> 511:

zAccl -= 1024

# Output data til skærmen

print "Acceleration i X-akse: % d" % xAccl

print "Acceleration i Y-akse: % d" % yAccl

print "Acceleration i Z-akse: % d" % zAccl

Koden udføres ved hjælp af følgende kommando:

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

Sensorens output vises på billedet ovenfor til brugerens reference.

Trin 4: Ansøgninger:

Ansøgninger
Ansøgninger

Accelerometre som BMA250 finder for det meste sin anvendelse i spil og skift af profilprofiler. Dette sensormodul bruges også i det avancerede strømstyringssystem til mobile applikationer. BMA250 er en triaksial digital accelerationssensor, som er integreret med en intelligent on-chip bevægelsesudløst afbrydelsescontroller.

Anbefalede: