Talaan ng mga Nilalaman:

Raspberry Pi - ADXL345 3-Axis Accelerometer Python Tutorial: 4 na Hakbang
Raspberry Pi - ADXL345 3-Axis Accelerometer Python Tutorial: 4 na Hakbang

Video: Raspberry Pi - ADXL345 3-Axis Accelerometer Python Tutorial: 4 na Hakbang

Video: Raspberry Pi - ADXL345 3-Axis Accelerometer Python Tutorial: 4 na Hakbang
Video: Accelerometer (Raspberry Pi) 2024, Nobyembre
Anonim

Ang ADXL345 ay isang maliit, manipis, ultralow power, 3-axis accelerometer na may mataas na resolusyon (13-bit) na pagsukat hanggang sa ± 16 g. Ang data ng output ng digital ay na-format bilang 16-bit na twos komplemento at maa-access sa pamamagitan ng digital interface ng I2 C. Sinusukat nito ang static na pagpabilis ng gravity sa mga application na nakakiling, at pati na rin ang pabago-bagong paggalaw na nagreresulta mula sa paggalaw o pagkabigla. Ang mataas na resolusyon (3.9 mg / LSB) ay nagbibigay-daan sa pagsukat ng mga pagbabago sa pagkahilig mas mababa sa 1.0 °. Narito ang pagpapakitang ito gamit ang raspberry pi gamit ang python code.

Hakbang 1: Ano ang Kailangan Mo.. !

Ang iyong kailangan..!!
Ang iyong kailangan..!!
Ang iyong kailangan..!!
Ang iyong kailangan..!!

1. Raspberry Pi

2. ADXL345

3. I²C Cable

4. I²C Shield para sa Raspberry Pi

5. Ethernet Cable

Hakbang 2: Koneksyon:

Koneksyon
Koneksyon
Koneksyon
Koneksyon
Koneksyon
Koneksyon
Koneksyon
Koneksyon

Kumuha ng isang kalasag I2C para sa raspberry pi at dahan-dahang itulak ito sa mga gpio pin ng raspberry pi.

Pagkatapos ikonekta ang isang dulo ng I2C cable sa ADXL345 sensor at ang iba pang mga dulo sa I2C kalasag.

Ikonekta din ang Ethernet cable sa pi o maaari kang gumamit ng isang module ng WiFi.

Ang mga koneksyon ay ipinapakita sa larawan sa itaas.

Hakbang 3: Code:

Code
Code

Ang python code para sa ADXL345 ay maaaring ma-download mula sa aming GitHub repository- Dcube Store

Narito ang link para sa pareho:

github.com/DcubeTechVentures/ADXL345..

Gumamit kami ng SMBus library para sa python code, ang mga hakbang upang mai-install ang SMBus sa raspberry pi ay inilarawan dito:

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

Maaari mo ring kopyahin ang code mula dito, ibinibigay ito tulad ng sumusunod:

# Ipinamamahagi ng isang lisensyang malaya ang kalooban.

# Gamitin ito sa anumang paraan na nais mo, kumita o libre, sa kondisyon na umaangkop ito sa mga lisensya ng mga nauugnay na gawa nito.

# ADXL345

# Ang code na ito ay dinisenyo upang gumana sa ADXL345_I2CS I2C Mini Module na magagamit sa Dcube Store.

import smbus

oras ng pag-import

# Kumuha ng I2C bus

bus = smbus. SMBus (1)

# ADXL345 address, 0x53 (83)

# Piliin ang rehistro ng rate ng bandwidth, 0x2C (44) # 0x0A (10) Karaniwang mode, rate ng data ng output = 100 Hz

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

# ADXL345 address, 0x53 (83)

# Piliin ang rehistro ng kontrol sa kuryente, 0x2D (45)

# 0x08 (08) Hindi paganahin ang Auto Sleep

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

# ADXL345 address, 0x53 (83)

# Piliin ang rehistro ng format ng data, 0x31 (49)

# 0x08 (08) Hindi pinagana ang self test, 4-wire interface

# Buong resolusyon, Saklaw = +/- 2g

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

oras. pagtulog (0.5)

# ADXL345 address, 0x53 (83)

# Basahin ang data pabalik mula sa 0x32 (50), 2 bytes

# X-Axis LSB, X-Axis MSB

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

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

# I-convert ang data sa 10-bit

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

kung xAccl> 511:

xAccl - = 1024

# ADXL345 address, 0x53 (83)

# Basahin ang data pabalik mula sa 0x34 (52), 2 bytes

# Y-Axis LSB, Y-Axis MSB

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

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

# I-convert ang data sa 10-bit

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

kung yAccl> 511:

yAccl - = 1024

# ADXL345 address, 0x53 (83)

# Basahin ang data pabalik mula sa 0x36 (54), 2 bytes

# Z-Axis LSB, Z-Axis MSB

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

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

# I-convert ang data sa 10-bit

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

kung zAccl> 511:

zAccl - = 1024

# Data ng output sa screen

i-print ang "Acceleration in X-Axis:% d"% xAccl

i-print ang "Acceleration in Y-Axis:% d"% yAccl

i-print ang "Acceleration in Z-Axis:% d"% zAccl

Hakbang 4: Mga Aplikasyon:

Ang ADXL345 ay isang maliit, manipis, ultralow power, 3-axis accelerometer na maaaring magamit sa Handsets, Medical instrumentation atbp Kasama rin sa aplikasyon nito ang Gaming at mga tumuturo na aparato, Industrial instrumentation, Personal na nabigasyon na aparato at proteksyon ng Hard disk drive (HDD).

Inirerekumendang: