Isi kandungan:

3-Axis Accelerometer, ADXL345 Dengan Raspberry Pi Menggunakan Python: 6 Langkah
3-Axis Accelerometer, ADXL345 Dengan Raspberry Pi Menggunakan Python: 6 Langkah

Video: 3-Axis Accelerometer, ADXL345 Dengan Raspberry Pi Menggunakan Python: 6 Langkah

Video: 3-Axis Accelerometer, ADXL345 Dengan Raspberry Pi Menggunakan Python: 6 Langkah
Video: MPU6050 с Raspberry Pi самым простым способом с использованием Python | Акселерометр | Гироскоп | Температура 2024, November
Anonim
3-Axis Accelerometer, ADXL345 Dengan Raspberry Pi Menggunakan Python
3-Axis Accelerometer, ADXL345 Dengan Raspberry Pi Menggunakan Python

Memikirkan alat yang dapat memeriksa titik di mana Offroader anda condong ke arah yang berlarutan. Bukankah itu menyenangkan sekiranya seseorang diselaraskan apabila ada kemungkinan terbalik? Jelas ya. Ini akan sangat berguna bagi individu yang suka melakukan perjalanan gunung dan perjalanan perusahaan.

Tanpa keraguan, satu tempoh penilaian yang tepat yang sangat baik, IoT hadir. Sebagai pencinta Gadget dan Pengaturcaraan, kami percaya, Raspberry Pi, PC mikro Linux telah memperlakukan kemampuan kreatif orang secara umum, dengan membawa metodologi inovatif. Oleh itu, apakah hasil yang dapat dibayangkan bahawa apa yang dapat kita lakukan sekiranya kita mempunyai Raspberry Pi dan Accelerometer 3 paksi dekat? Kita mesti menemui! Dalam tugas ini, kita akan merasakan pecutan pada 3 paksi, X, Y dan Z menggunakan Raspberry Pi dan ADXL345, pecutan 3 paksi. Oleh itu, kita harus memerhatikan perjalanan ini untuk membuat rangka kerja untuk mengukur pecutan 3 dimensi atau G-Force.

Langkah 1: Perkakasan Asas yang Kami Memerlukan

Perkakasan Asas yang Kami Memerlukan
Perkakasan Asas yang Kami Memerlukan
Perkakasan Asas yang Kami Memerlukan
Perkakasan Asas yang Kami Memerlukan
Perkakasan Asas yang Kami Memerlukan
Perkakasan Asas yang Kami Memerlukan

Masalahnya kurang bagi kami kerana kami mempunyai banyak barang yang boleh dikerjakan. Walaupun begitu, kita tahu betapa menyusahkan orang lain untuk mengumpulkan bahagian yang tepat pada waktu yang tepat dari tempat yang sesuai dan itu dibenarkan tanpa mengira setiap sen. Oleh itu, kami akan membantu anda di semua wilayah. Baca yang berikut untuk mendapatkan senarai bahagian yang lengkap.

1. Raspberry Pi

Langkah awal adalah memperoleh papan Raspberry Pi. Komputer kecil yang berkuasa rendah ini menyediakan asas yang murah dan umumnya sederhana untuk usaha elektronik, Internet of Things (IoT), Bandar Pintar, Pendidikan Sekolah.

2. Perisai I2C untuk Raspberry Pi

Perkara utama yang Raspberry Pi hilang sebenarnya adalah port I²C. Jadi untuk itu, penyambung TOUTPI2 I²C memberi anda akal untuk menggunakan Rasp Pi dengan peranti MULTIPLE I²C. Ia boleh diakses di Kedai DCUBE

3. Percepatan 3 paksi, ADXL345

Dicipta oleh Analog Devices, ADXL345, adalah akselerometer 3-paksi berkuasa rendah dengan pengukuran 13-bit beresolusi tinggi hingga ± 16g. Kami memperoleh sensor ini dari DCUBE Store

4. Menyambung Kabel

Kami mempunyai kabel penyambung I2C yang dapat diakses di DCUBE Store

5. Kabel USB mikro

Sekurang-kurangnya yang terkeliru, namun paling ketat mengenai keperluan kuasa adalah Raspberry Pi! Pendekatan paling mudah untuk menghidupkan Raspberry Pi adalah dengan menggunakan kabel USB Mikro.

6. Akses Web adalah Keperluan

Akses web dapat diperkasakan melalui kabel Ethernet (LAN) yang berkaitan dengan rangkaian tempatan dan web. Sebaliknya, anda boleh mengaitkan dengan rangkaian tanpa wayar menggunakan dongle wayarles USB, yang memerlukan konfigurasi.

7. Kabel HDMI / Akses Jauh

Dengan kabel HDMI di papan, anda boleh menyambungkannya ke TV digital atau ke Monitor. Perlu wang tunai! Raspberry Pi dapat memanfaatkan strategi khas seperti-SSH dan Akses melalui Web dari jauh. Anda boleh menggunakan perisian sumber PuTTYopen.

Langkah 2: Menyambungkan Perkakasan

Menyambungkan Perkakasan
Menyambungkan Perkakasan
Menyambungkan Perkakasan
Menyambungkan Perkakasan
Menyambungkan Perkakasan
Menyambungkan Perkakasan
Menyambungkan Perkakasan
Menyambungkan Perkakasan

Buat litar mengikut skema yang muncul. Rangka garis besar dan ikuti konfigurasi dengan sengaja.

Sambungan Raspberry Pi dan I2C Shield

Di atas segalanya, ambil Raspberry Pi dan letakkan I2C Shield di atasnya. Tekan Perisai dengan lembut di atas pin GPIO Pi dan kami selesai dengan perkembangan ini semudah pai (lihat gambar).

Sambungan Sensor dan Raspberry Pi

Ambil sensor dan Antaramuka Kabel I2C dengannya. Untuk pengoperasian Kabel ini yang sesuai, ingatlah Output I2C SELALU dikaitkan dengan Input I2C. Perkara yang sama mesti diambil untuk Raspberry Pi dengan pelindung I2C yang terpasang di atasnya pin GPIO.

Kami menetapkan penggunaan kabel I2C kerana menolak syarat untuk meneliti pinout, solder, dan malaise yang disebabkan oleh kesalahan terkecil sekalipun. Dengan kabel palam dan main asas ini, anda boleh memperkenalkan, menukar peranti, atau menambahkan lebih banyak peranti ke aplikasi dengan mudah. Ini menjadikan perkara tidak rumit.

Catatan: Kawat coklat semestinya mengikuti sambungan Ground (GND) antara output satu peranti dan input peranti lain

Rangkaian Web adalah Kunci

Untuk menjayakan usaha kami, kami memerlukan sambungan web untuk Raspberry Pi kami. Untuk ini, anda mempunyai alternatif seperti menghubungkan kabel Ethernet (LAN) dengan sistem rumah. Selain itu, sebagai pilihan, jalan yang berguna adalah menggunakan penyambung WiFi. Sebilangan masa untuk ini, anda memerlukan pemandu untuk membuatnya berfungsi. Jadi bersandar pada yang menggunakan Linux dalam penggambaran.

Bekalan Kuasa

Pasangkan kabel Micro USB ke soket kuasa Raspberry Pi. Nyalakan dan kami bersedia untuk pergi.

Sambungan ke Skrin

Kita boleh menghubungkan kabel HDMI dengan skrin lain. Dalam beberapa kes, anda harus pergi ke Raspberry Pi tanpa menghubungkannya ke skrin atau anda mungkin perlu melihat beberapa data dari tempat lain. Secara sedar, ada pendekatan inovatif dan bijak dari segi kewangan untuk melakukannya. Salah satunya menggunakan - SSH (login baris perintah jauh). Anda juga boleh menggunakan perisian PuTTY untuk itu.

Langkah 3: Pengekodan Python untuk Raspberry Pi

Python Coding untuk Raspberry Pi
Python Coding untuk Raspberry Pi

Kod Python untuk Sensor Raspberry Pi dan ADXL345 boleh diakses di Github Repository kami.

Sebelum meneruskan kod, pastikan anda membaca panduan yang diberikan dalam dokumen Readme dan Siapkan Pi Raspberry anda sesuai dengan itu. Ia hanya akan berhenti sebentar untuk melakukan seperti itu.

Accelerometer adalah alat yang mengukur pecutan yang betul; pecutan yang betul tidak sama dengan pecutan koordinat (kadar perubahan halaju). Model akselerator tunggal dan berbilang paksi dapat diakses untuk mengenal pasti magnitud dan arah pecutan yang tepat, sebagai kuantiti vektor, dan dapat digunakan untuk merasakan orientasi, koordinat percepatan, getaran, kejutan, dan jatuh pada media resistif.

Kodnya jelas di hadapan anda dan terdapat dalam struktur paling mudah yang dapat anda bayangkan dan anda semestinya tidak mempunyai masalah.

# Diagihkan dengan lesen kehendak bebas. # Gunakan dengan cara yang anda mahukan, untung atau percuma, dengan syarat ia sesuai dengan lesen karya-karya yang berkaitan. # ADXL345 # Kod ini direka untuk berfungsi dengan Modul Mini ADXL345_I2CS I2C yang tersedia dari dcubestore.com # https://dcubestore.com/product/adxl345-3-axis-accelerometer-13-bit-i%C2%B2c-mini -modul /

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 bus.write_byte_data (0x53, 0x2C, 0x0A) # alamat ADXL345, 0x53 (83) # Pilih daftar kawalan kuasa, 0x2D (45) # 0x08 (08) Auto Sleepable bus.write_byte_data (0x53, 0x2D, 0x08) # ADXL345 address, 0x53 (83) # Select register format data, 0x31 (49) # 0x08 (08) Self test dilumpuhkan, 4-wayar antara muka # Resolusi penuh, Julat = +/- 2g bas.write_byte_data (0x53, 0x31, 0x08)

masa. tidur (0.5)

# Alamat ADXL345, 0x53 (83)

# Baca data kembali dari 0x32 (50), 2 bait # X-Axis LSB, X-Axis MSB data0 = bus.read_byte_data (0x53, 0x32) data1 = bus.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 = bus.read_byte_data (0x53, 0x34) data1 = bus.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 data kembali dari 0x36 (54), 2 bait # Z-Axis LSB, Z-Axis MSB data0 = bus.read_byte_data (0x53, 0x36) data1 = bus.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 print "Pecutan dalam Y-Axis:% d"% yAccl print "Pecutan dalam Z-Axis:% d"% zAccl

Langkah 4: Praktikal Kod

Praktikal Kod
Praktikal Kod

Muat turun (atau git tarik) kod dari Github dan buka di Raspberry Pi.

Jalankan arahan untuk Menyusun dan Memuat naik kod di terminal dan melihat outputnya di Monitor. Setelah beberapa saat, ia akan menunjukkan setiap parameternya. Setelah memastikan bahawa semuanya berfungsi dengan mudah, anda boleh melakukan usaha ini dengan tugas yang lebih besar.

Langkah 5: Aplikasi dan Ciri

ADXL345 adalah akselerometer 3-paksi kecil, tipis, kuasa ultra kecil dengan ukuran resolusi tinggi (13-bit) hingga ± 16 g. ADXL345 sesuai untuk Aplikasi Telefon Bimbit. Ini mengukur Percepatan Graviti Statik dalam Aplikasi Mengesan Kemiringan dan sebagai tambahan Percepatan Dinamik akan datang kerana Gerakan atau Kejutan. Aplikasi lain termasuk seperti Handset, Instrumentasi perubatan, Perisian Permainan dan Penunjuk, Instrumentasi Industri, Peranti Navigasi Peribadi, dan Perlindungan Pemacu Cakera Keras (HDD).

Langkah 6: Kesimpulannya

Semoga tugas ini mendorong percubaan lebih lanjut. Sensor I2C ini sangat fleksibel, murah dan mudah diakses. Oleh kerana sistem ini adalah sistem yang tidak kekal, ada cara menarik untuk meluaskan tugas ini dan memperbaikinya.

Contohnya, Anda boleh memulakan dengan idea Inclinometer menggunakan ADXL345 dan Raspberry Pi. Dalam projek di atas, kami telah menggunakan pengiraan asas. Anda boleh memperbaiki kod untuk nilai G, sudut cerun (atau kemiringan), ketinggian atau kemurungan objek berkenaan dengan graviti. Kemudian anda boleh memeriksa pilihan pendahuluan seperti sudut putaran untuk gulungan (paksi depan ke belakang, X), nada (paksi sisi ke sisi, Y) dan menguap (paksi menegak, Z). Pecut ini memaparkan 3-D G-Forces. Oleh itu, anda dapat menggunakan sensor ini dengan pelbagai cara yang dapat anda pertimbangkan.

Untuk keselesaan anda, kami mempunyai latihan pengajaran video yang menarik di YouTube yang dapat membantu siasatan anda. Percayalah usaha ini mendorong penerokaan lebih lanjut. Terus renungkan! Perlu diingat untuk mencari kerana semakin banyak yang terus muncul.

Disyorkan: