Anda di halaman 1dari 16

  noosite.

com
Baru saja dioptimalkan
Lihat yang asli

Download Now No Kindle device


required

Search

Tahukah Kamu?

Archlinux merupakan distro independent artinya distro yang dibangun dari awal (from scratch) hingga terbentuknya
Archlinux ini dengan sistem rolling-release.

Tahukah Kamu?

Arduino adalah pengendali mikro single-board yang bersifat open-source, dirancang untuk memudahkan penggunaan
elektronik dalam berbagai bidang. Menggunakan prosesor Atmel AVR dan memiliki software sendiri.
Ctrip -
Hotels,Flights,Trains
GRATIS
(3.945)
Up to 70% Off
Find Awesome Hotel Deals App deals - Up to
70% off

Unduh

[TUTORIAL ARDUINO] CARA MENGGUNAKAN SENSOR GY-


521 ACCELEROMETER DAN GYROMETER 6DOF PADA
ARDUINO
Noosite – Baiklah sebelumnya saya akan menjelaskan sedikit tentang GY-521. GY-521 merupakan sebuah modul
sensor yang di dalamnya sudah terdapat chip MPU6050. MPU6050 ini berfungsi sebagai sensor Accelerometer
dan Gyrometer yang dapat digunakan secara bersamaa. untuk lebih jelas tentang MPU6050 bisa baca langsung
di datasheet-nya yang bisa sahabat semua cari di google ya.

Baiklah kita langsung saja ke tahap ujicoba alat :

Alat dan Bahan :

Arduino (terserah tipe berapa dalam kasus ini saya mengunakan Nano V3.0 dari gravitech.us).
Sensor GY-521 modul MPU6050 Accelerometer and Gyrometer 6 DOF.
LCD 16×2 untuk menampilkan nilai sensor (kalau tidak ada tidak masalah bisa menggunakan
serial monitor).
Kabel data USB untuk memasukan program ke Arduino.
Komputer atau Laptop yang sudah terinstall Arduino IDE.
Breadboard (bila diperlukan).
Kabel Jumper (bila diperlukan).

Jika alat dan bahan diatas sudah lengkeap selanjutnya kita masuk ketahap merakit rangkaian
Ctrip -
Hotels,Flights,Trains
GRATIS
(3.945)
Up to 70% Off
Find Awesome Hotel Deals App deals - Up to
70% off

Unduh

Merakit rangkaian antara board Arduino dan Sensor GY-521 :

(hubungkan berdasarkan pin yang disebutkan pada point-point dibawah)

Pin VCC (GY-521) ke pin 3.3 V (Arduino).


Pin GND (GY-521) ke pin GND (Arduino).
Pin SCL (GY-521) ke pin A5 (SCL pada Arduino)*.
Pin SDA (GY-521) ke pin A4 (SDA pada Arduino)*.

(* untuk pin SDA dan SCL tergantung tipe arduino yang digunakan.)

Merakit rangkaian LCD 16×2 dan Board Arduino :

(hubungkan berdasarkan pin yang disebutkan pada point-point dibawah)

Pin RS (LCD) ke pin D6 (Arduino).


Pin RW (LCD) ke pin GND (Arduino).
Pin EN (LCD) ke pin D7 (Arduino).
Pin D4 (LCD) ke pin D2 (Arduino).
Pin D5 (LCD) ke pin D3 (Arduino).
Pin D6 (LCD) ke pin D4 (Arduino).
Pin D7 (LCD) ke pin D5 (Arduino).
Pin V0 (LCD) ke pin GND (Arduino).
Pin VSS dan K backlight (LCD) ke pin GND (Arduino).
Pin VDD dan A backlight (LCD) ke pin 5V (Arduino).

Selanjutnya, jika semua rangkaian sudah terpasang dengan baik selanjutnya kita akan melakukan pengecekan
I2C hal ini bertujuan untuk memeriksa apakah sensor GY-521 sudah terhubung ke Arduino atau belum. langkah
pengecekannya yaitu sebagai berikut:

Buka Arduino IDE


Tuliskan script program berikut ini :
#include <Wire.h>

void setup()
{
Wire.begin();
Serial.begin(9600);
Serial.println(“\nI2C Scanner”);
}

void loop()
{
byte error, address;
int nDevices;

Serial.println(“Scanning…”);

nDevices = 0;
for(address = 1; address < 127; address++ )
{
Wire.beginTransmission(address);
error = Wire.endTransmission();

if (error == 0)
{
Serial.print(“I2C device found at address 0x”);
if (address<16)
Serial.print(“0″);
Serial.print(address,HEX);
Serial.println(”  !”);

nDevices++;
}
else if (error==4)
{
Serial.print(“Unknow error at address 0x”);
if (address<16)
Serial.print(“0”);
Serial.println(address,HEX);
}
}
if (nDevices == 0)
Serial.println(“No I2C devices found\n”);
else
Serial.println(“done\n”);

delay(5000);
}

setelah scrip program di atas diketik di Arduino IDE selanjutnya yaitu memasukan kode tersebut ke Arduino anda.
setelah proses upload selesai USB jangan dilepas, selanjutnya buka Serial Monitoring pada Arduino dengan cara
menekan CTRL+SHIFT+M. Jika konensi I2C terhadap sensor GY-521 sudah benar maka akan tampil seperti
gambar di bawah ini :

atau tulisan pada Serial Monitoring sebagai berikut :

I2C Scanner
Scanning…
I2C device found at address 0x68 !
done

hal ini menyatakan bahwa arduino telah menemukan perangkat I2C dengan alamat 0x68 (GY-521)
jika yang keluar.

I2C Scanner
Scanning…
No I2C devices found

Itu berarti anda salah melakukan instalasi pada pin SDA dan SCL dari Sensor GY-521 ke Arduino seperti SDA dan
SCL terpasang terbalik atau pun salah pada pin SDA dan SCL pada Arduino saja.

Setelah proses pengecekan I2C proses selanjutnya melakukan pembuatan program untuk menggunakan sensor
GY-521.

dalam tahap pembuatan program ini ada beberapa hal yang harus di lakukan diantaranya yaitu.
1. Membuat library I2C khusus untuk MPU6050
2. Membuat library MPU6050.h

kedua library tersebut sangat penting agar sensor dapat digunakan tetapi teman-teman tidak perlu pusing-pusing
untuk membuat library tersebut, sudah banyak situs di internet yang meyediakan library tersebut diantaranya
disini di Rizrobot.

baiklah silahkan download librarynya disini:

Library MPU6050.h dan I2Cdev.h


setelah kalian mendownload library di atas hal yang perlu anda lakukan yaitu:

Ekstrak file pada [noosite.com]Library_I2Cdev_MPU6050.zip.


Buka folder hasil ekstrak kemudian copy folder MPU6050 dan I2Cdev.
Paste ke-2 folder tersebut ke dalam folder libraries pada direktori arduino contoh pada komputer
yang menggunakan windows (C:/Program Files (x86)/Arduino/libraries/) sedangkan yang
menggunakan linux (/home/username/Arduino/libraries/) atau (/root/Arduino/libraries/).

jika step diatas sudah selesai di lakukan selanjutnya yaitu proses pembuatan script program untuk membaca
nilai sudut accelerometer dan kecepatan sudut gyrometer-nya.

baiklah sekarang anda buka kembali IDE Arduino yang sudah di tambah library MPU6050 dan I2Cdev selanjutnya
ketikan program berikut :

Program menampilkan menggunakan LCD 16×2 :

#include “I2Cdev.h”
#include “MPU6050.h”
#include “Wire.h”
#include <LiquidCrystal.h>

LiquidCrystal lcd(6,7,2,3,4,5);
MPU6050 gy_521;

int16_t ax, ay, az;


int16_t gx, gy, gz;
int ACCX,ACCY;
int GYRX,GYRY,GYRZ,sensitif;

void acc()
{
gy_521.getAcceleration(&ax, &ay, &az);
ACCX = 57.295*atan((float)ay/ sqrt(pow((float)az,2)+pow((float)ax,2)));
ACCY = 57.295*atan((float)-ax/ sqrt(pow((float)az,2)+pow((float)ay,2)));
}

void gyro()
{
gy_521.getRotation(&gx, &gy, &gz);
GYRX = gx/sensitif;
GYRY = gy/sensitif;
GYRZ = gz/sensitif;
}

void setup()
{
Wire.begin();
lcd.begin(16,2);
gy_521.initialize();
sensitif=250;
}

void loop()
{
acc();
gyro();
lcd.setCursor(0,0);lcd.print(“AX:”);
lcd.setCursor(3,0);lcd.print(ACCX);
lcd.setCursor(7,0);lcd.print(“AY:”);
lcd.setCursor(10,0);lcd.print(ACCY);
lcd.setCursor(0,1);lcd.print(“GX:”);
lcd.setCursor(3,1);lcd.print(GYRX);
lcd.setCursor(7,1);lcd.print(“GY:”);
lcd.setCursor(10,1);lcd.print(GYRY);
lcd.setCursor(13,0);lcd.print(“GZ:”);
lcd.setCursor(13,1);lcd.print(GYRZ);
delay(100);
lcd.clear();
}

setelah selesai mengetikkan program di selanjutnya program tersebut di upload ke Arduino anda dan akan keluar
hasil seperti berikut ini :

Kondisi Breadboard datar terhadap meja :


Kondisi Breadboard miring ke kanan AX: -28 :

Kondisi Breadboard miring ke kiri AX: 26 :


Kondisi Breadboard miring ke depan AY: 39 :

Gambar diatas merupakan hasi ujicoba dengan menampilkan nilai di LCD 16×2.
selanjutnya kita akan mencoba menampilkan nilai sensor GY 521 melalui Serial Monitoring dengan mengunakan
kode program berikut ini :

#include “I2Cdev.h”
#include “MPU6050.h”
#include “Wire.h”

MPU6050 gy_521;

int16_t ax, ay, az;


int16_t gx, gy, gz;
int ACCX,ACCY;
int GYRX,GYRY,GYRZ,sensitif;

void acc()
{
gy_521.getAcceleration(&ax, &ay, &az);
ACCX = 57.295*atan((float)ay/ sqrt(pow((float)az,2)+pow((float)ax,2)));
ACCY = 57.295*atan((float)-ax/ sqrt(pow((float)az,2)+pow((float)ay,2)));
}

void gyro()
{
gy_521.getRotation(&gx, &gy, &gz);
GYRX = gx/sensitif;
GYRY = gy/sensitif;
GYRZ = gz/sensitif;
}

void setup()
{
Serial.begin(38400);
Wire.begin();
gy_521.initialize();
sensitif=250;
}

void loop()
{
acc();
gyro();
Serial.print(“ax/ay/gx/gy/gz: \t”);
Serial.print(ACCX); Serial.print(“\t”);
Serial.print(ACCY);Serial.print(“\t”);
Serial.print(GYRX); Serial.print(“\t”);
Serial.print(GYRY); Serial.print(“\t”);
Serial.println(GYRZ);
}

setelah selesai mengetikkan program di selanjutnya program tersebut di upload ke Arduino anda dan akan keluar
hasil seperti berikut ini pada Serial Monitoring :

Kondisi Breadboard datar terhadap meja :


Kondisi Breadboard miring ke kanan :
Kondisi Breadboard miring ke kiri :
Kondisi Breadboard miring ke depan :
Oke sekian [Tutorial Arduino] Cara Menggunakan Sensor GY-521 Accelerometer dan Gyrometer 6DOF Pada
Arduino semoga bermanfaat. Jika ada pertanyaan bisa langsung di tanya di bagian komentar ya nanti kita bahas
sekalian belajar bersama

bagi teman-teman yang mau mendownload file lengkap untuk library, program, serta datasheet bisa langsung
download pada link berikut ini:
File Size : 1.9 MB

NB : tunggu 5 detik setelah klik download diatas kemudian klik SKIP AD untuk masuk ke halaman download (wait
5 second after click download link, after that click SKIP AD to enter download page).

Semoga Bermanfaat.

Salam,

Noo.

(Visited 447 times, 1 visits today)

Posted in Arduino June 9, 2016 2 comments

Tags:  Arduino, Education, Elektronika, I2C, Komunikasi, Microcontroller, Robotik, Sensor, Tutorial

Related Posts:

[Tutorial Arduino] Membaca Nilai Thermocouple Type K


Dengan MAX6675 Pada Arduino

[Software] CadSoft Eagle 7.1.0 Full : Salurkan


Kemampuan Desain PCB Kalian!

[Tutorial Arduino] Cara Menggunakan Sensor Ultrasonic SRF04 Di Arduino Tanpa Library

[Software] CadSoft Eagle 6.50 Full : Semakin Asik Membuat Jalur PCB!
2 comments to [Tutorial Arduino] Cara Menggunakan Sensor GY-521 Accelerometer dan Gyrometer 6DOF
Pada Arduino

August 10, 2016 at 8:22 pm


tsani  says:

mau tanya gan, pernah akses 5 accelerometer dengan i2c?


kalo pernah mohon bantuannya gan buat programnya
saya masih baru belajar arduino soalnya gan
Reply

August 24, 2016 at 11:40 am


Admin  says:

belum pernah gan kalau 5 Accl


Reply

Leave a reply

Comment

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite="">
<cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

Name *

Email *

Website

Add comment

Tweet
SOCIAL PROFILES

ARCHIVES

June 2016

May 2016

April 2016

User Online: 0

Today Visit: 30

Total Visit: 23,191

Copyright © 2016 NooSite.com | Linux dan Microcontroller Tutorial | Powered by Noo.


Designed by SMThemes.com, thanks to: Theme.Today, www.dpthemes.com and KazakNation.com

Anda mungkin juga menyukai