Daftar Isi:

Antarmuka Sensor Giroskop 3-Sumbu BMG160 Dengan Partikel: 5 Langkah
Antarmuka Sensor Giroskop 3-Sumbu BMG160 Dengan Partikel: 5 Langkah

Video: Antarmuka Sensor Giroskop 3-Sumbu BMG160 Dengan Partikel: 5 Langkah

Video: Antarmuka Sensor Giroskop 3-Sumbu BMG160 Dengan Partikel: 5 Langkah
Video: Со щитом или на щите! Австралия с VEEM Marine 2024, Juli
Anonim
Image
Image

Di dunia saat ini, lebih dari separuh remaja dan anak-anak menyukai game dan semua orang yang menyukainya, terpesona oleh aspek teknis game, mengetahui pentingnya penginderaan gerak dalam domain ini. Kami juga kagum dengan hal yang sama dan hanya untuk membawanya ke papan, kami berpikir untuk bekerja pada sensor giroskop yang dapat mengukur laju sudut objek apa pun. Jadi, sensor yang kami pakai untuk menangani tugas tersebut adalah BMG160. BMG160 adalah sensor giroskop 16-bit, digital, triaksial, yang dapat mengukur laju sudut dalam tiga dimensi ruang yang tegak lurus.

Dalam tutorial ini, kita akan mendemonstrasikan cara kerja BMG160 dengan Particle Photon.

Perangkat keras yang Anda perlukan untuk tujuan ini adalah sebagai berikut:

1. BMG160

2. Foton partikel

3. Kabel I2C

4. Perisai I2C untuk Foton Partikel

Langkah 1: Ikhtisar BMG160:

Apa yang kau butuhkan..!!
Apa yang kau butuhkan..!!

Pertama-tama kami ingin membiasakan Anda dengan fitur dasar modul sensor yaitu BMG160 dan protokol komunikasi yang digunakannya.

BMG160 pada dasarnya adalah sensor giroskop 16-bit, digital, triaksial, yang dapat mengukur kecepatan sudut. Hal ini mampu menghitung tingkat sudut dalam tiga dimensi ruang tegak lurus, sumbu x-, y- dan z, dan memberikan sinyal output yang sesuai. Itu dapat berkomunikasi dengan papan raspberry pi menggunakan protokol komunikasi I2C. Modul khusus ini dirancang untuk memenuhi persyaratan untuk aplikasi konsumen serta keperluan industri.

Protokol komunikasi tempat sensor bekerja adalah I2C. I2C adalah singkatan dari inter-integrated circuit. Ini adalah protokol komunikasi di mana komunikasi terjadi melalui jalur SDA (data serial) dan SCL (jam serial). Ini memungkinkan menghubungkan beberapa perangkat secara bersamaan. Ini adalah salah satu protokol komunikasi yang paling sederhana dan paling efisien.

Langkah 2: Yang Anda Butuhkan.

Apa yang kau butuhkan..!!
Apa yang kau butuhkan..!!
Apa yang kau butuhkan..!!
Apa yang kau butuhkan..!!
Apa yang kau butuhkan..!!
Apa yang kau butuhkan..!!

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

1. BMG160

2. Foton Partikel

3. Kabel I2C

4. Perisai I2C Untuk Foton Partikel

Langkah 3: 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 Partikel. Memastikan koneksi yang benar adalah kebutuhan dasar saat bekerja pada sistem apa pun untuk output yang diinginkan. Jadi, koneksi yang diperlukan adalah sebagai berikut:

BMG160 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 4: Kode Partikel Pengukuran Giroskop 3-Sumbu:

Kode Partikel Pengukuran Giroskop 3-Sumbu
Kode Partikel Pengukuran Giroskop 3-Sumbu
Kode Partikel Pengukuran Giroskop 3-Sumbu
Kode Partikel Pengukuran Giroskop 3-Sumbu

Mari kita mulai dengan kode partikel sekarang.

Saat menggunakan modul sensor dengan arduino, kami menyertakan library application.h dan spark_wiring_i2c.h. Pustaka "application.h" dan spark_wiring_i2c.h berisi fungsi-fungsi yang memfasilitasi komunikasi i2c antara sensor dan partikel.

Seluruh kode partikel diberikan di bawah ini untuk kenyamanan pengguna:

#termasuk

#termasuk

// Alamat I2C BMG160 adalah 0x68(104)

#definisikan Addr 0x68

int xGyro = 0, yGyro = 0, zGyro = 0;

batalkan pengaturan()

{

// Tetapkan variabel

Particle.variable("i2cdevice", "BMG160");

Particle.variable("xGyro", xGyro);

Particle.variable("yGyro", yGyro);

Particle.variable("zGyro", zGyro);

// Inisialisasi komunikasi I2C sebagai MASTER

Kawat.mulai();

// Inisialisasi Komunikasi Serial

Serial.begin(9600);

// Mulai Transmisi I2C

Wire.beginTransmission(Addr);

// Pilih Daftar rentang

Wire.write(0x0F);

// Konfigurasikan skala penuh 2000 dps

Kawat.tulis (0x80);

// Hentikan Transmisi I2C

Kawat.endTransmisi();

// Mulai Transmisi I2C

Wire.beginTransmission(Addr);

// Pilih daftar Bandwidth

Kawat.tulis (0x10);

// Setel Bandwidth = 200 Hz

Kawat.tulis (0x04);

// Hentikan Transmisi I2C

Kawat.endTransmisi();

penundaan (300);

}

lingkaran kosong()

{

data int yang tidak ditandatangani[6];

// Mulai Transmisi I2C

Wire.beginTransmission(Addr);

// Pilih daftar data

Kawat.tulis (0x02);

// Hentikan Transmisi I2C

Kawat.endTransmisi();

// Meminta 6 byte data

Wire.requestFrom(Addr, 6);

// Baca 6 byte data

// xGyro lsb, xGyro msb, yGyro lsb, yGyro msb, zGyro lsb, zGyro msb

if(Wire.available() == 6)

{

data[0] = Wire.read();

data[1] = Kawat.baca();

data[2] = Wire.read();

data[3] = Wire.read();

data[4] = Kawat.baca();

data[5] = Wire.read();

}

penundaan (300);

// Konversi data

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

jika (xGyro > 32767)

{

xGyro -= 65536;

}

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

jika (yGyro > 32767)

{

yGyro -= 65536;

}

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

jika (zGyro > 32767)

{

zGyro -= 65536;

}

// Keluarkan data ke dasbor

Particle.publish("Sumbu X dari Rotasi:", String(xGyro));

Particle.publish("Sumbu Rotasi Y:", String(yGyro));

Particle.publish("Sumbu Z dari Rotasi:", String(zGyro));

penundaan (1000);

}

Langkah 5: Aplikasi:

Aplikasi
Aplikasi

BMG160 memiliki beragam jumlah aplikasi di perangkat seperti ponsel, perangkat antarmuka mesin manusia. Modul sensor ini telah dirancang untuk memenuhi persyaratan untuk aplikasi konsumen seperti stabilisasi gambar (DSC dan ponsel kamera), game, dan perangkat penunjuk. Ini juga digunakan dalam sistem yang memerlukan pengenalan gerakan dan sistem yang digunakan dalam navigasi dalam ruangan.

Direkomendasikan: