Innholdsfortegnelse:

Måling av akselerasjon ved hjelp av H3LIS331DL og Raspberry Pi: 4 trinn
Måling av akselerasjon ved hjelp av H3LIS331DL og Raspberry Pi: 4 trinn

Video: Måling av akselerasjon ved hjelp av H3LIS331DL og Raspberry Pi: 4 trinn

Video: Måling av akselerasjon ved hjelp av H3LIS331DL og Raspberry Pi: 4 trinn
Video: [ Finland Trip ] クリスマス好きを拗らせて、北欧フィンランドに行ってきた! フィンエアーで行く6泊8日のフィンランド旅を一気見! 2024, November
Anonim
Image
Image

H3LIS331DL, er et laveffekt 3-akset lineært akselerometer med høy ytelse som tilhører "nano" -familien, med digitalt I²C serielt grensesnitt. H3LIS331DL har full skalaer som kan velges av brukeren på ± 100g/± 200g/± 400g, og den er i stand til å måle akselerasjoner med utdatahastigheter fra 0,5 Hz til 1 kHz. H3LIS331DL fungerer garantert over et utvidet temperaturområde fra -40 ° C til +85 ° C.

I denne opplæringen skal vi demonstrere grensesnittet mellom H3LIS331DL og Raspberry Pi, ved å bruke python som programmeringsspråk.

Trinn 1: Nødvendig maskinvare:

Maskinvare som kreves
Maskinvare som kreves
Maskinvare som kreves
Maskinvare som kreves
Maskinvare som kreves
Maskinvare som kreves

Materialene vi trenger for å nå målet vårt inkluderer følgende maskinvarekomponenter:

1. H3LIS331DL

2. Bringebær Pi

3. I2C -kabel

4. I2C Shield for bringebær pi

5. Ethernet -kabel

Trinn 2: Maskinvaretilkobling:

Maskinvaretilkobling
Maskinvaretilkobling
Maskinvaretilkobling
Maskinvaretilkobling

Maskinvaretilkoblingsdelen forklarer i utgangspunktet ledningsforbindelsene som kreves mellom sensoren og bringebær -pi. Å sikre riktige tilkoblinger er den grunnleggende nødvendigheten mens du arbeider på et hvilket som helst system for ønsket utgang. Så de nødvendige tilkoblingene er som følger:

H3LIS331DL fungerer over I2C. Her er eksempel på koblingsskjema, som viser hvordan du kobler til hvert grensesnitt på sensoren.

Uten boksen er brettet konfigurert for et I2C-grensesnitt, derfor anbefaler vi å bruke denne tilkoblingen hvis du ellers er agnostiker. Alt du trenger er fire ledninger!

Bare fire tilkoblinger kreves Vcc, Gnd, SCL og SDA -pinner, og disse er koblet til ved hjelp av I2C -kabel.

Disse sammenhengene er vist på bildene ovenfor.

Trinn 3: Python -kode for akselerasjonsmåling:

Python -kode for måling av akselerasjon
Python -kode for måling av akselerasjon

Fordelen med å bruke bringebær pi er, det vil si at du får fleksibiliteten til programmeringsspråket der du vil programmere brettet for å koble sensoren til det. Ved å utnytte denne fordelen med dette brettet, demonstrerer vi her programmeringen i python. Python er et av de enkleste programmeringsspråkene med den enkleste syntaksen. Python -koden for H3LIS331DL kan lastes ned fra vårt github -fellesskap som er DCUBE Store.

I tillegg til brukernes brukervennlighet, forklarer vi koden også her:

Som det første trinnet i kodingen må du laste ned SMBus -biblioteket i tilfelle python, fordi dette biblioteket støtter funksjonene som brukes i koden. Så for å laste ned biblioteket kan du besøke følgende lenke:

pypi.python.org/pypi/smbus-cffi/0.5.1

Du kan også kopiere arbeidskoden herfra:

importer smbus

importtid

# Få I2C -bussbuss = smbus. SMBus (1)

# H3LIS331DL adresse, 0x18 (24)

# Velg kontrollregister 1, 0x20 (32)

# 0x27 (39) Strøm PÅ-modus, Datautgangshastighet = 50 Hz# X, Y, Z-akse aktivert

bus.write_byte_data (0x18, 0x20, 0x27)

# H3LIS331DL -adresse, 0x18 (24)# Velg kontrollregister 4, 0x23 (35)

# 0x00 (00) Kontinuerlig oppdatering, valg av full skala = +/- 100g

bus.write_byte_data (0x18, 0x23, 0x00)

time.sleep (0,5)

# H3LIS331DL adresse, 0x18 (24)

# Les data tilbake fra 0x28 (40), 2 byte

# X-Axis LSB, X-Axis MSB

data0 = bus.read_byte_data (0x18, 0x28)

data1 = bus.read_byte_data (0x18, 0x29)

# Konverter dataxAccl = data1 * 256 + data0

hvis xAccl> 32767:

xAccl -= 65536

# H3LIS331DL adresse, 0x18 (24)

# Les data tilbake fra 0x2A (42), 2 byte

# Y-akse LSB, Y-akse MSB

data0 = bus.read_byte_data (0x18, 0x2A)

data1 = bus.read_byte_data (0x18, 0x2B)

# Konverter dataene

yAccl = data1 * 256 + data0

hvis yAccl> 32767:

yAccl -= 65536

# H3LIS331DL adresse, 0x18 (24)

# Les data tilbake fra 0x2C (44), 2 byte

# Z-Axis LSB, Z-Axis MSB

data0 = bus.read_byte_data (0x18, 0x2C)

data1 = bus.read_byte_data (0x18, 0x2D)

# Konverter dataene

zAccl = data1 * 256 + data0

hvis zAccl> 32767:

zAccl -= 65536

# Utdata til skjermen

print "Akselerasjon i X-aksen: %d" %xAccl

print "Akselerasjon i Y-aksen: %d" %yAccl

print "Akselerasjon i Z-aksen: %d" %zAccl

Koden kjøres med følgende kommando:

$> python H3LIS331DL.py gt; python H3LIS331DL.py

Sensorens utgang er vist på bildet ovenfor for referanse til brukeren.

Trinn 4: Søknader:

Applikasjoner
Applikasjoner

Akselerometre som H3LIS331DL finner stort sett sin anvendelse i spillene og viser profilveksling. Denne sensormodulen brukes også i det avanserte strømstyringssystemet for mobile applikasjoner. H3LIS331DL er en triaksial digital akselerasjonssensor som er integrert med en intelligent bevegelsesutløst avbruddskontroller på brikken.

Anbefalt: