Talaan ng mga Nilalaman:
2025 May -akda: John Day | [email protected]. Huling binago: 2025-01-13 06:58
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.. !
1. Raspberry Pi
2. ADXL345
3. I²C Cable
4. I²C Shield para sa Raspberry Pi
5. Ethernet Cable
Hakbang 2: 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:
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).