Obsah:

Raspberry Pi - 3osý akcelerometr ADXL345 Python Výukový program: 4 kroky
Raspberry Pi - 3osý akcelerometr ADXL345 Python Výukový program: 4 kroky

Video: Raspberry Pi - 3osý akcelerometr ADXL345 Python Výukový program: 4 kroky

Video: Raspberry Pi - 3osý akcelerometr ADXL345 Python Výukový program: 4 kroky
Video: How To Track Orientation with Arduino | ADXL345 Accelerometer Tutorial 2024, Listopad
Anonim

ADXL345 je malý, tenký, ultralehký, 3osý akcelerometr s měřením s vysokým rozlišením (13 bitů) až ± 16 g. Data digitálního výstupu jsou formátována jako 16bitová dvojčata a jsou přístupná prostřednictvím digitálního rozhraní I2 C. Měří statické gravitační zrychlení v aplikacích snímajících náklon i dynamické zrychlení způsobené pohybem nebo šokem. Jeho vysoké rozlišení (3,9 mg/LSB) umožňuje měření změn sklonu menší než 1,0 °. Zde je ukázka s malinou pi pomocí kódu pythonu.

Krok 1: Co potřebujete..

Co potřebuješ..!!
Co potřebuješ..!!
Co potřebuješ..!!
Co potřebuješ..!!

1. Raspberry Pi

2. ADXL345

3. I²C kabel

4. I²C štít pro Raspberry Pi

5. Ethernetový kabel

Krok 2: Připojení:

Spojení
Spojení
Spojení
Spojení
Spojení
Spojení
Spojení
Spojení

Vezměte I2C štít pro malinový pi a jemně jej zatlačte přes gpio piny malinového pi.

Poté připojte jeden konec kabelu I2C k senzoru ADXL345 a druhý konec ke stínění I2C.

Připojte také ethernetový kabel k pí nebo můžete použít modul WiFi.

Připojení jsou znázorněna na obrázku výše.

Krok 3: Kód:

Kód
Kód

Pythonový kód pro ADXL345 lze stáhnout z našeho úložiště GitHub- Dcube Store

Zde je odkaz na totéž:

github.com/DcubeTechVentures/ADXL345..

Pro kód pythonu jsme použili knihovnu SMBus, kroky k instalaci SMBus na Raspberry Pi jsou popsány zde:

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

Odtud můžete také zkopírovat kód, který je uveden následovně:

# Distribuováno s licencí svobodné vůle.

# Použijte jej jakýmkoli způsobem, ať už ziskem nebo zdarma, za předpokladu, že se vejde do licencí souvisejících děl.

# ADXL345

# Tento kód je navržen pro práci s mini modulem ADXL345_I2CS I2C, který je k dispozici v Dcube Store.

importovat smbus

čas importu

# Získejte autobus I2C

bus = smbus. SMBus (1)

# Adresa ADXL345, 0x53 (83)

# Vyberte registr rychlosti přenosu šířky pásma, 0x2C (44)# 0x0A (10) Normální režim, výstupní datový tok = 100 Hz

bus.write_byte_data (0x53, 0x2C, 0x0A)

# Adresa ADXL345, 0x53 (83)

# Vyberte registr řízení výkonu, 0x2D (45)

# 0x08 (08) Vypnutí automatického spánku

bus.write_byte_data (0x53, 0x2D, 0x08)

# Adresa ADXL345, 0x53 (83)

# Vyberte registr formátu dat, 0x31 (49)

# 0x08 (08) Vlastní test deaktivován, 4vodičové rozhraní

# Plné rozlišení, Rozsah = +/- 2g

bus.write_byte_data (0x53, 0x31, 0x08)

time.sleep (0,5)

# Adresa ADXL345, 0x53 (83)

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

# Osa X LSB, Osa X MSB

data0 = bus.read_byte_data (0x53, 0x32)

data1 = bus.read_byte_data (0x53, 0x33)

# Převeďte data na 10 bitů

xAccl = ((data1 & 0x03) * 256) + data0

pokud xAccl> 511:

xAccl -= 1024

# Adresa ADXL345, 0x53 (83)

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

# Osa Y LSB, Osa Y MSB

data0 = bus.read_byte_data (0x53, 0x34)

data1 = bus.read_byte_data (0x53, 0x35)

# Převeďte data na 10 bitů

yAccl = ((data1 & 0x03) * 256) + data0

pokud yAccl> 511:

yAccl -= 1024

# Adresa ADXL345, 0x53 (83)

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

# Osa Z LSB, Osa Z MSB

data0 = bus.read_byte_data (0x53, 0x36)

data1 = bus.read_byte_data (0x53, 0x37)

# Převeďte data na 10 bitů

zAccl = ((data1 & 0x03) * 256) + data0

pokud zAccl> 511:

zAccl -= 1024

# 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

Krok 4: Aplikace:

ADXL345 je malý, tenký, ultralehký, 3osý akcelerometr, který lze použít v mobilních telefonech, lékařských přístrojích atd. Jeho aplikace také zahrnuje herní a polohovací zařízení, průmyslové přístroje, osobní navigační zařízení a ochranu pevného disku (HDD).

Doporučuje: