Acceleration mätning med hjälp av BMA250 och Raspberry Pi (3 / 4 steg)
Steg 3: Python kod för Acceleration mätning:
Fördelen med att använda raspberry pi är som ger dig flexibiliteten i det programmera språket som du vill programmera styrelsen för att gränssnittet sensorn med det. Utnyttja denna fördel av denna styrelse, visar vi här sin programmering i python. Python är ett av de enklaste programmeringsspråk med enklaste syntax. Python-koden för BMA250 kan hämtas från vår github gemenskap som är kontroll allt gemenskapen.
Samt för att underlätta för användarna, förklarar vi koden här också:
Som ett första steg av kodning måste du hämta SMBus biblioteket vid python, eftersom detta bibliotek stöder funktioner används i koden. Så, om du vill ladda ner biblioteket kan du besöka följande länk:
https://pypi.python.org/pypi/SMBus-cffi/0.5.1
Du kan kopiera den arbetande koden från här också:
importera smbus
Importera tid
# Få I2C busbus = smbus. SMBus(1)
# BMA250 adress, 0x18(24)
# Välj markering registrera, 0x0F(15)
# 0x03(03) ange intervall = +/-2gbus.write_byte_data (0x18, 0x0F, 0x03)
# BMA250 adress, 0x18(24) # Välj bandbredd registrera, 0x10(16)
# 0x08(08) bandbredd = 7.81 Hzbus.write_byte_data (0x18, 0x10, 0x08)
Time.Sleep(0.5)
# BMA250 adress, 0x18(24)
# Läs data tillbaka från 0x02(02), 6 byte
# X-axeln LSB, x-axeln MSB, y-axeln LSB, y-axeln MSB, z-LSB, z-axel MSB
data = bus.read_i2c_block_data (0x18, 0x02, 6)
# Konvertera data till 10 bitar
xAccl = (data [1] * 256 + (data [0] & 0xC0)) / 64
om xAccl > 511:
xAccl-= 1024
yAccl = (data [3] * 256 + (data [2] & 0xC0)) / 64
om yAccl > 511:
yAccl-= 1024
zAccl = (data [5] * 256 + (data [4] & 0xC0)) / 64
om zAccl > 511:
zAccl-= 1024
# Utdata till skärm
skriva ut "Acceleration i x-axeln: %d" % xAccl
skriva ut "Acceleration i y-axeln: %d" % yAccl
skriva ut "Acceleration i z-axeln: %d" % zAccl
Koden genomförs med hjälp av följande kommando:
$> python BMA250.py
Produktionen av sensorn visas i bilden ovan för att hänvisa till av användaren.