Mätning av Acceleration med H3LIS331DL och Raspberry Pi (3 / 4 steg)
Steg 3: Python kod för acceleration mätning:
Han fördelen med raspberry pi är, det är 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 H3LIS331DL kan hämtas från vår github gemenskap som är Kontroll allt gemenskap.
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)
# H3LIS331DL adress, 0x18(24)
# Select-kontrollen register 1, 0x20(32)
# 0x27(39) Power ON mode, Data output ränta = 50 Hz # X, Y, z-axel aktiverad
Bus.write_byte_data (0x18, 0x20, 0x27)
# H3LIS331DL adress, 0x18(24) # Select-kontrollen register 4, 0x23(35)
# 0x00(00) kontinuerlig uppdatering, fullt skalutslag urval = +/-100g
Bus.write_byte_data (0x18, 0x23, 0x00)
Time.Sleep(0.5)
# H3LIS331DL adress, 0x18(24)
# Läs data tillbaka från 0x28(40), 2 byte
# X-axeln LSB, x-axeln MSB
Data0 = bus.read_byte_data(0x18, 0x28)
Data1 = bus.read_byte_data(0x18, 0x29)
# Konvertera dataxAccl = data1 * 256 + data0
om xAccl > 32767:
xAccl-= 65536
# H3LIS331DL adress, 0x18(24)
# Läs data tillbaka från 0x2A(42), 2 byte
# Y-LSB, y-axeln MSB
Data0 = bus.read_byte_data(0x18, 0x2A)
Data1 = bus.read_byte_data(0x18, 0x2B)
# Konvertera data
yAccl = data1 * 256 + data0
om yAccl > 32767:
yAccl-= 65536
# H3LIS331DL adress, 0x18(24)
# Läs data tillbaka från 0x2C(44), 2 byte
# Z-LSB, z-axel MSB
Data0 = bus.read_byte_data(0x18, 0x2C)
Data1 = bus.read_byte_data(0x18, 0x2D)
# Konvertera data
zAccl = data1 * 256 + data0
om zAccl > 32767:
zAccl-= 65536
# 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 H3LIS331DL.py
Produktionen av sensorn visas i bilden ovan för att hänvisa till av användaren.