Étape 3: Code Python pour la mesure de l’accélération :
L’avantage d’utiliser des framboises pi est, c’est vous offre la flexibilité du langage de programmation dans lequel vous souhaitez programmer le Conseil afin de l’interface du capteur avec elle. Tirer parti de cet avantage de cette carte, nous démontrons ici sa programmation en python. Python est l’un des langages de programmation plus simple avec une syntaxe plus simple. Le code python pour BMA250 peut être téléchargé depuis notre communauté github c’est tout collectivité.
Ainsi que pour faciliter la tâche des utilisateurs, nous sommes expliquant le code ici aussi :
La première étape de codage vous devez télécharger la bibliothèque SMBus dans le cas de python, car cette bibliothèque prend en charge les fonctions utilisées dans le code. Donc, pour télécharger la bibliothèque, vous pouvez visiter le lien suivant :
https://Pypi.Python.org/Pypi/SMBus-cffi/0.5.1
Vous pouvez également copier le code du travail d’ici :
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
Le code est exécuté à l’aide de la commande suivante :
$> python BMA250.py
La sortie du capteur est montrée dans l’image ci-dessus pour la référence de l’utilisateur.