Daftar Isi:

Pengukuran Medan Magnet Menggunakan HMC5883 dan Foton Partikel: 4 Langkah
Pengukuran Medan Magnet Menggunakan HMC5883 dan Foton Partikel: 4 Langkah

Video: Pengukuran Medan Magnet Menggunakan HMC5883 dan Foton Partikel: 4 Langkah

Video: Pengukuran Medan Magnet Menggunakan HMC5883 dan Foton Partikel: 4 Langkah
Video: Arduino magnetometer sensor gy-271 qmc5883l dan gy-273 hmc5883l sensor compas dan arah mata angin 2024, November
Anonim
Image
Image

HMC5883 adalah kompas digital yang dirancang untuk penginderaan magnetik medan rendah. Perangkat ini memiliki rentang medan magnet yang luas +/-8 Oe dan tingkat output 160 Hz. Sensor HMC5883 mencakup driver strap degaussing otomatis, pembatalan offset, dan ADC 12-bit yang memungkinkan akurasi arah kompas 1° hingga 2°. Semua Modul Mini I²C dirancang untuk beroperasi pada 5VDC.

Dalam tutorial ini, kita akan menjelaskan detail kerja HMC5883 dengan partikel foton. Partikel foton adalah papan yang memfasilitasi pengiriman dan penerimaan data dari situs web, yang mendukung fitur paling dasar dari Internet Of Things (IoT).

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. HMC5883

2. Foton Partikel

3. Kabel I2C

4. Perisai I2C untuk Foton Partikel

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 foton 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:

HMC5883 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 untuk Mengukur Intensitas Medan Magnet:

Kode untuk Mengukur Intensitas Medan Magnet
Kode untuk Mengukur Intensitas Medan Magnet

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 HMC5883 adalah 0x1E(30)

#define Addr 0x1E

int xMag = 0, yMag = 0, zMag = 0;

batalkan pengaturan()

{

// Tetapkan variabel

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

Particle.variable("xMag", xMag);

Particle.variable("yMag", yMag);

Particle.variable("zMag", zMag);

// Inisialisasi komunikasi I2C sebagai MASTER

Kawat.mulai();

// Inisialisasi Komunikasi Serial, setel baud rate = 9600

Serial.begin(9600);

// Mulai Transmisi I2C

Wire.beginTransmission(Addr);

// Pilih konfigurasikan register A

Kawat.tulis (0x00);

// Atur konfigurasi pengukuran normal, tingkat keluaran data = 0,75Hz

Kawat.tulis (0x60);

// Hentikan Transmisi I2C

Kawat.endTransmisi();

// Mulai Transmisi I2C

Wire.beginTransmission(Addr);

// Pilih Mode register

Kawat.tulis (0x02);

// Tetapkan pengukuran berkelanjutan

Kawat.tulis (0x00);

// 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 (0x03);

// Hentikan Transmisi I2C

Kawat.endTransmisi();

// Meminta 6 byte data

Wire.requestFrom(Addr, 6);

// Baca 6 byte data

// xMag msb, xMag lsb, zMag msb, zMag lsb, yMag msb, yMag lsb

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

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

jika (xMag > 32767)

{

xMag -= 65536;

}

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

jika(zMag > 32767)

{

zMag -= 65536;

}

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

jika(yMag > 32767)

{

yMag -= 65536;

}

// Keluarkan data ke dasbor

Particle.publish("Medan Magnet pada Sumbu X: ", String(xMag));

penundaan (1000);

Particle.publish("Medan Magnet pada Sumbu Y: ", String(yMag));

penundaan (1000);

Particle.publish("Medan Magnet pada Sumbu Z: ", String(zMag));

penundaan (1000);

}

Fungsi Particle.variable() membuat variabel untuk menyimpan output sensor dan fungsi Particle.publish() menampilkan output di dasbor situs.

Output sensor ditunjukkan pada gambar di atas untuk referensi Anda.

Langkah 4: Aplikasi:

Aplikasi
Aplikasi

HMC5883 adalah modul multi-chip pemasangan permukaan yang dirancang untuk penginderaan magnet medan rendah dengan antarmuka digital untuk aplikasi seperti kompas dan magnetometri berbiaya rendah. Akurasi dan presisi tingkat tinggi satu hingga dua derajat memungkinkan Navigasi Pejalan Kaki dan Aplikasi LBS.

Direkomendasikan: