2025 Autor: John Day | [email protected]. E modifikuara e fundit: 2025-01-13 06:58
ADXL345 është një akselerometër i vogël, i hollë, me fuqi ultra të ulët, me 3 boshte me matje me rezolucion të lartë (13-bit) deri në ± 16 g. Të dhënat dalëse dixhitale janë të formatuara si plotësuese 16-bitësh dy dhe janë të arritshme përmes ndërfaqes dixhitale I2 C. Mat mat nxitimin statik të gravitetit në aplikimet e ndjeshmërisë së pjerrësisë, si dhe nxitimin dinamik që rezulton nga lëvizja ose goditja. Rezolucioni i tij i lartë (3.9 mg/LSB) mundëson matjen e ndryshimeve të prirjes më pak se 1.0 °. Këtu është demonstrim me mjedër pi duke përdorur kodin python.
Hapi 1: Ajo që ju nevojitet.. !
1. Raspberry Pi
2. ADXL345
3. Kabllo I²C
4. Mburoja I²C për Raspberry Pi
5. Kabllo Ethernet
Hapi 2: Lidhja:
Merrni një mburojë I2C për mjedrën pi dhe shtyjeni butësisht mbi kunjat e gpio të mjedrës pi.
Pastaj lidhni njërin skaj të kabllit I2C me sensorin ADXL345 dhe skajin tjetër me mburojën I2C.
Gjithashtu lidhni kabllon Ethernet me pi ose mund të përdorni një modul WiFi.
Lidhjet janë treguar në figurën e mësipërme.
Hapi 3: Kodi:
Kodi python për ADXL345 mund të shkarkohet nga depoja jonë GitHub- Dyqani Dcube
Këtu është lidhja për të njëjtën gjë:
github.com/DcubeTechVentures/ADXL345..
Ne kemi përdorur bibliotekën SMBus për kodin python, hapat për të instaluar SMBus në mjedër pi janë përshkruar këtu:
pypi.python.org/pypi/smbus-cffi/0.5.1
Ju gjithashtu mund të kopjoni kodin nga këtu, ai jepet si më poshtë:
# Shpërndarë me një licencë me vullnet të lirë.
# Përdoreni atë në çdo mënyrë që dëshironi, fitimprurëse ose falas, me kusht që të përshtatet në licencat e veprave të tij shoqëruese.
# ADXL345
# Ky kod është krijuar për të punuar me Mini Modulin ADXL345_I2CS I2C i disponueshëm në Dyqanin Dcube.
import smbus
koha e importit
# Merrni autobusin I2C
autobus = smbus. SMBus (1)
# Adresa ADXL345, 0x53 (83)
# Zgjidh regjistrin e shkallës së brezit, 0x2C (44)# 0x0A (10) Mënyra normale, Shkalla e të dhënave të daljes = 100 Hz
bus.write_byte_data (0x53, 0x2C, 0x0A)
Adresa # ADXL345, 0x53 (83)
# Zgjidhni regjistrin e kontrollit të energjisë, 0x2D (45)
# 0x08 (08) Çaktivizo gjumin automatik
bus.write_byte_data (0x53, 0x2D, 0x08)
# Adresa ADXL345, 0x53 (83)
# Zgjidh regjistrin e formatit të të dhënave, 0x31 (49)
# 0x08 (08) Vetë-testimi i çaktivizuar, ndërfaqe me 4 tela
# Rezolucion i plotë, Gama = +/- 2g
bus.write_byte_data (0x53, 0x31, 0x08)
koha. gjumi (0.5)
Adresa # ADXL345, 0x53 (83)
# Lexoni të dhënat mbrapa nga 0x32 (50), 2 bajt
# X-Boshti LSB, X-Boshti MSB
data0 = bus.read_byte_data (0x53, 0x32)
data1 = bus.read_byte_data (0x53, 0x33)
# Ktheni të dhënat në 10-bit
xAccl = ((të dhëna1 & 0x03) * 256) + të dhëna0
nëse xAccl> 511:
xAccl -= 1024
Adresa # ADXL345, 0x53 (83)
# Lexoni të dhënat mbrapa nga 0x34 (52), 2 bajt
# Y-Boshti LSB, Y-Boshti MSB
data0 = bus.read_byte_data (0x53, 0x34)
data1 = bus.read_byte_data (0x53, 0x35)
# Ktheni të dhënat në 10-bit
yAccl = ((të dhënat1 & 0x03) * 256) + të dhëna0
nëse yAccl> 511:
yAccl -= 1024
Adresa # ADXL345, 0x53 (83)
# Lexoni të dhënat mbrapa nga 0x36 (54), 2 bajt
# Z-Boshti LSB, Z-Boshti MSB
data0 = bus.read_byte_data (0x53, 0x36)
data1 = bus.read_byte_data (0x53, 0x37)
# Ktheni të dhënat në 10-bit
zAccl = ((të dhëna1 & 0x03) * 256) + të dhëna0
nëse zAccl> 511:
zAccl -= 1024
# Dalja e të dhënave në ekran
print "Përshpejtimi në boshtin X: %d" %xAccl
print "Përshpejtimi në Boshtin Y: %d" %yAccl
print "Përshpejtimi në Boshtin Z: %d" %zAccl
Hapi 4: Aplikimet:
ADXL345 është një akselerometër i vogël, i hollë, me ultra të ulët, me 3 boshte i cili mund të përdoret në Celularë, instrumente mjekësorë etj. Aplikimi i tij përfshin gjithashtu pajisje për lojëra dhe tregues, instrumente industriale, pajisje të navigimit personal dhe mbrojtje nga hard disku (HDD).