Obsah:
- Krok 1: Potrebný hardvér:
- Krok 2: Pripojenie hardvéru:
- Krok 3: Kód na meranie zrýchlenia:
- Krok 4: Aplikácie:
Video: Meranie zrýchlenia pomocou ADXL345 a Raspberry Pi: 4 kroky
2024 Autor: John Day | [email protected]. Naposledy zmenené: 2024-01-30 11:57
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 °.
V tomto návode je demonštrované prepojenie senzorového modulu ADXL345 s malinou pi a bolo tiež znázornené jeho programovanie v jazyku python. Na prečítanie hodnôt zrýchlenia na všetkých 3 osiach sme použili malinový pi s adaptérom I2C. Tento adaptér I2C uľahčuje a spoľahlivo pripája modul senzora.
Krok 1: Potrebný hardvér:
Materiály, ktoré potrebujeme na dosiahnutie nášho cieľa, obsahujú nasledujúce hardvérové komponenty:
1. ADXL345
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:
ADXL345 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: Kód na meranie zrýchlenia:
Výhodou použitia maliny 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. Pythonový kód pre ADXL345 je možné stiahnuť z našej komunity github, ktorá je komunitou Control Everything.
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 pythonu pre tento senzor môžete skopírovať aj tu:
import smbus
čas importu
# Získajte zbernicu I2C = 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
Ďalej uvedená časť kódu obsahuje knižnice potrebné na správne spustenie kódov pythonu.
importovať čas importu
Kód je možné vykonať zadaním nižšie uvedeného príkazu do príkazového riadka.
$> python ADXL345.py
Výstup senzora je tiež uvedený na obrázku vyššie pre referenciu používateľa.
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:
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 Raspberry Pi: 4 kroky
Meranie zrýchlenia pomocou modelov H3LIS331DL a Raspberry Pi: H3LIS331DL je nízkoenergetický vysokovýkonný 3-osový lineárny akcelerometer patriaci do rodiny „nano“so 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 Arduino Nano: 4 kroky
Meranie zrýchlenia pomocou ADXL345 a Arduino Nano: ADXL345 je malý, tenký, ultra nízky výkon, 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ú