Satura rādītājs:

Raspberry Pi - ADXL345 3 asu akselerometra Python apmācība: 4 soļi
Raspberry Pi - ADXL345 3 asu akselerometra Python apmācība: 4 soļi

Video: Raspberry Pi - ADXL345 3 asu akselerometra Python apmācība: 4 soļi

Video: Raspberry Pi - ADXL345 3 asu akselerometra Python apmācība: 4 soļi
Video: Accelerometer /gyroscope with raspberry pi 2024, Jūlijs
Anonim

ADXL345 ir mazs, plāns, īpaši mazas jaudas 3 asu akselerometrs ar augstas izšķirtspējas (13 bitu) mērījumu līdz ± 16 g. Digitālie izvaddati tiek formatēti kā 16 bitu papildinājumi, un tie ir pieejami, izmantojot I2 C digitālo saskarni. Tas mēra statisko gravitācijas paātrinājumu slīpuma noteikšanas lietojumos, kā arī dinamisku paātrinājumu, ko rada kustība vai trieciens. Tā augstā izšķirtspēja (3,9 mg/LSB) ļauj izmērīt slīpuma izmaiņas, kas ir mazākas par 1,0 °. Šeit ir demonstrācija ar aveņu pi, izmantojot python kodu.

1. solis: kas jums nepieciešams..

Ko tev vajag..!!
Ko tev vajag..!!
Ko tev vajag..!!
Ko tev vajag..!!

1. Aveņu Pi

2. ADXL345

3. I²C kabelis

4. I²C vairogs Raspberry Pi

5. Ethernet kabelis

2. darbība: savienojums:

Savienojums
Savienojums
Savienojums
Savienojums
Savienojums
Savienojums
Savienojums
Savienojums

Paņemiet I2C vairogu aveņu pi un viegli piespiediet to pa aveņu pi gpio tapām.

Pēc tam pievienojiet I2C kabeļa vienu galu ADXL345 sensoram un otru galu I2C vairogam.

Pievienojiet arī Ethernet kabeli pie pi vai varat izmantot WiFi moduli.

Savienojumi ir parādīti attēlā iepriekš.

3. darbība: kods:

Kods
Kods

ADXL345 python kodu var lejupielādēt no mūsu GitHub krātuves- Dcube Store

Šeit ir saite uz to pašu:

github.com/DcubeTechVentures/ADXL345..

Mēs esam izmantojuši SMBus bibliotēku python kodam, soļi SMBus instalēšanai aveņu pi ir aprakstīti šeit:

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

Varat arī nokopēt kodu no šejienes, tas ir norādīts šādi:

# Izplatīts ar brīvās gribas licenci.

# Izmantojiet to jebkurā veidā, bez peļņas vai bez maksas, ja vien tas atbilst saistīto darbu licencēm.

# ADXL345

# Šis kods ir paredzēts darbam ar ADCL345_I2CS I2C mini moduli, kas pieejams Dcube veikalā.

importēt smbus

importa laiks

# Iegūstiet I2C autobusu

autobuss = smbus. SMBus (1)

# ADXL345 adrese, 0x53 (83)

# Izvēlieties joslas platuma ātruma reģistru, 0x2C (44)# 0x0A (10) Normāls režīms, izejas datu pārraides ātrums = 100 Hz

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

# ADXL345 adrese, 0x53 (83)

# Atlasiet jaudas kontroles reģistru, 0x2D (45)

# 0x08 (08) Automātiskā miega režīma atspējošana

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

# ADXL345 adrese, 0x53 (83)

# Atlasiet datu formāta reģistru, 0x31 (49)

# 0x08 (08) Pašpārbaude atspējota, 4 vadu interfeiss

# Pilna izšķirtspēja, diapazons = +/- 2g

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

miega laiks (0,5)

# ADXL345 adrese, 0x53 (83)

# Lasīt datus no 0x32 (50), 2 baiti

# X ass LSB, X ass MSB

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

dati1 = kopne.lasīt_baitu_dati (0x53, 0x33)

# Pārvērtiet datus par 10 bitiem

xAccl = ((dati1 un 0x03) * 256) + dati0

ja xAccl> 511:

xAccl -= 1024

# ADXL345 adrese, 0x53 (83)

# Lasīt datus no 0x34 (52), 2 baiti

# Y-ass LSB, Y-ass MSB

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

dati1 = kopne.lasīt_baitu_dati (0x53, 0x35)

# Pārvērtiet datus par 10 bitiem

yAccl = ((dati1 un 0x03) * 256) + dati0

ja yAccl> 511:

yAccl -= 1024

# ADXL345 adrese, 0x53 (83)

# Nolasiet datus no 0x36 (54), 2 baiti

# Z-ass LSB, Z-ass MSB

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

dati1 = kopne.lasīt_baitu_dati (0x53, 0x37)

# Pārvērtiet datus par 10 bitiem

zAccl = ((dati1 un 0x03) * 256) + dati0

ja zAccl> 511:

zAccl -= 1024

# Izvadiet datus ekrānā

drukāt "Paātrinājums X-asī: %d" %xAccl

drukāt "Paātrinājums Y-asī: %d" %yAccl

drukāt "Paātrinājums Z-asī: %d" %zAccl

4. darbība. Lietojumprogrammas:

ADXL345 ir mazs, plāns, īpaši zems jauda, 3 asu akselerometrs, ko var izmantot tālruņos, medicīnas instrumentos uc

Ieteicams: