Cara Menggunakan Kompas QMC5883P
Finished 0 updates

Cara Menggunakan Kompas QMC5883P

Link copied
nhinovasi nhinovasi Project owner
240 Views Comments 0

Quick build reference

The useful details collected from this project without turning every update into a formal report.

What this project makes

Perkongsikan cara menggunakan compass sensor seperti HMC5883L, QMC5883L dan QMC5883P

Overview

Pengenalan

Dalam perkongsian kali ini, saya akan kongsikan cara menggunakan compass sensor seperti HMC5883L, QMC5883L dan QMC5883P. Sensor ini merupakan salah satu komponen yang sering digunakan dalam projek elektronik dan projek hobi, terutamanya apabila digabungkan bersama mikropengawal seperti Arduino.

HMC5883L, QMC5883L dan QMC5883P digunakan untuk mengesan medan magnet bumi dan mendapatkan arah atau heading seperti Utara, Timur, Selatan dan Barat.

Dalam tutorial ini, saya akan bahagikan penerangan kepada 2 bahagian:

  1. Program Arduino Pro Micro & compass sensor
  2. Memahami cara compass sensor berfungsi.

Sebelum kita mulakan, sekiranya terdapat sebarang kesalahan atau ketidaktepatan dalam maklumat yang saya kongsi, sila komen di ruangan komen di bawah.

Program Arduino Pro Micro & Compass Sensor

Antara sensor yang biasa digunakan ialah:

  1. HMC5883L
  2. QMC5883L
  3. QMC5883P

Walaupun ketiga-tiga sensor ini mempunyai fungsi yang hampir sama, terdapat beberapa perbezaan dari segi komunikasi, alamat (address) I2C, register dan library yang digunakan.

Seperti jadual register dari datasheet di bawah, kita boleh lihat bahawa register untuk HMC5883L, QMC5883L dan QMC5883P tidak sama, jadi library yang akan digunakan jugak tidak akan sama kecuali library itu boleh support ketiga-tiga sensor ini.

Jadual register dari datasheet HMC5883L, QMC5883L dan QMC5883P

Cara untuk membezakan antara HMC5883L, QMC5883L dan QMC5883P adalah dengan membaca alamat I2C sensor menggunakan I2C Scanner.

Di bawah adalah alamat (address) I2C bagi setiap sensor:

  • HMC5883L : 0x1E
  • QMC5883L : 0x0D
  • QMC5883P : 0x2C

Komponen Yang Diperlukan

Untuk tutorial ini, saya hanya menggunakan QMC5883P. Oleh itu, komponen yang diperlukan adalah seperti berikut:

  • Arduino / mikropengawal
  • Modul QMC5883P
  • Kabel jumper
  • Breadboard

Langkah 1: Sambungan Litar

Compass sensor biasanya menggunakan komunikasi I2C untuk berkomunikasi dengan mikropengawal.

Sambungan asas adalah seperti berikut:

Sambungan QMC5883P bersama Arduino Pro Micro

Langkah 2: Memastikan alamat (address) I2C

Untuk memastikan alamat (address) I2C bagi modul QMC5883P adalah 0x2C, kita perlu menggunakan kod I2C Scanner untuk mengimbas dan mendapatkan alamat modul yang terdapat pada I2C bus.

Salin kod I2C di bawah:

Rujuk fial: I2CScanner.ion

Kod I2C Scanner digunakan untuk mengimbas peranti yang terdapat pada I2C bus dan memaparkan alamat I2C yang dikesan pada Serial Monitor.

Jika modul QMC5883P berjaya dikesan, alamat yang akan dipaparkan ialah:

Alamat I2C '0x2C'

Jika alamat 0x2C tidak dikesan, sila semak semula sambungan I2C dan pastikan modul QMC5883P disambungkan dengan betul.

Tiada peranti I2C dikesan pada I2C bus

Jika alamat I2C yang dikesan tidak sama, kemungkinan compass sensor yang digunakan bukan QMC5883P. Antara sensor yang biasa digunakan ialah:

  • HMC5883L : 0x1E
  • QMC5883L : 0x0D

Langkah 3: Download library

