Daftar Isi:
- Langkah 1: Perangkat Keras Yang Dibutuhkan:
- Langkah 2: Sambungan Perangkat Keras:
- Langkah 3: Kode Arduino untuk Mengukur Intensitas Medan Magnet:
- Langkah 4: Aplikasi:
Video: Pengukuran Medan Magnet Menggunakan HMC5883 dan Arduino Nano: 4 Langkah
2024 Pengarang: John Day | [email protected]. Terakhir diubah: 2024-01-30 09:54
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, kami akan menjelaskan cara kerja HMC5883 secara detail dengan Arduino nano.
Langkah 1: Perangkat Keras Yang Dibutuhkan:
Bahan yang kami butuhkan untuk mencapai tujuan kami meliputi komponen perangkat keras berikut:
1. HMC5883
2. Arduino Nano
3. Kabel I2C
4. Perisai I2C Untuk Arduino Nano
Langkah 2: 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:
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 Arduino untuk Mengukur Intensitas Medan Magnet:
Mari kita mulai dengan kode Arduino sekarang.
Saat menggunakan modul sensor dengan Arduino, kami menyertakan perpustakaan Wire.h. Pustaka "Wire" berisi fungsi-fungsi yang memfasilitasi komunikasi i2c antara sensor dan papan Arduino.
Seluruh kode Arduino diberikan di bawah ini untuk kenyamanan pengguna:
#termasuk
// Alamat I2C HMC5883 adalah 0x1E(30)
#define Addr 0x1E
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 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
int xMag = ((data[0] * 256) + data[1]);
int zMag = ((data[2] * 256) + data[3]);
int yMag = ((data[4] * 256) + data[5]);
// Keluarkan data ke monitor serial
Serial.print("Medan Magnet pada Sumbu X: ");
Serial.println(xMag);
Serial.print("Medan Magnet pada Sumbu Y: ");
Serial.println(yMag);
Serial.print("Medan Magnet pada Sumbu Z: ");
Serial.println(zMag);
penundaan (300);
}
Dalam wire library Wire.write() dan Wire.read() digunakan untuk menulis perintah dan membaca output sensor. Bagian kode berikut mengilustrasikan pembacaan keluaran sensor.
// Membaca 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(); }
Serial.print() dan Serial.println() digunakan untuk menampilkan output dari sensor pada serial monitor Arduino IDE.
Output dari sensor ditunjukkan pada gambar di atas.
Langkah 4: 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:
Pengukuran Medan Magnet Menggunakan HMC5883 dan Raspberry Pi: 4 Langkah
Pengukuran Medan Magnet Menggunakan HMC5883 dan Raspberry Pi: HMC5883 adalah kompas digital yang dirancang untuk penginderaan magnet 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
Pengukuran Medan Magnet Menggunakan HMC5883 dan Foton Partikel: 4 Langkah
Pengukuran Medan Magnet Menggunakan HMC5883 dan Foton Partikel: HMC5883 adalah kompas digital yang dirancang untuk penginderaan medan magnet 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
Pengukuran Kelembaban dan Suhu Menggunakan HIH6130 dan Arduino Nano: 4 Langkah
Pengukuran Kelembaban dan Suhu Menggunakan HIH6130 dan Arduino Nano: HIH6130 merupakan sensor kelembaban dan suhu dengan output digital. Sensor ini memberikan tingkat akurasi ±4% RH. Dengan stabilitas jangka panjang terdepan di industri, I2C digital dengan kompensasi suhu sejati, keandalan terdepan di industri, Efisiensi energi
Pengukuran Suhu dan Kelembaban Menggunakan HDC1000 dan Arduino Nano: 4 Langkah
Pengukuran Suhu dan Kelembaban Menggunakan HDC1000 dan Arduino Nano: HDC1000 adalah sensor kelembaban digital dengan sensor suhu terintegrasi yang memberikan akurasi pengukuran yang sangat baik pada daya yang sangat rendah. Perangkat mengukur kelembaban berdasarkan sensor kapasitif baru. Sensor kelembaban dan suhu adalah fak
Pengukuran Kelembaban dan Suhu Menggunakan HTS221 dan Arduino Nano: 4 Langkah
Pengukuran Kelembaban dan Suhu Menggunakan HTS221 dan Arduino Nano: HTS221 adalah sensor digital kapasitif ultra kompak untuk kelembaban dan suhu relatif. Ini mencakup elemen penginderaan dan sirkuit terintegrasi khusus aplikasi sinyal campuran (ASIC) untuk memberikan informasi pengukuran melalui serial digital