Indholdsfortegnelse:

Raspberry Pi - ADXL345 3 -Axis Accelerometer Python Tutorial: 4 trin
Raspberry Pi - ADXL345 3 -Axis Accelerometer Python Tutorial: 4 trin

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

Video: Raspberry Pi - ADXL345 3 -Axis Accelerometer Python Tutorial: 4 trin
Video: Raspberry Pi & Python I2C Deep Dive with TonyD! @adafruit LIVE 2024, Juli
Anonim

ADXL345 er et lille, tyndt, ultralavt, 3-akset accelerometer med høj opløsning (13-bit) måling på op til ± 16 g. Digitale outputdata er formateret som 16-bit tokomplement og er tilgængelige via I2 C digital interface. Det måler den statiske tyngdekraftacceleration i tilt-sensing applikationer samt dynamisk acceleration som følge af bevægelse eller stød. Dens høje opløsning (3,9 mg/LSB) muliggør måling af hældningsændringer mindre end 1,0 °. Her er det demonstration med hindbær pi ved hjælp af python -kode.

Trin 1: Hvad du har brug for..

Hvad du har brug for..!!
Hvad du har brug for..!!
Hvad du har brug for..!!
Hvad du har brug for..!!

1. Hindbær Pi

2. ADXL345

3. I²C -kabel

4. I²C Shield til Raspberry Pi

5. Ethernet -kabel

Trin 2: Tilslutning:

Forbindelse
Forbindelse
Forbindelse
Forbindelse
Forbindelse
Forbindelse
Forbindelse
Forbindelse

Tag et I2C -skjold til hindbærpi og skub det forsigtigt hen over gpio -benene på hindbærpi.

Tilslut derefter den ene ende af I2C -kablet til ADXL345 -sensoren og den anden ende til I2C -skærmen.

Tilslut også Ethernet -kablet til pi'en, eller du kan bruge et WiFi -modul.

Forbindelser er vist på billedet ovenfor.

Trin 3: Kode:

Kode
Kode

Python-koden til ADXL345 kan downloades fra vores GitHub-depot- Dcube Store

Her er linket til det samme:

github.com/DcubeTechVentures/ADXL345..

Vi har brugt SMBus -bibliotek til python -kode, trinene til at installere SMBus på hindbær pi er beskrevet her:

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

Du kan også kopiere koden herfra, den er givet som følger:

# Distribueret med en fri vilje-licens.

# Brug den, som du vil, profit eller gratis, forudsat at den passer ind i licenserne til de tilhørende værker.

# ADXL345

# Denne kode er designet til at fungere med ADXL345_I2CS I2C Mini -modulet, der er tilgængeligt i Dcube Store.

import smbus

importtid

# Få I2C -bus

bus = smbus. SMBus (1)

# ADXL345 adresse, 0x53 (83)

# Vælg båndbreddehastighedsregister, 0x2C (44)# 0x0A (10) Normal tilstand, Output datahastighed = 100 Hz

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

# ADXL345 adresse, 0x53 (83)

# Vælg effektstyringsregister, 0x2D (45)

# 0x08 (08) Deaktivering af automatisk søvn

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

# ADXL345 adresse, 0x53 (83)

# Vælg dataformatregister, 0x31 (49)

# 0x08 (08) Selvtest deaktiveret, 4-leder interface

# Fuld opløsning, Område = +/- 2g

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

time.sleep (0,5)

# ADXL345 adresse, 0x53 (83)

# Læs data tilbage fra 0x32 (50), 2 bytes

# X-Axis LSB, X-Axis MSB

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

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

# Konverter dataene til 10-bits

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

hvis xAccl> 511:

xAccl -= 1024

# ADXL345 adresse, 0x53 (83)

# Læs data tilbage fra 0x34 (52), 2 bytes

# Y-akse LSB, Y-akse MSB

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

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

# Konverter dataene til 10-bit

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

hvis yAccl> 511:

yAccl -= 1024

# ADXL345 adresse, 0x53 (83)

# Læs data tilbage fra 0x36 (54), 2 bytes

# Z-Axis LSB, Z-Axis MSB

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

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

# Konverter dataene til 10-bit

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

hvis zAccl> 511:

zAccl -= 1024

# Output data til skærmen

print "Acceleration i X-akse: %d" %xAccl

print "Acceleration i Y-akse: %d" %yAccl

print "Acceleration i Z-akse: %d" %zAccl

Trin 4: Ansøgninger:

ADXL345 er et lille, tyndt, ultralavt, 3-akset accelerometer, der kan bruges i håndsæt, medicinsk instrumentering osv. Dets anvendelse omfatter også spil- og pegeudstyr, industriel instrumentering, personlige navigationsenheder og beskyttelse af harddisk (HDD).

Anbefalede: