Innehållsförteckning:

Raspberry Pi - ADXL345 3 -Axis Accelerometer Python Handledning: 4 steg
Raspberry Pi - ADXL345 3 -Axis Accelerometer Python Handledning: 4 steg

Video: Raspberry Pi - ADXL345 3 -Axis Accelerometer Python Handledning: 4 steg

Video: Raspberry Pi - ADXL345 3 -Axis Accelerometer Python Handledning: 4 steg
Video: Raspberry Pi Gesture Detection with an affordable APDS-9960 I2C sensor and Python 3 #shorts 2024, November
Anonim

ADXL345 är en liten, tunn, ultralåg effekt, 3-axlig accelerometer med hög upplösning (13-bitars) mätning på upp till ± 16 g. Digital utdata formateras som 16-bitars tvåkomplement och är tillgängliga via I2 C digitalt gränssnitt. Den mäter den statiska tyngdaccelerationen i lutningsavkännande applikationer, liksom dynamisk acceleration till följd av rörelse eller stötar. Dess höga upplösning (3,9 mg/LSB) möjliggör mätning av lutningsförändringar mindre än 1,0 °. Här är det demonstration med hallon pi med pythonkod.

Steg 1: Vad du behöver.. !

Vad du behöver..!!
Vad du behöver..!!
Vad du behöver..!!
Vad du behöver..!!

1. Hallon Pi

2. ADXL345

3. I²C -kabel

4. I²C -sköld för Raspberry Pi

5. Ethernet -kabel

Steg 2: Anslutning:

Förbindelse
Förbindelse
Förbindelse
Förbindelse
Förbindelse
Förbindelse
Förbindelse
Förbindelse

Ta en I2C -sköld för hallonpi och tryck den försiktigt över gpio -stiften på hallonpi.

Anslut sedan den ena änden av I2C -kabeln till ADXL345 -sensorn och den andra änden till I2C -skärmen.

Anslut också Ethernet -kabeln till pi eller så kan du använda en WiFi -modul.

Anslutningar visas på bilden ovan.

Steg 3: Kod:

Koda
Koda

Pythonkoden för ADXL345 kan laddas ner från vårt GitHub-arkiv- Dcube Store

Här är länken till samma:

github.com/DcubeTechVentures/ADXL345..

Vi har använt SMBus -biblioteket för pythonkod, stegen för att installera SMBus på hallon pi beskrivs här:

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

Du kan också kopiera koden härifrån, den ges enligt följande:

# Distribueras med en fri vilja licens.

# Använd det hur du vill, vinst eller gratis, förutsatt att det passar i licensen för dess associerade verk.

# ADXL345

# Denna kod är utformad för att fungera med ADXL345_I2CS I2C Mini -modulen som finns i Dcube Store.

importera smbus

importtid

# Skaffa I2C -buss

buss = smbus. SMBus (1)

# ADXL345 -adress, 0x53 (83)

# Välj bandbreddshastighetsregister, 0x2C (44)# 0x0A (10) Normalt läge, Utdatahastighet = 100 Hz

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

# ADXL345 -adress, 0x53 (83)

# Välj effektregistreringsregister, 0x2D (45)

# 0x08 (08) Inaktivera automatisk viloläge

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

# ADXL345 -adress, 0x53 (83)

# Välj dataformatregister, 0x31 (49)

# 0x08 (08) Självtest inaktiverat, 4-tråds gränssnitt

# Full upplösning, intervall = +/- 2g

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

tid. sover (0,5)

# ADXL345 -adress, 0x53 (83)

# Läs tillbaka data från 0x32 (50), 2 byte

# X-Axis LSB, X-Axis MSB

data0 = buss.läs_byte_data (0x53, 0x32)

data1 = buss.läs_byte_data (0x53, 0x33)

# Konvertera data till 10-bitar

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

om xAccl> 511:

xAccl -= 1024

# ADXL345 -adress, 0x53 (83)

# Läs tillbaka data från 0x34 (52), 2 byte

# Y-Axis LSB, Y-Axis MSB

data0 = buss.läs_byte_data (0x53, 0x34)

data1 = buss.läs_byte_data (0x53, 0x35)

# Konvertera data till 10-bitar

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

om yAccl> 511:

yAccl -= 1024

# ADXL345 -adress, 0x53 (83)

# Läs tillbaka data från 0x36 (54), 2 byte

# Z-Axis LSB, Z-Axis MSB

data0 = buss.läs_byte_data (0x53, 0x36)

data1 = buss.läs_byte_data (0x53, 0x37)

# Konvertera data till 10-bitar

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

om zAccl> 511:

zAccl -= 1024

# Mata ut data till skärmen

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

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

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

Steg 4: Ansökningar:

ADXL345 är en liten, tunn, ultralåg effekt, 3-axlig accelerometer som kan användas i telefoner, medicinsk instrumentering etc. Dess tillämpning inkluderar även spel- och pekdon, industriell instrumentering, personliga navigationsenheter och hårddiskskydd (HDD).

Rekommenderad: