Isi kandungan:

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

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

Video: Tutorial Raspberry Pi - ADXL345 3-Axis Accelerometer Python: 4 Langkah
Video: Accelerometer (Raspberry Pi) 2024, Julai
Anonim

ADXL345 adalah akselerometer 3-paksi kecil, tipis, kuasa ultra kecil dengan ukuran resolusi tinggi (13-bit) hingga ± 16 g. Data output digital diformat sebagai pelengkap dua-bit 16-bit dan dapat diakses melalui antara muka digital I2 C. Ini mengukur percepatan graviti statik dalam aplikasi penginderaan kecondongan, serta percepatan dinamis yang dihasilkan dari gerakan atau kejutan. Resolusi tinggi (3.9 mg / LSB) memungkinkan pengukuran perubahan kecenderungan kurang dari 1.0 °. Inilah demonstrasi dengan raspberry pi menggunakan kod python.

Langkah 1: Apa yang Anda Perlu..

Apa yang kamu perlu..!!
Apa yang kamu perlu..!!
Apa yang kamu perlu..!!
Apa yang kamu perlu..!!

1. Raspberry Pi

2. ADXL345

3. Kabel I²C

4. Perisai I²C untuk Raspberry Pi

5. Kabel Ethernet

Langkah 2: Sambungan:

Sambungan
Sambungan
Sambungan
Sambungan
Sambungan
Sambungan
Sambungan
Sambungan

Ambil pelindung I2C untuk raspberry pi dan tekan perlahan ke atas pin gpio raspberry pi.

Kemudian sambungkan satu hujung kabel I2C ke sensor ADXL345 dan hujung yang lain ke pelindung I2C.

Sambungkan juga kabel Ethernet ke pi atau anda boleh menggunakan modul WiFi.

Sambungan ditunjukkan dalam gambar di atas.

Langkah 3: Kod:

Kod
Kod

Kod python untuk ADXL345 boleh dimuat turun dari repositori GitHub- Kedai Dcube kami

Berikut adalah pautan yang sama:

github.com/DcubeTechVentures/ADXL345..

Kami telah menggunakan perpustakaan SMBus untuk kod python, langkah-langkah untuk memasang SMBus pada raspberry pi dijelaskan di sini:

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

Anda juga boleh menyalin kod dari sini, ia diberikan seperti berikut:

# Diagihkan dengan lesen kehendak bebas.

# Gunakan dengan cara yang anda mahukan, untung atau percuma, dengan syarat ia sesuai dengan lesen karya yang berkaitan.

# ADXL345

# Kod ini direka untuk berfungsi dengan Modul Mini ADXL345_I2CS I2C yang terdapat di Dcube Store.

import smbus

masa import

# Dapatkan bas I2C

bas = smbus. SMBus (1)

# Alamat ADXL345, 0x53 (83)

# Pilih daftar kadar lebar jalur, 0x2C (44) # 0x0A (10) Mod normal, Kadar data output = 100 Hz

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

# Alamat ADXL345, 0x53 (83)

# Pilih daftar kawalan kuasa, 0x2D (45)

# 0x08 (08) Matikan Tidur Auto

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

# Alamat ADXL345, 0x53 (83)

# Pilih daftar format data, 0x31 (49)

# 0x08 (08) Ujian kendiri dilumpuhkan, antara muka 4 wayar

# Resolusi penuh, Julat = +/- 2g

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

masa. tidur (0.5)

# Alamat ADXL345, 0x53 (83)

# Baca kembali data dari 0x32 (50), 2 bait

# X-Axis LSB, X-Axis MSB

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

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

# Tukar data menjadi 10-bit

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

jika xAccl> 511:

xAccl - = 1024

# Alamat ADXL345, 0x53 (83)

# Baca kembali data dari 0x34 (52), 2 bait

# Y-Axis LSB, Y-Axis MSB

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

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

# Tukar data menjadi 10-bit

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

jika yAccl> 511:

yAccl - = 1024

# Alamat ADXL345, 0x53 (83)

# Baca kembali data dari 0x36 (54), 2 bait

# Z-Axis LSB, Z-Axis MSB

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

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

# Tukar data menjadi 10-bit

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

jika zAccl> 511:

zAccl - = 1024

# Keluarkan data ke skrin

cetak "Pecutan dalam X-Axis:% d"% xAccl

cetak "Pecutan dalam Paksi-Y:% d"% yAccl

cetak "Pecutan dalam Z-Axis:% d"% zAccl

Langkah 4: Aplikasi:

ADXL345 adalah kecil, tipis, daya ultralow, akselerometer 3-paksi yang dapat digunakan di Handset, alat perubatan dll. Aplikasinya juga merangkumi Perisian permainan dan penunjuk, Instrumentasi industri, Peranti navigasi peribadi dan perlindungan cakera keras (HDD).

Disyorkan: