Daftar Isi:
2025 Pengarang: John Day | [email protected]. Terakhir diubah: 2025-01-13 06:57
ADXL345 adalah akselerometer 3-sumbu kecil, tipis, berdaya ultra rendah dengan pengukuran resolusi tinggi (13-bit) hingga ±16 g. Data keluaran digital diformat sebagai pelengkap berpasangan 16-bit dan dapat diakses melalui antarmuka digital I2 C. Ini mengukur akselerasi statis gravitasi dalam aplikasi sensor kemiringan, serta akselerasi dinamis yang dihasilkan dari gerakan atau guncangan. Resolusi tinggi (3,9 mg/LSB) memungkinkan pengukuran perubahan kemiringan kurang dari 1,0°. Ini dia demonstrasi dengan raspberry pi menggunakan kode python.
Langkah 1: Yang Anda Butuhkan.
1. Raspberry Pi
2. ADXL345
3. Kabel I²C
4. Perisai I²C untuk Raspberry Pi
5. Kabel Ethernet
Langkah 2: Koneksi:
Ambil pelindung I2C untuk raspberry pi dan dorong perlahan ke atas pin gpio dari raspberry pi.
Kemudian sambungkan salah satu ujung kabel I2C ke sensor ADXL345 dan ujung lainnya ke pelindung I2C.
Hubungkan juga kabel Ethernet ke pi atau Anda dapat menggunakan modul WiFi.
Koneksi ditunjukkan pada gambar di atas.
Langkah 3: Kode:
Kode python untuk ADXL345 dapat diunduh dari repositori GitHub kami- Dcube Store
Berikut ini tautan untuk hal yang sama:
github.com/DcubeTechVentures/ADXL345..
Kami telah menggunakan perpustakaan SMBus untuk kode python, langkah-langkah untuk menginstal SMBus pada raspberry pi dijelaskan di sini:
pypi.python.org/pypi/smbus-cffi/0.5.1
Anda juga dapat menyalin kode dari sini, diberikan sebagai berikut:
# Didistribusikan dengan lisensi kehendak bebas.
# Gunakan dengan cara apa pun yang Anda inginkan, untung atau gratis, asalkan sesuai dengan lisensi karya terkaitnya.
# ADXL345
# Kode ini dirancang untuk bekerja dengan Modul Mini ADXL345_I2CS I2C yang tersedia di Dcube Store.
impor smbus
waktu impor
# Dapatkan bus I2C
bus = smbus. SMBus(1)
# alamat ADXL345, 0x53(83)
# Pilih register laju bandwidth, 0x2C(44)# 0x0A(10) Mode normal, Kecepatan data keluaran = 100 Hz
bus.write_byte_data(0x53, 0x2C, 0x0A)
# alamat ADXL345, 0x53(83)
# Pilih register kontrol daya, 0x2D(45)
# 0x08(08) Auto Sleep menonaktifkan
bus.write_byte_data(0x53, 0x2D, 0x08)
# alamat ADXL345, 0x53(83)
# Pilih format data register, 0x31(49)
# 0x08(08) Tes mandiri dinonaktifkan, antarmuka 4-kawat
# Resolusi penuh, Rentang = +/-2g
bus.write_byte_data(0x53, 0x31, 0x08)
waktu.tidur(0.5)
# alamat ADXL345, 0x53(83)
# Baca data kembali dari 0x32(50), 2 byte
# Sumbu X LSB, Sumbu X MSB
data0 = bus.read_byte_data(0x53, 0x32)
data1 = bus.read_byte_data(0x53, 0x33)
# Ubah data menjadi 10-bit
xAccl = ((data1 & 0x03) * 256) + data0
jika xAccl > 511:
xAccl -= 1024
# alamat ADXL345, 0x53(83)
# Baca data kembali dari 0x34(52), 2 byte
# Sumbu Y LSB, Sumbu Y MSB
data0 = bus.read_byte_data(0x53, 0x34)
data1 = bus.read_byte_data(0x53, 0x35)
# Ubah data menjadi 10-bit
yAccl = ((data1 & 0x03) * 256) + data0
jika yAccl > 511:
yAccl -= 1024
# alamat ADXL345, 0x53(83)
# Baca data kembali dari 0x36(54), 2 byte
# Sumbu Z LSB, Sumbu Z MSB
data0 = bus.read_byte_data(0x53, 0x36)
data1 = bus.read_byte_data(0x53, 0x37)
# Ubah data menjadi 10-bit
zAccl = ((data1 & 0x03) * 256) + data0
jika zAccl > 511:
zAccl -= 1024
# Keluarkan data ke layar
print "Percepatan pada Sumbu X: %d" %xAccl
print "Percepatan pada Sumbu Y: %d" %yAccl
print "Percepatan pada Sumbu Z: %d" %zAccl
Langkah 4: Aplikasi:
ADXL345 adalah akselerometer 3-sumbu kecil, tipis, berdaya ultra rendah yang dapat digunakan di Handset, Instrumentasi medis, dll. Aplikasinya juga mencakup Gaming dan perangkat penunjuk, instrumentasi Industri, Perangkat navigasi pribadi, dan perlindungan Hard disk drive (HDD).