Anda di halaman 1dari 6

1

LAPORAN PRAKTIKUM

SENSOR KOMPAS HMC5883L

Disusun untuk Memenuhi Tugas Laporan Mata kuliah Sensor dan Tranduser
Dibimbing oleh Bapak Ilham Ari Elbaith Zaeni, S.T.,M.T.,Ph.D.

Oleh:
Ahmad Fuadi
210534615639
S1 PTE 2021 OFF A

UNIVERSITAS NEGERI MALANG


FAKULTAS TEKNIK
DEPARTEMEN TEKNIK ELEKTRO
PRODI S1 PENDIDIKAN TEKNIK ELEKTRO
NOVEMBER 2022
2
JOBSHEET V
Sensor Kompas
TUJUAN

• Menjelaskan rangkaian Sensor Kompas.


• Mempraktekkan Rangkaian Sensor Kompas.

Pengertian Sensor Kompas dan Penggunaannya

HMC5883L menggunakan sensor magnetoresistive yang disusun dalam rangkaian


jembatan, yang terbuat dari bahan nikel-besi (Ni-Fe magnetic film). Hambatan listriknya
bervariasi dengan perubahan medan magnet yang diterapkan. Pergerakan koresponden
material nikel-besi di ruang angkasa mengalami medan magnet bumi yang mengubah
resistansi material, dan karenanya kita mendapatkan perubahan tegangan yang dihasilkan
melintasi jembatan. Perubahan tegangan ini digunakan untuk mendapatkan arah medan
magnet di ruang angkasa.

Breakout magnetometer 3-sumbu ini untungnya sangat mudah digunakan. Hanya


membutuhkan 2 pin daya dan 2 pin data. Kami menyarankan menggunakan Arduino untuk
memulai.
• Hubungkan VIN ke pin 5V pada Arduino. Jika Anda memiliki logika 3V Arduino,
hubungkan VIN ke 3V sebagai gantinya
• Hubungkan GND ke pin ground pada Arduino
• Hubungkan pin SDA pada breakout ke pin SDA data I2C pada Arduino Anda. Pada
Arduino berbasis UNO & '328, ini juga dikenal sebagai A4, pada Mega juga dikenal
sebagai digital 20 dan pada Leonardo/Micro, digital 2
• Hubungkan pin SCL pada breakout ke pin SCL jam I2C pada Arduino Anda. Pada Arduino
berbasis UNO & '328, ini juga dikenal sebagai A5, pada Mega juga dikenal sebagai
digital 21 dan pada Leonardo/Micro, digital 3

ALAT DAN BAHAN YANG DIGUNAKAN

• 1 set PC/Laptop yang sudah berisi program Arduino IDE


• 1 buah Arduino Board
• 1 buah kabel USB
• 1 set kabel jumper
• 1 buah Sensor Kompas HMC5883L
• 1 buah protoboard
3
PROSEDUR PERCOBAAN 1 (Instalasi Library)

Lakukan Instalasi Library melalui salah satu cara berikut ini


1. Menggunakan Library Manager
a. Buka Arduino library manager:

b. Cari library Adafruit Sensor dan install

c. Cari library Adafruit HMC5883 dan install

2. Download Library
a. Unduh library HMC5883L secara manual di github melalui tautan berikut:
https://github.com/adafruit/Adafruit_HMC5883_Unified .
b. Buka ArduinoIDE.
c. Pada Arduino IDE, Buka Sketch ➔ Include Library ➔ Add ZIP Library.
4
d. Pilih file .zip yang diunduh, lalu perpustakaan akan diinstal.
e. Restart Arduino IDE

PROSEDUR PERCOBAAN 2 (Membaca Arah Kompas)


1. Rangkailah peralatan yang diperlukan seperti pada gambar di bawah. Hubungkan
Arduino board dengan Sensor Kompas dan rangkaian lainnya.

a. pin VIN ke 5V pada Arduino


b. pin GND ke pin GND pada Arduino
c. pin SDA ke pin A4
d. pin SCL ke pin A5
2. Buka program Arduino IDE
3. Buat file baru dengan cara klik File>>New, atau klik icon Create a New File or Project.
4. Ketiklah program berikut ini
#include <Wire.h>
#include <Adafruit_Sensor.h>
#include <Adafruit_HMC5883_U.h>

/* Assign a unique ID to this sensor at the same time */


Adafruit_HMC5883_Unified mag = Adafruit_HMC5883_Unified(12345);

void displaySensorDetails(void)
{
sensor_t sensor;
mag.getSensor(&sensor);
Serial.println("------------------------------------");
Serial.print ("Sensor: "); Serial.println(sensor.name);
Serial.print ("Driver Ver: "); Serial.println(sensor.version);
Serial.print ("Unique ID: "); Serial.println(sensor.sensor_id);
Serial.print ("Max Value: "); Serial.print(sensor.max_value); Serial.println(" uT");
Serial.print ("Min Value: "); Serial.print(sensor.min_value); Serial.println(" uT");
Serial.print ("Resolution: "); Serial.print(sensor.resolution); Serial.println(" uT");
Serial.println("------------------------------------");
Serial.println("");
5
delay(500);
}

void setup(void)
{
Serial.begin(9600);
Serial.println("HMC5883 Magnetometer Test"); Serial.println("");

/* Initialise the sensor */


if(!mag.begin())
{
/* There was a problem detecting the HMC5883 ... check your connections */
Serial.println("Ooops, no HMC5883 detected ... Check your wiring!");
while(1);
}

/* Display some basic information on this sensor */


displaySensorDetails();
}

void loop(void)
{
/* Get a new sensor event */
sensors_event_t event;
mag.getEvent(&event);

/* Display the results (magnetic vector values are in micro-Tesla (uT)) */


Serial.print("X: "); Serial.print(event.magnetic.x); Serial.print(" ");
Serial.print("Y: "); Serial.print(event.magnetic.y); Serial.print(" ");
Serial.print("Z: "); Serial.print(event.magnetic.z); Serial.print(" ");Serial.println("uT");

// Hold the module so that Z is pointing 'up' and you can measure the heading with x&y
// Calculate heading when the magnetometer is level, then correct for signs of axis.
float heading = atan2(event.magnetic.y, event.magnetic.x);

// Once you have your heading, you must then add your 'Declination Angle', which is the
'Error' of the magnetic field in your location.
// Find yours here: http://www.magnetic-declination.com/
// Mine is: -13* 2' W, which is ~13 Degrees, or (which we need) 0.22 radians
// If you cannot find your Declination, comment out these two lines, your compass will
be slightly off.
float declinationAngle = 0.22;
heading += declinationAngle;

// Correct for when signs are reversed.


if(heading < 0)
heading += 2*PI;

// Check for wrap due to addition of declination.


6
if(heading > 2*PI)
heading -= 2*PI;

// Convert radians to degrees for readability.


float headingDegrees = heading * 180/M_PI;
Serial.print("Heading (degrees): "); Serial.println(headingDegrees);
delay(500);
}
5. Uploadlah program yang sudah dibuat ke Arduino
6. Bukalah Aplikasi Kompas pada Smartphone anda.
7. Arahkan sumbu X sensor HMC5883L ke arah yang ditunjukkan pada tabel.
8. Catatlah hasilnya pada tabel berikut.
Arah Nilai sensor Arah Nilai sensor
No No
(Degree) Kompas (Degree) Kompas
1 0 0,03 16 180 180,02
2 0 0,83 17 180 181,49
3 0 0,46 18 180 179.56
4 45 45,84 19 225 225,91
5 45 45,75 20 225 225,64
6 45 45,55 21 225 225,29
7 90 90,41 22 270 270,34
8 90 90,27 23 270 270,87
9 90 89,17 24 270 270,20
10 135 135,37 25 315 315,03
11 135 135,02 26 315 315,64
12 135 135,70 27 315 315,21
13 180 180,64 28 360 359,23
14 180 180,12 29 360 0,63
15 180 180,20 30 360 359,97

9. Buatlah Analisa dari data di atas


Dari hasil pecobaan yang dilakukan oleh kelompok kami, bisa diketahui bahwa
nilai dari tabel dengan nilai hasil pembacaan sensor memiliki perbedaan. Akan tetapi,
perbedaan kedua nilai tersebut tidak jauh berbeda.

Anda mungkin juga menyukai