Obsah:
- Krok 1: Potrebný hardvér:
- Krok 2: Pripojenie hardvéru:
- Krok 3: Python kód na meranie zrýchlenia:
- Krok 4: Aplikácie:
Video: Meranie zrýchlenia pomocou H3LIS331DL a Raspberry Pi: 4 kroky
2024 Autor: John Day | [email protected]. Naposledy zmenené: 2024-01-30 11:57
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:
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:
Č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:
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:
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:
Meranie zrýchlenia pomocou ADXL345 a fotónu častíc: 4 kroky
Meranie zrýchlenia pomocou ADXL345 a časticového fotónu: ADXL345 je malý, tenký, ultra nízky výkon, 3-osový akcelerometer s meraním s vysokým rozlíšením (13-bit) až do ± 16 g. Digitálne výstupné údaje sú formátované ako 16-bitové dvojčatá a sú prístupné prostredníctvom digitálneho rozhrania I2 C. Meria
Meranie zrýchlenia pomocou H3LIS331DL a Arduino Nano: 4 kroky
Meranie zrýchlenia pomocou modelov H3LIS331DL a Arduino Nano: H3LIS331DL je nízkoenergetický vysokový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
Meranie zrýchlenia pomocou H3LIS331DL a fotónu častíc: 4 kroky
Meranie zrýchlenia pomocou H3LIS331DL a fotónu častíc: H3LIS331DL je nízkoenergetický vysokový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
Meranie zrýchlenia pomocou ADXL345 a Raspberry Pi: 4 kroky
Meranie zrýchlenia pomocou ADXL345 a Raspberry Pi: ADXL345 je malý, tenký, ultraľahký, 3-osový akcelerometer s meraním s vysokým rozlíšením (13-bit) až ± 16 g. Digitálne výstupné údaje sú formátované ako 16-bitové dvojčatá a sú prístupné prostredníctvom digitálneho rozhrania I2 C. Meria
Meranie zrýchlenia pomocou BMA250 a Raspberry Pi: 4 kroky
Meranie zrýchlenia pomocou modelov BMA250 a Raspberry Pi: BMA250 je malý, tenký, 3-osový akcelerometer s ultra nízkym výkonom a meraním s vysokým rozlíšením (13 bitov) až ± 16 g. Digitálne výstupné údaje sú formátované ako 16-bitové dvojčatá a sú prístupné prostredníctvom digitálneho rozhrania I2C. Meria statickú