Obsah:

Meranie zrýchlenia pomocou H3LIS331DL a Raspberry Pi: 4 kroky
Meranie zrýchlenia pomocou H3LIS331DL a Raspberry Pi: 4 kroky

Video: Meranie zrýchlenia pomocou H3LIS331DL a Raspberry Pi: 4 kroky

Video: Meranie zrýchlenia pomocou H3LIS331DL a Raspberry Pi: 4 kroky
Video: Meranie tiažového zrýchlenia pomocou reverzného kyvadla 2024, Júl
Anonim
Image
Image

H3LIS331DL, je nízkoenergetický, vysoko výkonný 3-osový lineárny akcelerometer patriaci do rodiny „nano“, s digitálnym sériovým rozhraním I²C. H3LIS331DL má užívateľsky voliteľné plné stupnice ± 100 g/± 200 g/± 400 g a je schopný merať zrýchlenia s výstupnými dátovými rýchlosťami od 0,5 Hz do 1 kHz. H3LIS331DL zaručene pracuje v rozšírenom teplotnom rozsahu od -40 ° C do +85 ° C.

V tomto tutoriáli ukážeme prepojenie H3LIS331DL s Raspberry Pi pomocou Pythonu ako programovacieho jazyka.

Krok 1: Potrebný hardvér:

Potrebný hardvér
Potrebný hardvér
Potrebný hardvér
Potrebný hardvér
Potrebný hardvér
Potrebný hardvér

Materiály, ktoré potrebujeme na dosiahnutie nášho cieľa, obsahujú nasledujúce hardvérové komponenty:

1. H3LIS331DL

2. Raspberry Pi

3. Kábel I2C

4. I2C štít pre malinovú pi

5. Ethernetový kábel

Krok 2: Pripojenie hardvéru:

Pripojenie hardvéru
Pripojenie hardvéru
Pripojenie hardvéru
Pripojenie hardvéru

Časť zapojenia hardvéru v zásade vysvetľuje zapojenie potrebné medzi senzorom a malinovým pi. Zabezpečenie správneho pripojenia je základnou potrebou pri práci na akomkoľvek systéme s požadovaným výstupom. Potrebné spojenia sú teda tieto:

H3LIS331DL bude fungovať cez I2C. Tu je príklad schémy zapojenia, ktorá ukazuje, ako prepojiť každé rozhranie snímača.

Hneď po vybalení je doska nakonfigurovaná na rozhranie I2C, preto vám toto pripojenie odporúčame použiť, ak ste inak agnostik. Všetko, čo potrebujete, sú štyri drôty!

Vyžadujú sa iba štyri pripojenia Vcc, Gnd, SCL a SDA piny, ktoré sú prepojené pomocou kábla I2C.

Tieto spojenia sú znázornené na obrázkoch vyššie.

Krok 3: Python kód na meranie zrýchlenia:

Python kód na meranie zrýchlenia
Python kód na meranie zrýchlenia

Výhodou použitia raspberry pi je, že vám poskytuje flexibilitu programovacieho jazyka, v ktorom chcete dosku programovať, aby ste s ňou mohli prepojiť senzor. S využitím tejto výhody tejto dosky tu demonštrujeme jej programovanie v pythone. Python je jedným z najľahších programovacích jazykov s najľahšou syntaxou. Pythonový kód pre H3LIS331DL je možné stiahnuť z našej komunity github, ktorou je obchod DCUBE.

Rovnako ako pre jednoduchosť používateľov, vysvetľujeme kód aj tu:

Ako prvý krok kódovania si musíte stiahnuť knižnicu SMBus v prípade pythonu, pretože táto knižnica podporuje funkcie použité v kóde. Ak si chcete stiahnuť knižnicu, môžete navštíviť nasledujúci odkaz:

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

Pracovný kód môžete skopírovať aj tu:

import smbus

čas importu

# Získajte zbernicu I2C = smbus. SMBus (1)

# H3LIS331DL adresa, 0x18 (24)

# Vyberte riadiaci register 1, 0x20 (32)

# 0x27 (39) Režim zapnutia, rýchlosť dátového výstupu = 50 Hz# X, Y, os Z povolená

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

# H3LIS331DL adresa, 0x18 (24)# Vyberte riadiaci register 4, 0x23 (35)

# 0x00 (00) Nepretržitá aktualizácia, úplný výber stupnice = +/- 100 g

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

čas.spánok (0,5)

# H3LIS331DL adresa, 0x18 (24)

# Načítajte údaje späť z 0x28 (40), 2 bajtov

# Os X LSB, os X MSB

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

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

# Previesť dataxAccl = data1 * 256 + data0

ak xAccl> 32767:

xAccl -= 65536

# H3LIS331DL adresa, 0x18 (24)

# Načítajte údaje späť z 0x2A (42), 2 bajtov

# Os Y LSB, os Y MSB

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

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

# Previesť údaje

yAccl = údaje1 * 256 + údaje0

ak yAccl> 32767:

yAccl -= 65536

# H3LIS331DL adresa, 0x18 (24)

# Načítajte údaje späť z 0x2C (44), 2 bajtov

# Os Z LSB, os Z MSB

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

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

# Previesť údaje

zAccl = údaje1 * 256 + údaje0

ak zAccl> 32767:

zAccl -= 65536

# Výstup údajov na obrazovku

vytlačiť „Zrýchlenie v osi X: %d“%xAccl

vytlačiť "Zrýchlenie v osi Y: %d" %yAccl

vytlačiť "Zrýchlenie v osi Z: %d" %zAccl

Kód sa spustí pomocou nasledujúceho príkazu:

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

Výstup senzora je pre referenciu užívateľa zobrazený na obrázku vyššie.

Krok 4: Aplikácie:

Aplikácie
Aplikácie

Akcelerometre ako H3LIS331DL väčšinou nachádzajú svoje uplatnenie v hrách a prepínaní profilov zobrazenia. Tento senzorový modul sa používa aj v pokročilom systéme riadenia spotreby pre mobilné aplikácie. H3LIS331DL je trojosový digitálny snímač zrýchlenia, ktorý je vybavený inteligentným radičom prerušenia spusteným pohybom na čipe.

Odporúča: