Innholdsfortegnelse:

Raspberry Pi - ADXL345 3 -akset akselerometer Python -opplæring: 4 trinn
Raspberry Pi - ADXL345 3 -akset akselerometer Python -opplæring: 4 trinn

Video: Raspberry Pi - ADXL345 3 -akset akselerometer Python -opplæring: 4 trinn

Video: Raspberry Pi - ADXL345 3 -akset akselerometer Python -opplæring: 4 trinn
Video: Raspberry Pi Accelerometer using the ADXL345 2024, Juli
Anonim

ADXL345 er et lite, tynt, ultralavt, 3-akset akselerometer med høy oppløsning (13-bit) måling på opptil ± 16 g. Digitale utdata er formatert som 16-biters tokomplement og er tilgjengelig via I2 C digitalt grensesnitt. Den måler den statiske gravitasjonsakselerasjonen i tilt-sensing-applikasjoner, samt dynamisk akselerasjon som følge av bevegelse eller sjokk. Den høye oppløsningen (3,9 mg/LSB) muliggjør måling av hellingsendringer mindre enn 1,0 °. Her er det demonstrasjon med bringebær pi ved hjelp av python -kode.

Trinn 1: Hva du trenger..

Hva trenger du..!!
Hva trenger du..!!
Hva trenger du..!!
Hva trenger du..!!

1. Bringebær Pi

2. ADXL345

3. I²C -kabel

4. I²C Shield for Raspberry Pi

5. Ethernet -kabel

Trinn 2: Tilkobling:

Forbindelse
Forbindelse
Forbindelse
Forbindelse
Forbindelse
Forbindelse
Forbindelse
Forbindelse

Ta et I2C -skjold for bringebærpi og skyv det forsiktig over gpio -pinnene til bringebærpi.

Koble deretter den ene enden av I2C -kabelen til ADXL345 -sensoren og den andre enden til I2C -skjoldet.

Koble også Ethernet -kabelen til pi eller du kan bruke en WiFi -modul.

Tilkoblinger er vist på bildet ovenfor.

Trinn 3: Kode:

Kode
Kode

Python-koden for ADXL345 kan lastes ned fra vårt GitHub-depot- Dcube Store

Her er lenken til det samme:

github.com/DcubeTechVentures/ADXL345..

Vi har brukt SMBus bibliotek for python -kode, trinnene for å installere SMBus på bringebær pi er beskrevet her:

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

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

# Distribuert med en fri viljelisens.

# Bruk den slik du vil, profitt eller gratis, forutsatt at den passer inn i lisensene til de tilhørende verkene.

# ADXL345

# Denne koden er designet for å fungere med ADXL345_I2CS I2C Mini Module tilgjengelig i Dcube Store.

importer smbus

importtid

# Få I2C -buss

buss = smbus. SMBus (1)

# ADXL345 adresse, 0x53 (83)

# Velg båndbreddehastighetsregister, 0x2C (44)# 0x0A (10) Normal modus, Utdatahastighet = 100 Hz

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

# ADXL345 adresse, 0x53 (83)

# Velg effektkontrollregister, 0x2D (45)

# 0x08 (08) Deaktivert automatisk søvn

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

# ADXL345 adresse, 0x53 (83)

# Velg register for dataformat, 0x31 (49)

# 0x08 (08) Selvtest deaktivert, 4-leder grensesnitt

# Full oppløsning, område = +/- 2g

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

time.sleep (0,5)

# ADXL345 adresse, 0x53 (83)

# Les data tilbake fra 0x32 (50), 2 byte

# 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)

# Les data tilbake fra 0x34 (52), 2 byte

# Y-akse LSB, Y-akse MSB

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

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

# Konverter dataene til 10-bits

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

hvis yAccl> 511:

yAccl -= 1024

# ADXL345 adresse, 0x53 (83)

# Les data tilbake fra 0x36 (54), 2 byte

# Z-Axis LSB, Z-Axis MSB

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

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

# Konverter dataene til 10-bits

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

hvis zAccl> 511:

zAccl -= 1024

# Utdata til skjermen

print "Akselerasjon i X-aksen: %d" %xAccl

print "Akselerasjon i Y-aksen: %d" %yAccl

print "Akselerasjon i Z-aksen: %d" %zAccl

Trinn 4: Søknader:

ADXL345 er et lite, tynt, ultralavt, 3-akset akselerometer som kan brukes i håndsett, medisinsk instrumentering etc. Applikasjonen inkluderer også spill- og pekeenheter, industriell instrumentering, personlige navigasjonsenheter og beskyttelse mot harddisk (HDD).

Anbefalt: