Schritt 3: Python-Code für die Beschleunigungsmessung:
Der Vorteil der Verwendung von Raspberry Pi ist, bietet Ihnen die Flexibilität, die Programmiersprache, in der Sie das Board zu programmieren, damit den Sensor mit Schnittstelle möchten. Nutzen diesen Vorteil dieses Boards, zeigen wir hier die Programmierung in Python. Python ist eine der einfachsten Programmiersprachen mit einfachsten Syntax. Der Python-Code für BMA250 heruntergeladen werden, aus der Github-Community, die Kontrolle alles Gemeinschaft.
Sowie für die Leichtigkeit der Nutzer, erklären wir den Code hier auch:
Als erster Schritt der Programmierung müssen Sie die SMBus-Bibliothek bei Python, herunterladen, da diese Bibliothek die Funktionen im Code verwendet unterstützt. Um die Bibliothek herunterladen besuchen Sie den folgenden Link:
https://PyPI.Python.org/PyPI/SMBus-cffi/0.5.1
Sie können auch die Arbeits-Code von hier kopieren:
import smbusimport time# Get I2C busbus = smbus.SMBus(1)# BMA250 address, 0x18(24)# Select range selection register, 0x0F(15)# 0x03(03) Set range = +/-2gbus.write_byte_data(0x18, 0x0F, 0x03)# BMA250 address, 0x18(24)# Select bandwidth register, 0x10(16)# 0x08(08) Bandwidth = 7.81 Hzbus.write_byte_data(0x18, 0x10, 0x08)time.sleep(0.5) # BMA250 address, 0x18(24)# Read data back from 0x02(02), 6 bytes# X-Axis LSB, X-Axis MSB, Y-Axis LSB, Y-Axis MSB, Z-Axis LSB, Z-Axis MSBdata = bus.read_i2c_block_data(0x18, 0x02, 6) # Convert the data to 10 bitsxAccl = (data[1] * 256 + (data[0] & 0xC0)) / 64if xAccl > 511 : xAccl -= 1024 yAccl = (data[3] * 256 + (data[2] & 0xC0)) / 64if yAccl > 511 : yAccl -= 1024 zAccl = (data[5] * 256 + (data[4] & 0xC0)) / 64if zAccl > 511 : zAccl -= 1024# Output data to screenprint "Acceleration in X-Axis : %d" % xAcclprint "Acceleration in Y-Axis : %d" % yAcclprint "Acceleration in Z-Axis : %d" % zAccl
Der Code wird ausgeführt, mit dem folgenden Befehl:
$> python BMA250.py
Der Ausgang des Sensors ist auf dem Bild oben für die Referenz des Benutzers angezeigt.