Obsah:

Měření zrychlení pomocí H3LIS331DL a Raspberry Pi: 4 kroky
Měření zrychlení pomocí H3LIS331DL a Raspberry Pi: 4 kroky

Video: Měření zrychlení pomocí H3LIS331DL a Raspberry Pi: 4 kroky

Video: Měření zrychlení pomocí H3LIS331DL a Raspberry Pi: 4 kroky
Video: Я СДЕЛАЛ СВОЙ МОТОЦИКЛ ТРЕКЕР! 2024, Červenec
Anonim
Image
Image

H3LIS331DL je nízkoenergetický vysoce výkonný 3osý lineární akcelerometr patřící do rodiny „nano“s digitálním sériovým rozhraním I²C. H3LIS331DL má uživatelem volitelné plné stupnice ± 100 g/± 200 g/± 400 g a je schopen měřit zrychlení s výstupními datovými rychlostmi od 0,5 Hz do 1 kHz. H3LIS331DL zaručeně pracuje v rozšířeném teplotním rozsahu od -40 ° C do +85 ° C.

V tomto tutoriálu předvedeme propojení H3LIS331DL s Raspberry Pi pomocí pythonu jako programovacího jazyka.

Krok 1: Požadovaný hardware:

Požadovaný hardware
Požadovaný hardware
Požadovaný hardware
Požadovaný hardware
Požadovaný hardware
Požadovaný hardware

Materiály, které potřebujeme k dosažení našeho cíle, zahrnují následující hardwarové komponenty:

1. H3LIS331DL

2. Raspberry Pi

3. Kabel I2C

4. I2C štít pro malinovou pí

5. Ethernetový kabel

Krok 2: Připojení hardwaru:

Připojení hardwaru
Připojení hardwaru
Připojení hardwaru
Připojení hardwaru

Sekce zapojení hardwaru v zásadě vysvětluje zapojení kabelů požadovaná mezi snímačem a malinovým pi. Zajištění správného připojení je základní nutností při práci na jakémkoli systému pro požadovaný výstup. Požadovaná připojení jsou tedy následující:

H3LIS331DL bude fungovat přes I2C. Zde je příklad schématu zapojení, které ukazuje, jak zapojit jednotlivá rozhraní senzoru.

Po vybalení je deska nakonfigurována pro rozhraní I2C, proto doporučujeme tuto přípojku použít, pokud jste jinak agnostik. Vše, co potřebujete, jsou čtyři dráty!

Jsou vyžadována pouze čtyři připojení Vcc, Gnd, SCL a SDA piny a ty jsou spojeny pomocí kabelu I2C.

Tato spojení jsou ukázána na obrázcích výše.

Krok 3: Python kód pro měření zrychlení:

Kód Pythonu pro měření zrychlení
Kód Pythonu pro měření zrychlení

Výhodou použití Raspberry Pi je, že vám poskytuje flexibilitu programovacího jazyka, ve kterém chcete desku programovat, abyste s ní mohli propojit senzor. S využitím této výhody této desky zde předvádíme její programování v pythonu. Python je jedním z nejjednodušších programovacích jazyků s nejjednodušší syntaxí. Pythonový kód pro H3LIS331DL lze stáhnout z naší komunity github, kterou je DCUBE Store.

Stejně jako pro snadnost uživatelů vysvětlujeme kód také zde:

Jako první krok kódování si musíte stáhnout knihovnu SMBus v případě pythonu, protože tato knihovna podporuje funkce použité v kódu. Chcete -li si stáhnout knihovnu, můžete navštívit následující odkaz:

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

Pracovní kód můžete zkopírovat také zde:

importovat smbus

čas importu

# Získejte sběrnici I2C = smbus. SMBus (1)

# H3LIS331DL adresa, 0x18 (24)

# Vyberte řídicí registr 1, 0x20 (32)

# 0x27 (39) Režim zapnutí, rychlost výstupu dat = 50 Hz# X, Y, osa Z povolena

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

# H3LIS331DL adresa, 0x18 (24)# Vyberte řídicí registr 4, 0x23 (35)

# 0x00 (00) Průběžná aktualizace, výběr celého měřítka = +/- 100 g

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

time.sleep (0,5)

# H3LIS331DL adresa, 0x18 (24)

# Přečtěte data zpět z 0x28 (40), 2 bajtů

# Osa X LSB, Osa X MSB

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

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

# Převeďte dataxAccl = data1 * 256 + data0

pokud xAccl> 32767:

xAccl -= 65536

# H3LIS331DL adresa, 0x18 (24)

# Přečtěte data zpět z 0x2A (42), 2 bajty

# Osa Y LSB, Osa Y MSB

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

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

# Převeďte data

yAccl = data1 * 256 + data0

pokud yAccl> 32767:

yAccl -= 65536

# H3LIS331DL adresa, 0x18 (24)

# Přečtěte data zpět z 0x2C (44), 2 bajty

# Osa Z LSB, Osa Z MSB

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

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

# Převeďte data

zAccl = data1 * 256 + data0

pokud zAccl> 32767:

zAccl -= 65536

# Výstup dat na obrazovku

tisk "Zrychlení v ose X: %d" %xAccl

tisk "Zrychlení v ose Y: %d" %yAccl

tisk "Zrychlení v ose Z: %d" %zAccl

Kód se spustí pomocí následujícího příkazu:

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

Výstup snímače je uveden na obrázku výše pro referenci uživatele.

Krok 4: Aplikace:

Aplikace
Aplikace

Akcelerometry jako H3LIS331DL většinou nacházejí své uplatnění ve hrách a přepínání profilu zobrazení. Tento senzorový modul se také používá v pokročilém systému řízení spotřeby pro mobilní aplikace. H3LIS331DL je tříosý digitální snímač zrychlení, který je vybaven inteligentním řadičem přerušení aktivovaným pohybem na čipu.

Doporučuje: