Stap 3: Code:
De python code voor MMA8452Q kan worden gedownload van onze github archief-ControlEverythingCommunity
Hier is de link voor hetzelfde:
https://github.com/ControlEverythingCommunity/MMA8...
Het gegevensblad van MMA8452Q kan hier worden gevonden:
https://S3.amazonaws.com/controleverything.Media/c...
We hebben hier SMBus bibliotheek voor python code, de stappen te installeren SMBus op raspberry pi wordt beschreven gebruikt:
https://pypi.python.org/pypi/SMBus-cffi/0.5.1
U kunt ook de code kopiëren vanaf hier, het wordt als volgt gegeven:
# Gedistribueerd met een licentie van de vrije wil.
# Gebruik het elke manier je wilt, winst of gratis, mits het past in de licenties van de bijbehorende werken.
# MMA8452Q
# Deze code is ontworpen om te werken met de MMA8452Q_I2CS I2C Mini Module beschikbaar vanaf ControlEverything.com.
# https://www.controleverything.com/content/Accelor...
importeren van smbus
importeren
# Haal I2C bus
bus = smbus. SMBus(1)
# MMA8452Q adres, 0x1C(28)
# Besturingselement select register, 0x2A(42)
# 0x00(00) stand-by modus
bus.write_byte_data (0x1C, 0x2A, 0x00)
# MMA8452Q adres, 0x1C(28)
# Besturingselement select register, 0x2A(42)
# 0x01(01) actieve modus
bus.write_byte_data (0x1C, 0x2A, 0x01)
# MMA8452Q adres, 0x1C(28)
# Upconfiguratie selecteren register, 0x0E(14)
# 0x00(00) Set tot +/-2g
bus.write_byte_data (0x1C, 0x0E, 0x00)
time.Sleep(0.5)
# MMA8452Q adres, 0x1C(28)
# Lees de gegevens terug uit 0x00(0), 7 bytes
# Status registreren, MSB van de x-as, x-as LSB, MSB van de y-as, y-as LSB, MSB van de z-as, z-as LSB
gegevens = bus.read_i2c_block_data (0x1C, 0x00, 7)
# De gegevens converteren
xAccl = (gegevens [1] * 256 + data[2]) / 16
Als xAccl > 2047:
xAccl-= 4096
yAccl = (gegevens [3] * 256 + data[4]) / 16
Als yAccl > 2047:
yAccl-= 4096 z
Accl = (gegevens [5] * 256 + data[6]) / 16
Als zAccl > 2047:
zAccl-= 4096
# Uitvoergegevens naar scherm
afdrukken "versnelling van de x-as: %d" % xAccl
afdrukken "versnelling van de y-as: %d" % yAccl
afdrukken "versnelling in de z-as: %d" % zAccl