Indholdsfortegnelse:

Måling af acceleration ved hjælp af H3LIS331DL og Raspberry Pi: 4 trin
Måling af acceleration ved hjælp af H3LIS331DL og Raspberry Pi: 4 trin

Video: Måling af acceleration ved hjælp af H3LIS331DL og Raspberry Pi: 4 trin

Video: Måling af acceleration ved hjælp af H3LIS331DL og Raspberry Pi: 4 trin
Video: Acceleration | One-dimensional motion | Physics | Khan Academy 2024, November
Anonim
Image
Image

H3LIS331DL, er et laveffekt højtydende 3-akset lineært accelerometer, der tilhører "nano" -familien, med digitalt I²C serielt interface. H3LIS331DL har bruger -valgbare fulde skalaer på ± 100g/± 200g/± 400g, og den er i stand til at måle accelerationer med outputdatahastigheder fra 0,5 Hz til 1 kHz. H3LIS331DL fungerer garanteret over et udvidet temperaturområde fra -40 ° C til +85 ° C.

I denne vejledning vil vi demonstrere grænsefladen mellem H3LIS331DL og Raspberry Pi ved hjælp af python som programmeringssprog.

Trin 1: Påkrævet hardware:

Hardware påkrævet
Hardware påkrævet
Hardware påkrævet
Hardware påkrævet
Hardware påkrævet
Hardware påkrævet

De materialer, vi har brug for for at nå vores mål, omfatter følgende hardwarekomponenter:

1. H3LIS331DL

2. Hindbær Pi

3. I2C -kabel

4. I2C Skjold til hindbær pi

5. Ethernet -kabel

Trin 2: Hardware -tilslutning:

Hardware -tilslutning
Hardware -tilslutning
Hardware -tilslutning
Hardware -tilslutning

Hardware -tilslutningssektionen forklarer grundlæggende de ledningsforbindelser, der kræves mellem sensoren og hindbær pi. At sikre korrekte forbindelser er den grundlæggende nødvendighed, mens du arbejder på et hvilket som helst system til den ønskede output. Så de nødvendige forbindelser er som følger:

H3LIS331DL fungerer over I2C. Her er eksemplet på ledningsdiagram, der viser, hvordan du tilslutter hver grænseflade på sensoren.

Out-of-the-box er tavlen konfigureret til en I2C-grænseflade, som sådan anbefaler vi at bruge denne tilslutning, hvis du ellers er agnostiker. Alt du behøver er fire ledninger!

Der kræves kun fire tilslutninger Vcc, Gnd, SCL og SDA ben, og disse er forbundet ved hjælp af I2C kabel.

Disse forbindelser er vist på billederne ovenfor.

Trin 3: Python -kode til accelerationsmåling:

Python -kode til accelerationsmåling
Python -kode til accelerationsmåling

fordelen ved at bruge hindbær pi er, det vil sige giver dig fleksibiliteten i det programmeringssprog, hvor du vil programmere tavlen for at interface sensoren med den. Ved at udnytte denne fordel ved dette board demonstrerer vi her sin programmering i python. Python er et af de letteste programmeringssprog med den letteste syntaks. Python -koden til H3LIS331DL kan downloades fra vores github -fællesskab, der er DCUBE Store.

Ud over brugernes brugervenlighed forklarer vi også koden her:

Som det første trin i kodningen skal du downloade SMBus -biblioteket i tilfælde af python, fordi dette bibliotek understøtter de funktioner, der bruges i koden. Så for at downloade biblioteket kan du besøge følgende link:

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

Du kan også kopiere arbejdskoden herfra:

import smbus

importtid

# Få I2C busbus = smbus. SMBus (1)

# H3LIS331DL adresse, 0x18 (24)

# Vælg kontrolregister 1, 0x20 (32)

# 0x27 (39) Power ON-tilstand, Dataudgangshastighed = 50 Hz# X, Y, Z-akse aktiveret

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

# H3LIS331DL -adresse, 0x18 (24)# Vælg kontrolregister 4, 0x23 (35)

# 0x00 (00) Kontinuerlig opdatering, Valg i fuld skala = +/- 100g

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

time.sleep (0,5)

# H3LIS331DL adresse, 0x18 (24)

# Læs data tilbage fra 0x28 (40), 2 bytes

# 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)

# Læs data tilbage fra 0x2A (42), 2 bytes

# 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)

# Læs data tilbage fra 0x2C (44), 2 bytes

# 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

# Output data til skærmen

print "Acceleration i X-akse: %d" %xAccl

print "Acceleration i Y-akse: %d" %yAccl

print "Acceleration i Z-akse: %d" %zAccl

Koden udføres ved hjælp af følgende kommando:

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

Sensorens output vises på billedet ovenfor til brugerens reference.

Trin 4: Ansøgninger:

Ansøgninger
Ansøgninger

Accelerometre som H3LIS331DL finder for det meste sin anvendelse i spil og skifter profilprofil. Dette sensormodul bruges også i det avancerede strømstyringssystem til mobile applikationer. H3LIS331DL er en triaksial digital accelerationssensor, som er integreret med en intelligent on-chip bevægelsesudløst afbrydelsescontroller.

Anbefalede: