Daftar Isi:

Pengukuran Percepatan Menggunakan H3LIS331DL dan Arduino Nano: 4 Langkah
Pengukuran Percepatan Menggunakan H3LIS331DL dan Arduino Nano: 4 Langkah

Video: Pengukuran Percepatan Menggunakan H3LIS331DL dan Arduino Nano: 4 Langkah

Video: Pengukuran Percepatan Menggunakan H3LIS331DL dan Arduino Nano: 4 Langkah
Video: SparkFun 9DoF Sensor Stick 2024, Juli
Anonim
Image
Image

H3LIS331DL, adalah akselerometer linier 3-sumbu kinerja tinggi berdaya rendah milik keluarga "nano", dengan antarmuka serial I²C digital. H3LIS331DL memiliki skala penuh yang dapat dipilih pengguna ±100g/±200g/±400g dan mampu mengukur akselerasi dengan kecepatan data keluaran dari 0,5 Hz hingga 1 kHz. H3LIS331DL dijamin beroperasi pada rentang suhu yang diperpanjang dari -40 °C hingga +85 °C.

Dalam tutorial ini kita akan mendemonstrasikan antarmuka H3LIS331DL dengan Arduino Nano.

Langkah 1: Perangkat Keras Yang Dibutuhkan:

Perangkat Keras yang Dibutuhkan
Perangkat Keras yang Dibutuhkan
Perangkat Keras yang Dibutuhkan
Perangkat Keras yang Dibutuhkan
Perangkat Keras yang Dibutuhkan
Perangkat Keras yang Dibutuhkan

Bahan yang kami butuhkan untuk mencapai tujuan kami meliputi komponen perangkat keras berikut:

1. H3LIS331DL

2. Arduino Nano

3. Kabel I2C

4. Perisai I2C untuk Arduino Nano

Langkah 2: Sambungan Perangkat Keras:

Sambungan Perangkat Keras
Sambungan Perangkat Keras
Sambungan Perangkat Keras
Sambungan Perangkat Keras

Bagian hookup perangkat keras pada dasarnya menjelaskan koneksi kabel yang diperlukan antara sensor dan arduino nano. Memastikan koneksi yang benar adalah kebutuhan dasar saat bekerja pada sistem apa pun untuk output yang diinginkan. Jadi, koneksi yang diperlukan adalah sebagai berikut:

H3LIS331DL akan bekerja melalui I2C. Berikut adalah contoh diagram pengkabelan, yang menunjukkan cara memasang setiap antarmuka sensor.

Out-of-the-box, papan dikonfigurasi untuk antarmuka I2C, karena itu kami sarankan menggunakan hookup ini jika Anda agnostik. Yang Anda butuhkan hanyalah empat kabel!

Hanya empat koneksi yang diperlukan pin Vcc, Gnd, SCL dan SDA dan ini terhubung dengan bantuan kabel I2C.

Koneksi ini ditunjukkan pada gambar di atas.

Langkah 3: Kode Arduino untuk Pengukuran Akselerasi:

Kode Arduino untuk Pengukuran Akselerasi
Kode Arduino untuk Pengukuran Akselerasi
Kode Arduino untuk Pengukuran Akselerasi
Kode Arduino untuk Pengukuran Akselerasi

Mari kita mulai dengan kode arduino sekarang.

Saat menggunakan modul sensor dengan arduino, kami menyertakan pustaka Wire.h. Pustaka "Wire" berisi fungsi-fungsi yang memfasilitasi komunikasi i2c antara sensor dan board arduino.

Seluruh kode arduino diberikan di bawah ini untuk kenyamanan pengguna:

#termasuk

// Alamat H3LIS331DL I2C adalah 0x18(24)

#tentukan Addr 0x18

batalkan pengaturan()

{

// Inisialisasi komunikasi I2C sebagai MASTER

Kawat.mulai();

// Inisialisasi Komunikasi Serial, setel baud rate = 9600

Serial.begin(9600);

// Mulai Transmisi I2C

Wire.beginTransmission(Addr);

// Pilih register kontrol 1

Kawat.tulis (0x20);

// Aktifkan sumbu X, Y, Z, mode daya aktif, kecepatan keluaran data 50Hz

Kawat.tulis (0x27);

// Hentikan Transmisi I2C

Kawat.endTransmisi();

// Mulai Transmisi I2C

Wire.beginTransmission(Addr);

// Pilih register kontrol 4

Kawat.tulis (0x23);

// Setel skala penuh, +/- 100g, pembaruan berkelanjutan

Kawat.tulis (0x00);

// Hentikan Transmisi I2C

Kawat.endTransmisi();

penundaan (300);

}

lingkaran kosong()

{

data int yang tidak ditandatangani[6];

untuk(int i = 0; i < 6; i++)

{

// Mulai Transmisi I2C

Wire.beginTransmission(Addr);

// Pilih daftar data

Wire.write((40+i));

// Hentikan Transmisi I2C

Kawat.endTransmisi();

// Meminta 1 byte data

Wire.requestFrom(Addr, 1);

// Baca 6 byte data

// xAccl lsb, xAccl msb, yAccl lsb, yAccl msb, zAccl lsb, zAccl msb

if(Wire.available() == 1)

{

data = Wire.read();

}

}

penundaan (300);

// Konversi data

int xAccl = ((data[1] * 256) + data[0]);

int yAccl = ((data[3] * 256) + data[2]);

int zAccl = ((data[5] * 256) + data[4]);

// Keluarkan data ke monitor serial

Serial.print("Percepatan pada Sumbu X: ");

Serial.println(xAccl);

Serial.print("Percepatan pada Sumbu Y: ");

Serial.println(yAccl);

Serial.print("Percepatan pada Sumbu Z: ");

Serial.println(zAccl);

penundaan (300);

}

Yang perlu Anda lakukan adalah membakar kode di arduino dan memeriksa pembacaan Anda pada port serial. Outputnya ditunjukkan pada gambar di atas.

Langkah 4: Aplikasi:

Aplikasi
Aplikasi

Akselerometer seperti H3LIS331DL kebanyakan menemukan aplikasinya dalam permainan dan perpindahan profil tampilan. Modul sensor ini juga digunakan dalam sistem manajemen daya canggih untuk aplikasi seluler. H3LIS331DL adalah sensor akselerasi digital triaksial yang digabungkan dengan pengontrol interupsi yang dipicu gerakan on-chip yang cerdas.

Direkomendasikan: