Raspberry Pi MMA8452Q 3-axlig 12-/ 8-bitars Digital Accelerometer Python Tutorial (3 / 4 steg)
Steg 3: kod:
Python koden för MMA8452Q kan hämtas från vår github repository-ControlEverythingCommunity
Här är länken för samma:
https://github.com/ControlEverythingCommunity/MMA8...
Databladet för MMA8452Q kan hittas här:
https://s3.amazonaws.com/controleverything.Media/c...
Vi har använt SMBus bibliotek för python kod, stegen för att installera SMBus på raspberry pi beskrivs här:
https://pypi.python.org/pypi/SMBus-cffi/0.5.1
Du kan också kopiera koden från här, det ges enligt följande:
# Distribueras med en fri vilja licens.
# Använd det något sätt du vill, vinst eller gratis, förutsatt att den passar i licenser av dess tillhörande arbeten.
# MMA8452Q
# Den här koden är avsedd att arbeta med MMA8452Q_I2CS I2C Mini modulen tillgänglig från ControlEverything.com.
# https://www.controleverything.com/content/Accelor...
importera smbus
Importera tid
# Få I2C bussen
Bus = smbus. SMBus(1)
# MMA8452Q adress, 0x1C(28)
# Select-kontrollen register, 0x2A(42)
# 0x00(00) StandBy-läge
Bus.write_byte_data (0x1C, 0x2A, 0x00)
# MMA8452Q adress, 0x1C(28)
# Select-kontrollen register, 0x2A(42)
# 0x01(01) aktivt läge
Bus.write_byte_data (0x1C, 0x2A, 0x01)
# MMA8452Q adress, 0x1C(28)
# Select Configuration register, 0x0E(14)
# 0x00(00) ange intervall till +/-2g
Bus.write_byte_data (0x1C, 0x0E, 0x00)
Time.Sleep(0.5)
# MMA8452Q adress, 0x1C(28)
# Läs data tillbaka från 0x00(0), 7 byte
# Status registrera, x-axeln MSB, x-axeln LSB, y-axeln MSB, y-axeln LSB, z-axel MSB, z-LSB
data = bus.read_i2c_block_data (0x1C, 0x00, 7)
# Konvertera data
xAccl = (data [1] * 256 + data[2]) / 16
om xAccl > 2047:
xAccl-= 4096
yAccl = (data [3] * 256 + data[4]) / 16
om yAccl > 2047:
yAccl-= 4096 z
AgCl = (data [5] * 256 + data[6]) / 16
om zAccl > 2047:
zAccl-= 4096
# 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