Setelah kita mengenal pasti IC yang digunakan oleh compass sensor, barulah kita boleh mencari library yang sesuai untuk digunakan.

Untuk tutorial ini, disebabkan compass sensor yang saya punya adalah QMC5883P. Oleh itu, saya akan menggunakan Adafruit QMC5883P Library:

Adafruit QMC5883P Library

Jika IC yang digunakan ialah HMC5883L, anda boleh download Adafruit HMC5883 Unified:

Adafruit HMC5883 Unified

Langkah 4: Copy contoh kod QMC5883P di bawah dan paste ke dalam projek Arduino IDE.

Rujuk fail: qmc5883p.ino

Jika IC korang ialah HMC5883L, korang boleh mengunakan example code dari Adafruit HMC5883 Unified:

File > Examples > Adafruit HMC5883 Unified > magsensor

magsensor

Data Daripada Sensor

Data dari Serial Monitor

Compass sensor akan memberikan bacaan medan magnet pada beberapa paksi:

  • X-axis
  • Y-axis
  • Z-axis

Contoh bacaan:

X = 0.166
Y = 0.070
Z = -0.135

Nilai tersebut boleh digunakan untuk mendapatkan arah heading sensor.

Heading: 337.2°

Memahami cara compass sensor berfungsi.

Apa Itu Compass Sensor?

Compass sensor atau magnetometer ialah sensor yang digunakan untuk mengukur medan magnet di sekelilingnya. Dengan menggunakan medan magnet bumi sebagai rujukan.

Pengiraan Heading

Secara asasnya, arah kompas boleh dikira menggunakan bacaan paksi X dan Y.

Formula asas: heading = atan2(y, x);

Nilai yang diperoleh daripada fungsi atan2() perlu ditukar daripada radian kepada darjah:

heading = atan2(y, x) * 180.0 / PI;

Sekiranya nilai yang diperoleh adalah negatif, nilai tersebut boleh diselaraskan kepada julat:

0° – 360°

Jika arah putaran heading terbalik, contohnya sensor dipusing mengikut arah jam tetapi nilai heading semakin berkurang, kita boleh terbalikkan arah pengiraan:

heading = atan2(-y, x) * 180.0 / PI;

Arah Kompas

Nilai heading boleh dipetakan kepada arah kompas seperti berikut:

Jadual heading kompas

Contohnya, jika sensor memberikan bacaan:

Heading = 90°

Maka sensor sedang menghala ke arah Timur (E).

Magnetic Declination

Bacaan daripada magnetometer menunjukkan arah berdasarkan medan magnet bumi. Arah Utara magnetik tidak semestinya sama dengan Utara sebenar (True North).

Perbezaan ini dikenali sebagai magnetic declination.

Untuk mendapatkan arah yang lebih tepat berdasarkan lokasi, nilai magnetic declination boleh digunakan dalam pengiraan heading.

Contoh: heading = heading + declination;

Nilai declination bergantung pada lokasi dan boleh berubah mengikut masa. Nilai declination boleh diperoleh menggunakan NCEI Geomagnetic Calculators daripada NOAA: NCEI Geomagnetic Calculators

Di bawah ialah link video contoh projek saya yang menggunakan QMC5883P

Part 3: QMC5883P compass sensor | Tactical Watch Project

Rujukkan:

NOAA / NCEI – Magnetic Declination
NCEI Magnetic Declination

Materials & components list

4 items

Materials and components listed by the project owner.

Material / component Brand / model Purpose Quantity
Arduino Pro Micro Arduino mikropengawal 1
QMC5883P QST Kompas 1
Breadboard - Untuk menyambungkan komponen 1
Jumper cable - Untuk menyambungkan komponen 4

Project files

CAD files, drawings, code and other assets shared by the project owner.

2 files
Code / firmware

qmc5883p.ino

1.9 KB
Code / firmware

I2CScanner.ino

743.0 B

Project updates

0 updates
No updates yet.

The project owner has not shared any progress yet.

Use this space for general discussion about the whole project. To discuss a specific update, use the comments on that update.

Project discussion

Founding desktop 3D printer partner: Creality
Scroll to Top