Obsah:

Raspberry Pi - 3 -osový akcelerometer ADXL345 Python Výukový program: 4 kroky
Raspberry Pi - 3 -osový akcelerometer ADXL345 Python Výukový program: 4 kroky

Video: Raspberry Pi - 3 -osový akcelerometer ADXL345 Python Výukový program: 4 kroky

Video: Raspberry Pi - 3 -osový akcelerometer ADXL345 Python Výukový program: 4 kroky
Video: Raspberry Pi Accelerometer using the ADXL345 2024, Júl
Anonim

ADXL345 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 I2 C. Meria statické gravitačné zrýchlenie v aplikáciách snímajúcich náklon, ako aj dynamické zrýchlenie vyplývajúce z pohybu alebo šoku. Jeho vysoké rozlíšenie (3,9 mg/LSB) umožňuje meranie zmien sklonu menej ako 1,0 °. Tu je ukážka s malinou pi pomocou kódu python.

Krok 1: Čo potrebujete.. !

Čo potrebuješ..!!
Čo potrebuješ..!!
Čo potrebuješ..!!
Čo potrebuješ..!!

1. Raspberry Pi

2. ADXL345

3. Kábel I²C

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

5. Ethernetový kábel

Krok 2: Pripojenie:

Pripojenie
Pripojenie
Pripojenie
Pripojenie
Pripojenie
Pripojenie
Pripojenie
Pripojenie

Vezmite I2C štít na malinový pi a jemne ho zatlačte cez gpio kolíky malinového pi.

Potom pripojte jeden koniec kábla I2C k senzoru ADXL345 a druhý koniec k štítu I2C.

Pripojte tiež ethernetový kábel k pí alebo môžete použiť modul WiFi.

Pripojenia sú znázornené na obrázku vyššie.

Krok 3: Kód:

Kód
Kód

Pythonový kód pre ADXL345 je možné stiahnuť z nášho úložiska GitHub- Dcube Store

Tu je odkaz na to isté:

github.com/DcubeTechVentures/ADXL345..

Na kód pythonu sme použili knižnicu SMBus, kroky na inštaláciu SMBus na Raspberry Pi sú popísané tu:

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

Odtiaľto môžete tiež skopírovať kód, ktorý je nasledujúci:

# Distribuované s licenciou slobodnej vôle.

# Používajte ho akýmkoľvek spôsobom chcete, so ziskom alebo zadarmo, za predpokladu, že sa zmestí do licencií súvisiacich diel.

# ADXL345

# Tento kód je navrhnutý tak, aby fungoval s mini modulom ADXL345_I2CS I2C dostupným v obchode Dcube Store.

import smbus

čas importu

# Získajte autobus I2C

bus = smbus. SMBus (1)

# Adresa ADXL345, 0x53 (83)

# Vyberte register rýchlosti šírky pásma, 0x2C (44)# 0x0A (10) Normálny režim, výstupný dátový tok = 100 Hz

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

# Adresa ADXL345, 0x53 (83)

# Vyberte register riadenia výkonu, 0x2D (45)

# 0x08 (08) Vypnutie automatického režimu spánku

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

# Adresa ADXL345, 0x53 (83)

# Vyberte register formátu údajov, 0x31 (49)

# 0x08 (08) Automatický test je deaktivovaný, 4-vodičové rozhranie

# Plné rozlíšenie, Rozsah = +/- 2 g

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

čas.spánok (0,5)

# Adresa ADXL345, 0x53 (83)

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

# Os X LSB, os X MSB

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

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

# Konvertujte údaje na 10-bitové

xAccl = ((údaje1 a 0x03) * 256) + údaje0

ak xAccl> 511:

xAccl -= 1024

# Adresa ADXL345, 0x53 (83)

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

# Os Y LSB, os Y MSB

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

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

# Konvertujte údaje na 10-bitové

yAccl = ((údaje1 a 0x03) * 256) + údaje0

ak yAccl> 511:

yAccl -= 1024

# Adresa ADXL345, 0x53 (83)

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

# Os Z LSB, os Z MSB

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

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

# Konvertujte údaje na 10-bitové

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

ak zAccl> 511:

zAccl -= 1024

# 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

Krok 4: Aplikácie:

ADXL345 je malý, tenký, ultraľahký, 3-osový akcelerometer, ktorý je možné použiť v mobilných telefónoch, lekárskych prístrojoch atď. Jeho aplikácia zahŕňa aj herné a ukazovacie zariadenia, priemyselné prístroje, osobné navigačné zariadenia a ochranu pevného disku (HDD).

Odporúča: