alat ukur acelerasi dengan complamantary filter …

53
ALAT UKUR ACELERASI DENGAN COMPLAMANTARY FILTER BRBASIS MIKROKONTROLLER ATMEGA8 TUGAS AKHIR ALPREDO SINAGA 152408067 PROGRAM STUDI D-III FISIKA FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS SUMATERA UTARA MEDAN 2018 UNIVERSITAS SUMATERA UTARA

Upload: others

Post on 01-Oct-2021

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: ALAT UKUR ACELERASI DENGAN COMPLAMANTARY FILTER …

ALAT UKUR ACELERASI DENGAN COMPLAMANTARY

FILTER BRBASIS MIKROKONTROLLER ATMEGA8

TUGAS AKHIR

ALPREDO SINAGA

152408067

PROGRAM STUDI D-III FISIKA

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM

UNIVERSITAS SUMATERA UTARA

MEDAN

2018

UNIVERSITAS SUMATERA UTARA

Page 2: ALAT UKUR ACELERASI DENGAN COMPLAMANTARY FILTER …

TUGAS AKHIR

ALAT UKUR ACELERASI DENGAN COMPLAMANTARY FILTER BRBASIS MIKROKONTROLLER ATMEGA8

UNIVERSITAS SUMATERA UTARA

Page 3: ALAT UKUR ACELERASI DENGAN COMPLAMANTARY FILTER …

Tugas Akhir

ALAT UKUR ACELERASI DENGAN COMPLAMANTARY FILTER BRBASIS MIKROKONTROLLER ATMEGA8

UNIVERSITAS SUMATERA UTARA

Page 4: ALAT UKUR ACELERASI DENGAN COMPLAMANTARY FILTER …

i

ALAT UKUR AKSELERASI DENGAN COMPLAMANTARY FILTER

BERBASIS MIKROKONTROLLER ATMEGA8

Abstrak

Telah berasil dirancang alat waterpass digital dengan menggunakan sensor Mpu6050 berbasis

mikrokontrollerATMega8535 yang berfungsi untuk membaca kemiringan sumbu xz dengan

keluaran berupa tegangan analog yang diubah menjadi bentuk digital dengan ADC padami

krokontroler dengan pengukurannya dan hasil kemiringan di representasikan dalam satuan

derajat dengan % error rata-rata 0,049 %. Pengukuranwaterpass digital lebih mudah

dilakukan karena waktu yang dibutuhkan untuk pengukuran relative singkat dan sudut

kemiringan disajikan dalam satuan derajat.

Kata Kunci : Waterpass, Sensor MPU6050, MikrokontrollerAtemega 8

UNIVERSITAS SUMATERA UTARA

Page 5: ALAT UKUR ACELERASI DENGAN COMPLAMANTARY FILTER …

ii

ACELERATION MEASURES WITH COMPLAMANTARY

MICROCONTROLLER FILTER BASED ON ATMEGA8

Abstract

It has successfully designed the digital waterpass tool by using Mpu6050 sensor based on

microcontroller ATMega 8535 which serves to read the xz axis tilt with the output of analog

voltage converted to digital form with ADC on microcontroller with its measurement and

slope result in representation in the unit of row t with% error average 0.049%. Digital

waterpass measurement is easier because the time required for relatively short measurement

and tilt angle is presented in degrees.

Keywords: Waterpass, MPU6050 Sensor, Atemega Microcontroller 8

UNIVERSITAS SUMATERA UTARA

Page 6: ALAT UKUR ACELERASI DENGAN COMPLAMANTARY FILTER …

iii

PENGHARGAAN

Puji Dan Syukur penulis panjatkan kepada TYM, dengan dilimpahkan berkat-Nya

penyusunan Tugas Akhir ini dapat diselesaikan. UcapanTerima kasih penulis sampaikan

Kepada berbagai pihak yang telah banyak membantu penulis dalam menyelesaikan Tugas

Akhir ini yaituk epada:

1. Bapak Dr. KeristaSebayang,MS, selaku Dekan Fakultas Matematika dan Ilmu

Pengetahuan Alam Universitas Sumatera Utara.

2. Bapak Drs. Takdir Tamba,M.Eng. Scselaku Ketua Program Studi D-III Fisika

Fakultas MIPA Universitas Sumatera Utara.

3. Bapak Awan maghfirah, S.Si.M.Siselaku Pembimbing yang telah membimbing

dan mengarahkan Kepada Penulis dalam menyelesaikan Tugas Akhir.

4. Seluruh Staf Pengajar/Pegawai Program Studi Fakultas Matematika dan Ilmu

Pengetahuan Alam Universitas Sumatera Utara.

5. Ayahanda dan Ibunda tercinta yang telah memberikan bantuan berupa dukungan

moral dan material yang sangat membantu dalam menyelesaikanTugas Akhir.

6. Kakak-kakak sayater cinta yang telah memberikan motivasi dalam menyelesaikan

Tugas Akhir.

7. Senior kami Faturrahman yang telah memberikan bantuan berupa Ilmu dan

Motivasi dalam menyelesaikan Tugas Akhir.

8. Sahabat Saya MartinSihombing, Hendrik zalukhu, Sura Pensika Saragih yang

telah memberikan Dorongan Semangat dan Motivasi dalam menyelesaikan Tugas

Akhir.

9. Rekan-rekan Fisika Instrumentasi D-III yang memberikan bantuan penulisan

untuk menyelesaikan Tugas Akhir.

Akhir kata, semoga Laporan ini dapat bermanfaat bagi rekan-rekan Mahasiswa

dan pembaca sekalian demi menambah pengetahuan tentang Tugas Akhir.

UNIVERSITAS SUMATERA UTARA

Page 7: ALAT UKUR ACELERASI DENGAN COMPLAMANTARY FILTER …

iv

DAFTAR ISI

Halaman

ABSTRAK ................................................................................................................ i

KATA PENGANTAR ............................................................................................. iii

DAFTAR ISI .............................................................................................................. iv

DAFTAR GAMBAR ................................................................................................. vii

DAFTAR TABEL ...................................................................................................... viii

BAB I PENDAHULUAN .......................................................................................... 1

1.1.LatarBelakang .......................................................................................... 1

1.2.RumusanMasalah ..................................................................................... 2

1.3.Batasan Masalah....................................................................................... 2

1.4.Tujuan Penulisan ...................................................................................... 2

1.5.Manfaat Penelitian ................................................................................... 2

1.6.SistematikaPenulisan................................................................................ 2

BAB II LANDASAN TEORI .................................................................................... 4

2.1.LCD .......................................................................................................... 4

2.2.ATmega8 .................................................................................................. 6

2.2.1.Konfigurasi pin ATmega8 ............................................................. 7

2.2.2 Status register ................................................................................. 11

2.2.3 Memory AVR ATmega8 ............................................................... 12

2.2.4 Timer/counter 0 .............................................................................. 13

2.2.5 Komunikasi serial pada ATmega8 ............................................. 13

2.2.6 2.2.6 ArsitekturMikrokontroler ATmega8 .................................. 14

2.2.7 Kelebihan (Fitur) Mikrokontroler AVR ATmega8 ................................. 15

2.3.Power Suplly ............................................................................................ 16

2.3.1 Fungsi Power Supply PadaKomputer ..................................................... 16

2.3.2 Fungsi Power Supply berdasarkanbeberapajeniskonektor .................... 17

2.3.3 Fungsi Power Supply Berdasarkan Management Kabelnya .......... 20

2.3.4 Jenis-jenis power suplly ................................................................. 21

2.4. sensor mpu6050. .................................................................................... 21

BAB III PERANCANGAN DAN PEMBUATAN.................................................... 24

3.1.Diagram Blok Sistem ............................................................................... 24

3.1.1.Fungsi-Fungsi Diagram Blog ......................................................... 24

3.2.Rangkaian Power Suplay ......................................................................... 25

UNIVERSITAS SUMATERA UTARA

Page 8: ALAT UKUR ACELERASI DENGAN COMPLAMANTARY FILTER …

v

3.3.Rangkaianmikrokontroler atmega8 .......................................................... 26

3.4.Rangkaian LCD ........................................................................................ 26

3.5.Rangkaian MPU6050 ............................................................................... 27

3.6. Flowchart Alat ........................................................................................ 30

BAB IV ANALISA DAN PENGUJIAN ................................................................... 31

4.1.PengujianRangkaian Power Supply ......................................................... 31

4.2. Program pengujianMikrokontroller ATMega8 ....................................... 31

4.3.PengujianRangkaian LCD ........................................................................ 32

4.4.Pengujian MPU6050 Accelerometer ........................................................ 33

4.5PengujianComplamantary Filter ................................................................ 34

BAB V PENUTUP .................................................................................................... 36

5.1.Kesimpulan .............................................................................................. 36

5.2.Saran ......................................................................................................... 36

DAFTAR PUSATAKAN .......................................................................................... 37

LAMPIRAN

UNIVERSITAS SUMATERA UTARA

Page 9: ALAT UKUR ACELERASI DENGAN COMPLAMANTARY FILTER …

vi

DAFTAR GAMBAR

Nomor Gambar Halaman

2.1.StrukturMemori LCD........................................................................................... 5

2.2. ATmega8............................................................................................................. 6

2.3.Konfigurasi Pin ATmega8 ................................................................................... 7

2.4.Status Register ATMega8 .................................................................................... 11

2.5.Peta Memory ATmega8 ....................................................................................... 12

2.6. Blok Diagram ATmega8 ..................................................................................... 14

2.7.Power suply .......................................................................................................... 16

2.8.ATX power conector............................................................................................ 17

2.9. Berg connector .................................................................................................... 19

2.10. ATX 12 (intel) 4 pin conn ................................................................................. 19

2.11. pin PCI-E connector .......................................................................................... 20

2.12. power Supply modular ............................................................................................... 21

2.13. sensor MPU6050 ......................................................................................................... 23

3.1. Blok Diagram Sistem .......................................................................................... 24

3.2. Rangkaian Power Supplay Adaptor (PSA) ......................................................... 25

3.3.RangkaianMikrokontrolerAtmega8 ..................................................................... 26

3.4.Rangkaian LCD ................................................................................................... 27

3.5.RangkaianModul MPU6050 ................................................................................ 28

3.5.FlowchatSistem .................................................................................................... 30

UNIVERSITAS SUMATERA UTARA

Page 10: ALAT UKUR ACELERASI DENGAN COMPLAMANTARY FILTER …

vii

DAFTAR TABEL

Nonor Tabel Halaman

2.1. FungsiAlternatif Port B ....................................................................................... 8

2.2. FungsiAlternatif Port C ...................................................................................... 9

2.3. FungsiAlternatif Port D....................................................................................... 10

UNIVERSITAS SUMATERA UTARA

Page 11: ALAT UKUR ACELERASI DENGAN COMPLAMANTARY FILTER …

BAB 1

PENDAHULUAN

1.1 Latar belakang

Selama ini dalam pekerjaan mendirikan sebuah bangunan digunakan unting-

unting sebagai indikator ketegakan suatu tiang .Unting-unting yang digunakan dalam

proses pekerjaan bangunan gedung umumnya cara manual yaitu dengan mengukur

jarak benang atas ke tiang dan membandingkan jarak benang (atas unting-unting)ke

tembok. Jika ukuran jarak atas dan bawah sudah sama maka tiang sudah benar benar

tegak. Karena alat ini kecil, tentu mudah hilang atau tertimbun benda atau

peralatannya lainnya.

Para pengguna alat perlu menyimpan dengan rapi, agar tidak bersinggunggan

peralatan besi lainnya kolom,dan sejenisnya memilikipengaruh yang besar terhadap

kualitas dan kekuatanbagunan.Salah satu kualitas tersebut adalah berkaitanketegakan

bidang pada elemen tersebut. Untuk mengukur suatu ketegakan satu bangunan

biasanya digunakan bandulpendulum yang biasa disebut unting-unting (plummet).

Unting-unting yang dikenal juga dengan bandul/pendulum merupakan salah

satu perkakas pertukanganyang biasanya dipergunakan untuk mengukur ketegakan

suatu benda atau bidang, ketegakan bekisting, ketegakankayu saat setting kusen

pintu dan jendela. Bentuknyaseperti prisma dengan ujung lainnya dibuatkan

untukpenempatan kait dan benang.

Alat ukur ini menjadi referensi pengukuran dengan membandingkan hasil

pengukuran kemiringan bekesting yang sama seperti terlihat. Alat ini terbuat dari

bahan besi dengan permukaan berwarna besi putih, kuningan atau besi biasa. Ada

juga bentuk lain yang salah satuujungnya tetap dibuat runcing .Accelero adalah

sebuah tranduser yang berfungsi untuk mengukur percepatan, mendeteksi dan

mengukur getaran, atau percepatan akibat gravitasi bumi. Selain itu dapat digunakan

untuk mengukur kemiringan benda. Sehingga penulis membuat judul proyek “ALAT

UKUR ACELERASI DENGAN COMPLAMANTARY FILTER BERBASIS

MIKROKONTROLLER ATMEGA8”

UNIVERSITAS SUMATERA UTARA

Page 12: ALAT UKUR ACELERASI DENGAN COMPLAMANTARY FILTER …

1.2 Rumusan Masalah

Rumusan masalah dalam laporan tugas projek yaitu :

1. Bagaimana cara membuaat alat waterpass bagun tersebut dengan

menggunakan sensor mpu6050 berbasis ATMega8

2. Bagaimana merancang program yang ditanamkan alat tersebut sehingga

dapat mengukur menjadi digital

1.3 Batasan Masalah

Mengacu pada hal diatas, penulisan membuat perancangan alat untuk ALAT

UKUR ACELARASI COMPLAMANTARY BERBASIS MIKROKONTROLER

ATMEGA8 dengan batasan penulis hanya sebagai pembuat program yang akan

dimasukkan ke sensor mpu6050 berbasis ATMega8 sebagai alat bantu ukur

bangun menjadi digital

1.4 Tujuan Penulisan

Adapun tujuan dari penelitian ini adalah sebagai berikut:

1. Sebagai salah satu syarat untuk memenuhi projek program studi Diploma

Tiga(D-III) Fisika Instrumentasi FMIPA USU

2. Perancangan rangkaian rancang bangun waterpass digital menggunakan

sensor mpu6050 berbasis ATMega8

1.5 Manfaat Penelitian

Adapun manfaat penulisan ini antara lain agar dengan alat ini nantinya dapat

diaplikasikan untuk memudahkan sipil untuk mengukur sebuah bangunan .

1.6 Sistematika Penulisan

Dalam penyusunan Tugas akhir ini, pembahasan mengenai sistem alat yang

dibuat dibagi menjadi lima bab dengan sistematika sebagai berikut :

BAB I : PENDAHULUAN

Berisi latar belakang permasalahan, rumusan masalah, batasan masalah, tujuan

penulisan, meanfaat penulisan dan sistematika penulisan dari laporan ini.

UNIVERSITAS SUMATERA UTARA

Page 13: ALAT UKUR ACELERASI DENGAN COMPLAMANTARY FILTER …

BAB II : TINJAUAN PUSTAKA

Dalam bab ini dijelaskan tentang teori pendukung yang digunakan untuk

pembahasan dan cara kerja dari rangkaian teori pendukung itu antara lain

tentang ATMega8, sensor mpu6050 dan prinsip kerjanya, software pendukung

dan bahasa program yang digunakan.

BAB III : PERANCANGAN SISTEM

Membahas tentang perencanaan dan pembuatan sistem secara keseluruhan.

BAB IV : ANALISIS DAN PENGUJIAN

Membahas tentang uji coba alat yang telah dibuat, pengoperasian dan spesifikasi

alat dan lain-lain.

BAB V: PENUTUP

Berisi kesimpulan yang diperoleh dari pembuatan Project ini dan saran-saran

untuk pengembangannya.

DAFTAR PUSTAKA

Pada bagian ini akan dipaparkan tentang sumber-sumber literatur yang

digunakan dalam pembutan Projects.

UNIVERSITAS SUMATERA UTARA

Page 14: ALAT UKUR ACELERASI DENGAN COMPLAMANTARY FILTER …

BAB II

TEORI DASAR

2.1 LCD (Liquid Crystal Display)

Kegunaan LCD banyak sekali dalam perancangan suatu sistem dengan

menggunakan mikrokontroler, LCD (Liquid Crystal Display) dapat berfungsi untuk

menampilkan suatu nilai sensor, menampilkan teks, atau menampilkan menu pada

aplikasi mikrokontroler. M1632 merupakan modul LCD matrix dengan konfigurasi

16 karakter dan 2 baris dengan setiap karakter nya dibentuk oleh baris pixel dan 5

kolom pixel (1 baris pixel terakhir adalah kursor).

Didalam modul M1632 sudah tersedia HD44780 yang dikeluarkan oleh

Hitachi, Hyundai dan modul-modul M1632 lainnya. HD44780 sebetulnya

merupakan mikrokontroler dirancang khusus untuk mengendalikan LCD dan

mempunyai kemampuan untuk mengatur proses scanning pada layar LCD yang

terbentuk oleh 16 COM dan 40 SEG sehingga mikrokontroler /perangkat yang

mengakses modul LCD ini tidak perlu lagi mengatur scanning pada layar LCD.

Mikrokontroler atau perangkat tersebut hanya mengirim data-data yang merupakan

karakter yang akan ditampilkan pada LCD atau perintah yang mengatur proses

tampilan pada LCD saja.

Adapun konfigurasi dan deskripsi dari pin-pin LCD M1632 antara lain:

1. Pin 1 dihubungkan ke Gnd

2. Pin 2 dihubungkan ke Vcc +5V

3. Pin 3 dihubungkan ke bagian tengah potensiometer 10KOhm sebagai

pengatur kontras.

4. Pin 4 untuk memberitahukan LCD bahwa sinyal yang dikirim adalah data,

jika Pin 4 ini diset ke logika 1 (high, +5V), atau memberitahukan bahwa

sinyal yang dikirim adalah perintah jika pin ini di set ke logika 0 (low, 0V). 5

digunakan

UNIVERSITAS SUMATERA UTARA

Page 15: ALAT UKUR ACELERASI DENGAN COMPLAMANTARY FILTER …

5. Pin 5 digunakan untuk mengatur fungsi LCD. Jika di set ke logika 1 (high,

+5V) maka LCD berfungsi untuk menerima data (membaca data). Dan fungsi

untuk mengeluarkan data, jika pin ini di set ke logika 0 (low, 0V). Namun

kebanyakan aplikasi hanya digunakan untuk menerima data, sehingga pin 5

ini selalu dihubungkan ke Gnd.

6. Pin 6 adalah terminal enable. Berlogika 1 setiap kali pengiriman atau

pembaca data.

7. Pin 7 – Pin 4 adalah data 8 bit data bus (Aplikasi ini menggunakan 4 bit MSB

saja, sehingga pin data yang digunakan hanya Pin 11 – Pin 14).

8. Pin 15 dan Pin 16 adalah tegangan untuk menyalakan lampu LCD.

Adapun gambar dari LCD 2x16 adalah sebagai berikut:

Gambar 2.1 Struktur Memori LCD

Modul LCD M1632 memiliki beberapa jenis memori yang digunakan untuk

menyimpan atau memproses data-data yang ditampilkan pada layar LCD.

Setiap memori mempunyai fungsi-fungsi tersendiri:

a. DDRAM

DDRAM merupakan memori tempat karakter yang ditampilkan. Contohnya

karakter „A‟ atau 41h yang ditulis pada alamat 00 akan tampil pada baris

pertama dan kolom pertama dari LCD. Apabila karakter tersebut di alamat

40h, karakter tersebut akan tampil pada baris kedua kolom pertama dari

LCD.

b. CGRAM

UNIVERSITAS SUMATERA UTARA

Page 16: ALAT UKUR ACELERASI DENGAN COMPLAMANTARY FILTER …

CGRAM merupakan memori untuk menggambarkan pola seluruh karakter

dan bentuk karakter dapat diubah-ubah sesuai keinginan. Akan tetapi isi

memori akan hilang saat power supply tidak aktif sehingga pola karakter akan

hilang.

c. CGROM

CGROM adalah memori untuk menggambarkan pola sebuah karakter dan

pola tersebut ditentukan secara permanen dari HD44780 sehingga pengguna

tidak dapat menubah lagi. Oleh karena ROM bersifat permanen, pola karakter

tersebut akan hilang walaupun power supply tidak aktif.

2.2 ATmega8

AVR merupakan salah satu jenis mikrokontroler yang di dalamnya terdapat

berbagai macam fungsi.Perbedaannya pada mikro yang pada umumnya

digunakan seperti MCS51 adalah pada AVR tidak perlu menggunakan oscillator

eksternal karena di dalamnya sudah terdapat internal oscillator. Selain itu

kelebihan dari AVR adalah memiliki Power-On Reset, yaitu tidak perlu ada

tombol reset dari luar karena cukup hanya dengan mematikan supply, maka

secara otomatis AVR akan melakukan reset. Untuk beberapa jenis AVR terdapat

beberapa fungsi khusus seperti ADC, EEPROM sekitar 128 byte sampai dengan

512 byte.

Gambar 2.2. ATmega8

Dari gambar 2.2 bahwa AVR ATmega8 adalah mikrokontroler CMOS 8-bit

berarsitektur AVR RISC yang memiliki 8K byte in-System Programmable Flash.

Mikrokontroler dengan konsumsi daya rendah ini mampu mengeksekusi instruksi

dengankecepatan maksimum 16MIPS pada frekuensi 16MHz. Jika dibandingkan

UNIVERSITAS SUMATERA UTARA

Page 17: ALAT UKUR ACELERASI DENGAN COMPLAMANTARY FILTER …

dengan ATmega8L perbedaannya hanya terletak pada besarnya tegangan yang

diperlukan untuk bekerja. Untuk ATmega8 tipe L, mikrokontroler ini dapat

bekerja dengan tegangan antara 2,7 - 5,5V sedangkan untuk ATmega8 hanya

dapat bekerja pada tegangan antara 4,5–5,5 V.

2.2.1 Konfigurasi Pin ATmega8

Gambar 2.3. Konfigurasi Pin ATmega8

ATmega8 memiliki 28 Pin, yang masing-masing pin nya memiliki fungsi yang

berbeda-beda baik sebagai port maupun fungsi yang lainnya. Berikut akan

dijelaskan fungsi dari masing-masing kaki ATmega8.

a. VCC Merupakan supply tegangan digital.

b. GND Merupakan ground untuk semua komponen yang membutuhkan

grounding.

c. Port B (PB7...PB0) Didalam Port B terdapat XTAL1, XTAL2, TOSC1,

TOSC2. Jumlah Port B adalah 8 buah pin, mulai dari pin B.0 sampai dengan

B.7. Tiap pin dapat digunakan sebagai input maupun output. Port B

merupakan sebuah 8-bit bi- directional I/O dengan internal pull-up resistor.

Sebagai input, pin-pin yang terdapat pada port B yang secara eksternal

diturunkan, maka akan mengeluarkan arus jika pull-up resistor diaktifkan.

Khusus PB6 dapat digunakan sebagai input Kristal (inverting oscillator

amplifier) dan input ke rangkaian clock internal, bergantung pada pengaturan

Fuse bit yang digunakan untuk memilih sumber clock. Sedangkan untuk PB7

dapat digunakan sebagai output Kristal (output oscillator amplifier)

bergantung pada pengaturan Fuse bit yang digunakan untuk memilih sumber

UNIVERSITAS SUMATERA UTARA

Page 18: ALAT UKUR ACELERASI DENGAN COMPLAMANTARY FILTER …

clock. Jika sumber clock yang dipilih dari oscillator internal, PB7 dan PB6

dapat digunakan sebagai I/O atau jika menggunakan maka PB6 dan PB7

(TOSC2 dan TOSC1) digunakan untuk saluran input timer.

Tabel 2.1. Fungsi Alternatif Port B

Port Pin Alternate Functions

PB 7 XTAL2 (Chip Clock Oscillator pin 2)

TOSC2 (Timer Oscillator pin 2)

PB 6 XTAL1 (Chip Clock Oscillator pin 1 or External clock input)

TOSC1 (Timer Oscillator pin 1)

PB 5 SCK (SPI Bus Master Clock Input)

PB 4 MISO (SPI Bus Master Input/Slave Input)

PB 3 MOSI (SPI Bus Master Input/Slave Input)

OC2 (Timer/Counter 2 Output Compare Match Output)

PB 2 SS (SPI Bus Master Slave select)

OCIB (Timer/Counter 1 Output Compare Match B Output)

PB 1 OCIA (Timer/Counter 1 Output Compare Match A Output)

PB 0 ICP1 (Timer/Counter1 Input Capture Pin)

d. Port C (PC5…PC0) Port C merupakan sebuah 7-bit bi-directional I/O port

yang di dalam masing-masing pin terdapat pull-up resistor. Jumlah pin nya

hanya 7 buah mulai dari pin C.0 sampai dengan pin C.6. Sebagai

keluaran/output port C memiliki karakteristik yang sama dalam hal menyerap

arus (sink) ataupun mengeluarkan arus (source). ADC 6 channel

(PC0,PC1,PC2,PC3,PC4,PC5) dengan resolusi sebesar 10bit. ADC dapat kita

gunakan untuk mengubah input yang berupa tegangan analog menjadi data

digital. I2C (SDA dan SDL) merupakan salah satu fitur yang terdapat pada

PORTC. I2C digunakan untuk komunikasi dengan sensor atau device lain

yang memiliki komunikasi data tipe I2C seperti sensor kompas,

accelerometer nunchuck, dll.

e. RESET/PC6 Jika RSTDISBL Fuse diprogram, maka PC6 akan berfungsi

sebagai pin I/O. Pin ini memiliki karakteristik yang berbeda dengan pin - pin

UNIVERSITAS SUMATERA UTARA

Page 19: ALAT UKUR ACELERASI DENGAN COMPLAMANTARY FILTER …

yang terdapat pada port C lainnya. Namun jika RSTDISBL Fuse tidak

diprogram, maka pin ini akan berfungsi sebagai input reset. Dan jika level

tegangan yang masuk ke pin ini rendah dan pulsa yang ada lebih pendek dari

pulsa minimum, maka akan menghasilkan suatu kondisi reset meskipun

clock-nya tidak bekerja. RESET merupakan salah satu pin penting di

mikrokontroler, RESET dapat digunakan untuk merestart program. Pada

ATMega8 pin RESET digabungkan dengan salah satu pin IO (PC6). Secara

default PC6 ini di disable dan diganti menjadi pin RESET. Kita dapat

melakukan konfigurasi di fusebit untuk melakukan pengaturannya.

Tabel 2.2. Fungsi Alternatif Port C

f. Port D (PD7…PD0) Port D merupakan 8-bit bi-directional I/O dengan

internal pull-up resistor. Fungsi dari port ini sama dengan port-port yang lain.

Hanya saja pada port ini tidak terdapat kegunaan-kegunaan yang lain. Pada

port ini hanya berfungsi sebagai masukan dan keluaran saja atau biasa disebut

dengan I/O.

g. Tabel 2.3. Fungsi Alternatif Port D

Port Pin Alternate Function

PD 7 AIN1 (Analog Comparator Negative Input)

PD 6 AIN0 (Analog Comparator Positive Input)

PD 5 T1 (Timer/Counter 1 External Counter Input)

Port Pin Alternate Function

PC 6 RESET (Reset Pin)

PC 5 ADCS (ADC Input Channel S)

SCL (Two-wire Serial Bus Clock Line)

PC 4 ADC4 (ADC Input Channel 4)

SDA (Two-wire Serial Bus Data Input/Output Line)

PC 3 ADC3 (ADC Input Channel 3)

PC 2 ADC2 (ADC Input Channel 2)

PC 1 ADC1 (ADC Input Channel 1)

PC 0 ADC0 (ADC Input Channel 0)

UNIVERSITAS SUMATERA UTARA

Page 20: ALAT UKUR ACELERASI DENGAN COMPLAMANTARY FILTER …

PD 4 XCK (USART External Clock Input/Output)

T0 (Timer/Counter 0 External Counter Input)

PD 3 INT1 (External Interrupt 1 Input)

PD 2 INT0 (External Interrupt 0 Input)

PD 1 TXD (USART Output Pin)

PD 0 RXD (USART Input Pin)

USART (TXD dan RXD) merupakan jalur data komunikasi serial dengan

level sinyal TTL. Pin TXD berfungsi untuk mengirimkan data serial,

sedangkan RXD kebalikannya yaitu sebagai pin yang berfungsiuntuk

menerima data serial. Interrupt (INT0 dan INT1) merupakan pin dengan

fungsi khusus sebagai interupsi hardware. Interupsi biasanya digunakan

sebagai selaan dari program, misalkan pada saat program berjalan kemudian

terjadi interupsi hardware/software maka program utama akan berhenti dan

akan menjalankan program interupsi. XCK dapat difungsikan sebagai sumber

clock external untuk USART, namun kita juga dapat memanfaatkan clock

dari CPU, sehingga tidak perlu membutuhkan external clock. T0 dan T1

berfungsi sebagai masukan counter external untuk timer 1 dantimer 0. AIN0

dan AIN1 keduanya merupakan masukan input untuk analog comparator.

h. Avcc, Pin ini berfungsi sebagai supply tegangan untuk ADC. Untuk pin ini

harus dihubungkan secara terpisah dengan VCC karena pin ini digunakan

untuk analog saja. Bahkan jika ADC pada AVR tidak digunakan tetap saja

disarankan untuk menghubungkannya secara terpisah dengan VCC. Jika

ADC digunakan, maka AVcc harus dihubungkan ke VCC melalui low pass

filter.

i. AREF, Merupakan pin referensi jika menggunakan ADC.

2.2.2 Status Register

Register ini tidak secara otomatis tersimpan ketika memasuki sebuah rutin

interupsi dan juga ketika menjalankan sebuah perintah setelah kembali dari

UNIVERSITAS SUMATERA UTARA

Page 21: ALAT UKUR ACELERASI DENGAN COMPLAMANTARY FILTER …

interupsi. Namun hal tersebut harus dilakukan melalui software. Berikut

adalah gambar status register

Gambar 2.4. Status Register ATMega8

Penjelasan :

a. Bit 7(I)

Merupakan bit Global Interrupt Enable. Bit ini harus di-set agar semua

perintah interupsi dapat dijalankan. Untuk perintah interupsi individual akan

di jelaskan pada bagian yang lain. Jika bit ini di-reset, maka semua perintah

interupsi baik yang individual maupun yang secara umum akan di abaikan.

Bit ini akan dibersihkan atau cleared oleh hardware setelah sebuah interupsi

di jalankan dan akan di-set kembali oleh perintah RETI. Bit ini juga dapat di-

set dan di-reset melalui aplikasi dan intruksi SEI dan CLL.

b. Bit 6(T)

Merupakan bit Copy Storage. Instruksi bit Copy Instructions BLD (Bit Load)

and BST (Bit Store) menggunakan bit ini sebagai asal atau tujuan untuk bit

yang telah dioperasikan. Sebuah bit dari sebuah register dalam Register File

dapat disalin ke dalam bit ini dengan menggunakan instruksi BST, dan

sebuah bit di dalam bit ini dapat disalin ke dalam bit di dalam register pada

Register File dengan menggunakan perintah BLD.

c. Bit 5(H)

Merupakan bit Half Carry Flag. Bit ini menandakan sebuah Half Carry dalam

beberapa operasi aritmatika. Bit ini berfungsi dalam aritmatika BCD.

d. Bit 4(S )

Merupakan Sign bit. Bit ini selalu merupakan sebuah ekslusif di antara

Negative Flag (N) dan two‟s Complement Overflow Flag (V).

e. Bit 3(V)

Merupakan bit Two‟s Complement Overflow Flag. Bit ini menyediakan

fungsi aritmatika dua komplemen.

f. Bit 2(N)

UNIVERSITAS SUMATERA UTARA

Page 22: ALAT UKUR ACELERASI DENGAN COMPLAMANTARY FILTER …

Merupakan bit Negative Flag. Bit ini mengindikasikan sebuah hasil negative

di dalam sebuah fungsi logika atai aritmatika.

g. Bit 1(Z)

Merupakan bit Zero Flag. Bit ini mengindikasikan sebuah jasil nol “0” dalan

sebuah fungsi aritmatika atau logika.

h. Bit 0(C)

Merupakan bit Carry Flag. Bit ini mengindikasikan sebuah Carry atau sisa

dalam sebuah aritmatika atau logika.

2.2.3 Memori AVR ATmega8

Memori atmega terbagi menjadi tiga yaitu :

1) Memori Flash

Memori flash adalah memori ROM tempat kode-kode program berada.

Kata flash menunjukan jenis ROM yng dapat ditulis dan dihapus secara

elektrik. Memori flash terbagi menjadi dua bagian yaitu bagian aplikasi

dan bagian boot. Bagian aplikasi adalah bagian kode-kode program apikasi

berada.Bagian boot adalah bagian yang digunakan khusus untuk booting

awal yang dapat diprogram untuk menulis bagian aplikasi tanpa melalui

programmer/downloader, misalnya melalui USART.

Gambar 2.5. Peta Memory ATmega8

2) Memori Data

Memori data adalah memori RAM yang digunakan untuk keperluan

program. Memori data terbagi menjadi empat bagian yaitu : 32 GPR

(General Purphose Register) adalah register khusus yang bertugas untuk

membantueksekusi program oleh ALU (Arithmatich Logic Unit), dalam

UNIVERSITAS SUMATERA UTARA

Page 23: ALAT UKUR ACELERASI DENGAN COMPLAMANTARY FILTER …

instruksi assembler setiap instruksi harus melibatkan GPR. Dalam bahasa

C biasanya digunakan untuk variabel global atau nilai balik fungsi dan

nilai-nilai yang dapat memperingan kerja ALU. Dalam istilah processo

komputer sahari-hari GPR dikenal sebagai “chace memory”.I/O register

dan Aditional I/O register adalah register yang difungsikan khusus untuk

mengendalikan berbagai pheripheral dalam mikrokontroler seperti pin

port, timer/counter, usart dan lain-lain. Register ini dalam keluarga

mikrokontrol MCS51 dikenal sebagai SFR (Special Function Register).

3) EEPROM

EEPROM adalah memori data yang dapat mengendap ketika chip mati

(off), digunakan untuk keperluan penyimpanan data yang tahan terhadap

gangguan catu daya.

2.2.4 Timer/Counter 0

Timer/counter 0 adalah sebuah timer/counter yang dapat mencacah sumber

pulsa/clock baik dari dalam chip (timer) ataupun dari luar chip (counter)

dengan kapasitas 8-bit atau 256 cacahan. Timer/counter dapat digunakan

untuk :

a. Timer/counter biasa.

b. Clear Timer on Compare Match (selain Atmega 8)

c. Generator frekuensi (selain Atmega 8)

d. Counter pulsa eksternal

2.2.5 Komunikasi Serial Pada ATmega8

Mikrokontroler AVR ATtmega 8 memiliki Port USART pada Pin 2 dan Pin 3

untuk melakukan komunikasi data antara mikrokontroler dengan

mikrokontroler ataupun mikrokontroler dengan komputer. USART dapat

difungsikan sebagai transmisi data sinkron, dan asinkron.Sinkron berar clock

yang digunakan antara transmiter dan receiver satu sumber clock. Sedangkan

asinkron berarti transmiter dan receiver mempunyai sumber clock sendiri-

sendiri. USART terdiri dalm tiga blok yaitu clock generator, transmiter, dan

receiver.

UNIVERSITAS SUMATERA UTARA

Page 24: ALAT UKUR ACELERASI DENGAN COMPLAMANTARY FILTER …

2.2.6 Arsitektur Mikrokontroler ATmega8

Gambar 2.6. Blok Diagram ATmega8

2.2.7 Kelebihan (Fitur) Mikrokontroler AVR ATmega8

Mikrokontroler AVR ATmega8 merupakan CMOS dengan konsumsi daya

rendah, mempunyai 8-bit proses data (CPU) berdasarkan arsitektur AVR

RISC.Dengan mengeksekusi instruksi dalam satu (siklus) clock tunggal,

UNIVERSITAS SUMATERA UTARA

Page 25: ALAT UKUR ACELERASI DENGAN COMPLAMANTARY FILTER …

ATmega8 memiliki kecepatan data rata-rata (throughputs) mendekati 1 MIPS

per MHz, yang memungkinkan perancang sistem dapat mengoptimalkan

konsumsi daya dan kecepatan pemrosesan. Berikut kelebihan yang dimiliki

ATmega8 :

1. Kinerja Tinggi, Low-power AVR® 8-bit Microcontroller

Seperti yang disebutkan Atmel dalam websitenya "The low-power Atmel

8-bit AVR RISC-based microcontroller... The device supports throughput

of 16 MIPS at 16 MHz and operates between 2.7-5.5 volts". AVR (Alf

(Egil Bogen) and Vegard (Wollan) 's Risc processor) mengeluarkan

ATmega8 dengan fitur yang sangat menarik untuk dicoba. Selain itu

ATmega8 sangat bagus dalam hal kinerja, cocok untuk penelitian,

pembuatan produk, bahkan untuk pembelajaran Robotik. Disamping

kinerjanya yang handal, ATmega8 juga hemat energi (daya rendah),

karena mampu beroperasi pada tegangan 2,7 sampai 5,5 Volt, dan hanya

mengkonsumsi arus sebesar 3,6 mA.

2. Daya Tahan Tinggi dan Segmen Memori non-volatile.

Mikrokontroler AVR memiliki daya tahan data (retensi data) 20 tahun

ketika suhu mencapai 85°C atau 100 tahun ketika suhu mencapai 25°C.

ATmega8 memiliki 8 KB (KiloByte) memori Flash internal yang dapat

dimasukan kode program utama (seperti file .hex) sehingga cukup untuk

diterapkan dalam penelitian skala kecil - menengah. Disamping memori

Flash, ATmega8 juga memiliki 512 Byte EEPROM yang dapat

menampung data meskipun dalam keadaan OFF. Mikrokontroler ini juga

memiliki 1K Byte Internal SRAM sehingga proses data bisa lebih cepat.

Kelebihan lainnya dari ATmega8 adalah :

a. Dapat diisi data (write) dan dihapus (eraser) sampai 10.000 kali

(untuk Flash) dan 100.000 kali untuk EEPROM.

b. Memiliki daya tahan data (retensi data) 20 tahun ketika suhu

mencapai 85°C atau 100 tahun ketika suhu mencapai 25°C.

c. Terdapat pilihan Kode Boot Section dengan Lock Bits independen.

d. Sistem keamanan data dengan mengunci program untuk Software

Security.

UNIVERSITAS SUMATERA UTARA

Page 26: ALAT UKUR ACELERASI DENGAN COMPLAMANTARY FILTER …

2.3 power supply

Power Supply adalah perangkat keras yang berfungsi untuk menyuplai

tegangan langsung kekomponen dalam casing yang membutuhkan tegangan,

misalnya motherboard, hardisk, kipas, dll. Input power supply berupa arus bolak-

balik (AC) sehingga power supply harus mengubah tegangan AC menjadi DC

(arus searah), karena hardware komputer hanya dapat beroperasi dengan arus

DC. Power supply berupa kotak yang umumnya diletakan dibagian belakang atas

casing.

Gambar 2.7 Power suplly

2.3.1 Fungsi Power Supply Pada Komputer.

Fungsi Power Supply pada komputer adalah sebagai perangkat keras yang

memberikan atau menyuplai arus listrik yang sebelumnya diubah dari bentuk arus

listrik yang berlawanan atau AC, menjadi arus listrik yang searah atau biasa disebut

sebagai arus DC. Power supply menyuplai arus listrik DC yang dibutuhkan oleh

perangkat keras di dalam komputer beberapa contoh hardware yang membutuhkan

arus listrik DC adalah harddisk, fan, motherboard dan lain-lain. Power supply juga

memiliki kenektor kabel yang masing-masing konektor kabel tersebut memiliki

fungsi yang berbeda-beda yang sangat dibutuhkan oleh komputer pada saat ini.

UNIVERSITAS SUMATERA UTARA

Page 27: ALAT UKUR ACELERASI DENGAN COMPLAMANTARY FILTER …

Sehingga dapat disimpulkan bahwa power supply merupakan perangkat keras yang

sangat penting dalam mengoperasikan suatu komputer.

2.3.2 Fungsi Power Supply berdasarkan beberapa jenis konektor

Power supply memiliki banyak konektor. Dan masing-masing dari konektor

memiliki fungsi yang berbeda. Walaupun sebagian kabel memiliki tegangan listrik

yang sama, tetapi setiap konektor sudah dikelompokkan berdasarkan fungsinya.

Untuk pengenalan, disini ada beberapa tipe konektor dan fungsinya pada komputer

yaitu:

a. ATX power connector (20pin + 4pin) :

Gambar 2.8 ATX power conector

ATX 20/24 pin konektor digunakan untuk menghubungkan power supply unit (PSU)

ke motherboard. Versi lama dari ATX motherboard masih menggunakan ATX 20 pin

konektor, jika kita menggunakan motherboard yang terbaru sudah membutuhkan

ATX 24 pin konektor. Konetktor ini terdiri dari 2 bagian. Bagian pertama berjumlah

20 pin dan bagian kedua 4 pin. Jika kita menggunakan motherboard yang baru maka

gabungkan antara 20 + 4 pin konektornya.

UNIVERSITAS SUMATERA UTARA

Page 28: ALAT UKUR ACELERASI DENGAN COMPLAMANTARY FILTER …

b. AT power connector (12 pin) :

Gamabar 2.9 AT power connector (12pin)

Konektor ini digunakan untuk motherboard kelas Pentium II kebawah. Konektor

yang memiliki 12 kabel ini dikelompokkan terpisah menjadi 2 bagian. Bagian

pertama disebut Konektor P8 dan bagian kedua disebut P9. Masing-masing konektor

memiliki 6 kabel. Untuk menghindari kesalahan dalam pemasangan, kita cukup

mempertemukan konektor yang memiliki kabel hitam di tengah-tengah.

c. Molex connector :

Konektor ini digunakan sumber tenaga bagi harddisk dan cd drive. Kadang sebagian

produsen juga membuat fan / kipas pendingin, lampu-lampu dan asesoris lainnya

menggunakan konektor ini. Konektor ini memiliki 4 kabel yang berbeda warna, yaitu

Merah, Hitan dan Kuning. Setiap warna memiliki sumber tegangan yang berbeda-

beda pula.

UNIVERSITAS SUMATERA UTARA

Page 29: ALAT UKUR ACELERASI DENGAN COMPLAMANTARY FILTER …

d. Berg connector :

Gambar 2.9 Berg connector

Merupakan konektor ukuran mini dari Molek. Konektor ini khusus digunakan untuk

Floppy Drive atau pun external audio card. Warna yang digunakan sama dengan

molek konektor, yaitu Warna Kuning (+12V), Merah (+5V) dan Hitam (0V atau

Ground). Karena penggunaan konektor ini jarang sekali, makanya pada setiap PSU

hanya berjumlah 1 atau 2 paling banyak.

e. ATX 12V (Intel) 4 pin connector :

Gambar 2.10 ATX 12 (intel) 4 pin connector

UNIVERSITAS SUMATERA UTARA

Page 30: ALAT UKUR ACELERASI DENGAN COMPLAMANTARY FILTER …

Konektor ini kebanyakan dipakai oleh para pengguna yang menggunakan Processor

buatan Intel. Fungsi dari konektor ini adalah sebagai penyedia tenaga tambahan

sebesar 12 V untuk Pentium 4 CPU. Jadi pada Pentium 4 kebawah, konektor ini tidak

perlu digunakan. Sekarang sebagian AMD motherboard juga sudah menggunakan

konektor ATX 12V ini.

f. pin PCI-E connector :

Gambar 2.11 pin PCI-E connector

Konektor yang satu ini memang jarang ditemukan untuk semua PC. Biasanya orang

yang menggunakan PSU ini adalah orang yang bekerja di bidang Multimedia

khususnya Video. Karena konektor ini hanya digunakan sebagai penambah daya

untuk video card yang menggunakan slot PCI Express. Jika kita menggunakan

Videoa Card jenis ini, tentu saja kita harus memiliki PSU yang mendukung untuk

konektor ini.

2.3.3 Fungsi Power Supply Berdasarkan Management Kabelnya

Power Supply juga dibedakan berdasarkan management pemasangan

kabelnya. yaitu power supply non-modular dan power supply modular. Secara

populasi, power supply non-modular lebih banyak di jual di pasaran karena memang

segmen-nya untuk kalangan kantong pas-pas-an. Yang membedakan adalah

management pemasangan kabelnya. Untuk lebih jelaskan lihat gambar perbedaannya

UNIVERSITAS SUMATERA UTARA

Page 31: ALAT UKUR ACELERASI DENGAN COMPLAMANTARY FILTER …

berikut.. Terlihat kabel dijadikan satu bundle dan keluar dari 1 lubang serta tidak bisa

dilepas pasang, jadi jika ada kabel yg tidak digunakan maka kabel itu tetap

menjuntai, dari kerapian agak menganggu dan tentunya juga mempengaruhi sirkulasi

udara di casing.

Gambar 2.12 power Supply modular

Sedangkan 2 gambar diatas adalah contoh power supply modular, tiap kabel bisa

dilepas pasang sesuai kebutuhan. Dengan demikian, managament kabel akan lebih

mudah, otomatis kualitas sirkulasi di casing komputer juga ikut terbantu.

Kekuranganya dari segi harga, pasti lebih mahal ketimbang yang non-modular.

2.3.4 Jenis-jenis power suplly

Jenis-Jenis Power Supply yang terdapat pada kebanyakan komputer sekarang ini

terbagi menjadi dua jenis. Kedua jenis power supply tersebut adalah Power Supply

AT dan Power Supply ATX. Dari kedua jenis power supply tersebut memiliki

beberapa perbedaan dan fungsinya.

UNIVERSITAS SUMATERA UTARA

Page 32: ALAT UKUR ACELERASI DENGAN COMPLAMANTARY FILTER …

1.Power Supply AT

merupakan jenis power supply yang tergolong lawas. Pada masa

kejayaannya, power supply jenis ini banyak digunakan oleh komputer Pentium II dan

juga Pentium III. Meskipun kini sangat jarang ditemui, namun Power Supply AT

sesungguhnya memiliki berbagai kelebihan. Power supply jenis ini memiliki kabel

power yang terhubung ke motherboard yang terbagi menjadi dua, yaitu konektor P8

dan P9. Resiko kesalahan pemasangan dengan menggunakan power supply jenis ini

pun sangat sedikit, mengingat untuk pemasangannya dibutuhkan ketelitian tinggi.

Kesalahan yang biasa terjadi saat pemasangan power supply adalah terbalik

mengingat terdapat dua konektor penghubung. Untuk pemasangan yang benar anda

harus memperhatikan kabel power warna hitam pada masing-masing konektor.

Pasangkan tepat pada tengah-tegah sambungan untuk menghindari konsleting. Untuk

mematikan Power Supply AT, anda harus menekan tombol power secara langsung

mengingat power supply jenis ini terhubung secara langsung ke chasing computer.

2. Power Supply ATX.

Power supply jenis ini memiliki tampilan yang lebih simpel dibandingkan power

supply sebelumnya. Untuk jenis power supply satu ini kabel konektor dengan

motherboard sudah menjadi satu dengan jumlah total 20 PIN. Oleh karena itu, Power

Supply ATX sering juga disebut dengan ATX 20 PIN. Untuk pemasangannya

sendiri, power supply jenis ini tergolong sangat mudah. Hal tersebut mengingat jika

terjadi kesalahan dalam pemasangan maka port pada motherboard dengan konektor

tidak akan menyatu. Hindari pemaksaan saat pemasangan karena dapat menebabkan

kerusakan baik pada port maupun pada konektor.

Kelebihan dari Power Supply ATX dibandingkan dengan AT adalah pada tombol

powernya. Untuk ATX 20 PIN sendiri sudah dilengkapi dengan auto shutdown yang

berfungsi mematikan power supply ketika computer dimatikan. Sehingga kita tidak

perlu susah payah untuk menekan tombol power seperti pada Power Supply AT. Dari

UNIVERSITAS SUMATERA UTARA

Page 33: ALAT UKUR ACELERASI DENGAN COMPLAMANTARY FILTER …

jenis-jeins power supply diatas, Power Supply ATX menjadi primadona untuk power

supply saat ini. Hal tersebut terbukti dari banyaknya pengguna komputer yang

memilih untuk menggunakan power supply yang satu ini.

2.4 sensor mpu6050

pada kesempatan kali ini kita akan membahas bagaimana cara menggunakan

sensor MPU6050. Sebelumnya kita bahas terlebuh dahulu sensor jenis apa sih

MPU6050 ini? Sensor MPU6050 adalah sensor mampu membaca kemiringan sudut

berdasarkan data dari sensor accelerometer dan sensor gyroscope. Sensor ini juga

dilengkapi oleh sensor suhu yang dapat digunakan untuk mengukur suhu dikeadaan

sekitar. Jalur data yang digunakan pada sensor ini adalah jalur data I2C.

Gambar 2.13 sensor MPU6050

UNIVERSITAS SUMATERA UTARA

Page 34: ALAT UKUR ACELERASI DENGAN COMPLAMANTARY FILTER …

BAB III

PERANCANGAN DAN PEMBUATAN

3.1 Blok Diagram Sistem

Gambar 3.1 Blok Diagram Sistem Alat

3.1.1 Fungsi Blok Sistem Alat

Keterangan dari Blok Diagram Sistem diatas adalah sebagai berikut :

1. Powre supply

Berfungsi untuk perangkat keras yang berfungsi untuk menyuplai tegangan

langsung kekomponen dalam casing yang membutuhkan tegangan

2. ATmega8

Berfungsi sebagai kontrol dan pembaca sinyal yang diberikan oleh sensor

3. LCD

Berfungsi sebagai output untuk menampilkan data

Power supply

MPU6050

Compelem

entary

filter

ATmega8

LCD

UNIVERSITAS SUMATERA UTARA

Page 35: ALAT UKUR ACELERASI DENGAN COMPLAMANTARY FILTER …

4. MPU6050

Berfungsi untuk membaca kemiringan sudut berdasarkan data dari sensor

5. Complementary filter

Berfungsi untuk

3.2 Rangkaian Power Suplay

Rangkaian ini berfungsi untuk memberikan supply tegangan ke seluruh

rangkaian yang ada. Rangkaian PSA yang dibuat terdiri dari dua keluaran, yaitu 5

volt dan 12 volt, keluaran 5 volt digunakan untuk mensupplay tegangan ke seluruh

rangkaian, sedangkan keluaran 12 volt digunakan untuk mensuplay tegangan ke

relay. Rangkaian power supplay ditunjukkan pada gambar 3.2 berikut ini :

Gambar 3.2 Rangkaian Power Supplay Adaptor (PSA)

Trafo CT merupakan trafo stepdown yang berfungsi untuk menurunkan

tegangan dari 220 volt AC menjadi 12 volt AC. Kemudian 12 volt AC akan

disearahkan dengan menggunakan dua buah dioda, selanjutnya 12 volt DC akan

diratakan oleh kapasitor 2200 μF. Regulator tegangan 5 volt (LM7805CT) digunakan

agar keluaran yang dihasilkan tetap 5 volt walaupun terjadi perubahan pada tegangan

masukannya. LED hanya sebagai indikator apabila PSA dinyalakan. Transistor PNP

TIP 32 disini berfungsi untuk mensupplay arus apabila terjadi kekurangan arus pada

rangkaian, sehingga regulator tegangan (LM7805CT) tidak akan panas ketika

rangkaian butuh arus yang cukup besar. Tegangan 12 volt DC langsung diambil dari

keluaran 2 buah dioda penyearah.

UNIVERSITAS SUMATERA UTARA

Page 36: ALAT UKUR ACELERASI DENGAN COMPLAMANTARY FILTER …

3.3Rangkaian mikrokontroler atmega8

Rangkaian mikrokontroller merupakan pusat pengendalian dari bagian input

dan keluaran serta pengolahan data. Pada sistem ini digunakan mikrokontroller jenis

ATmega8 yang memiliki spesifikasi sebagai berikut:

a. Kristal 8 MHz, yang berfungsi sebagai pembangkit clock.

b. Kapasitor 22 pF pada pin XTAL1 dan XTAL2.

c. Resistor 10 kΩ dan kapasitor 10 nF pada pin reset.

d. Port masukan dan keluaran yang digunakan yaitu :

1. PortC.0 digunakan sebagai Penerima data dari remote (receiver)

2. PortA.1, PortB.1 -PortB.4 digunakan sebagai data input basis transistor pada

driver relay.

Skema rangkaian sistem minimum mikrokontroller dapat dilihat pada gambar berikut

:

Gambar 3.3 Rangkaian Mikrokontroler atmega8

UNIVERSITAS SUMATERA UTARA

Page 37: ALAT UKUR ACELERASI DENGAN COMPLAMANTARY FILTER …

X Y

3.4 Rangkaian LCD

Pada alat ini, display yang digunakan adalah LCD (Liquid Crystal Display)

16 x 2. Untuk blok ini tidak ada komponen tambahan karena mikrokontroler

dapat memberi data langsung ke LCD, pada LCD Hitachi - M1632 sudah

terdapat driver untuk mengubah data ASCII output mikrokontroler menjadi

tampilan karakter. Pemasangan potensio sebesar 10 KΩ untuk mengatur

kontras karakter yang tampil. Gambar 3.7 berikut merupakan gambar

rangkaian LCD yang dihubungkan ke mikrokontroler.

Dari gambar 3.6, rangkaian ini terhubung ke PD.5, PD.6, PD.7, PB.0, PB.1 ,

PB.2 , PB.3 yang merupakan pin I/O dua arah dan pin fungsi khusus, yaitu

sebagai Timer/Counter, komperator analog dan SPI mempunyai fungsi

khusus sebagai pengiriman data secara serial. Sehingga nilai yang akan

tampil pada LCD display akan dapat dikendalikan oleh Mikrokontroler

Atmega8.

Gambar 3.4 Rangkaian LCD

3.5 Rangkaian MPU6050

Robot ini menggunakan sensor modul GY-521 dan sensor yang digunakan

adalah MPU6050, berikut rangkaian modul Gy-521.Sensor ini dapat mendeteki 3

axis sudut dan 3 axis kecepatan sudut, untuk 3 axis sudut adalah sudut x, y dan z.

Pada robot ini hanya menggunakan satu axis sudut, yaitu sumbu y. data yang

akan berubah jika sensor digerakkan searah sumbu y, data yang dihasilkan akan

dibagi dengan sensvitas sensor. Dalam perancangan ini hanya menggunakan 8 bit (0

– 255). Hasil pembacaan akan dibagi dengan sensivitas untuk mendapat hasil dalam

UNIVERSITAS SUMATERA UTARA

Page 38: ALAT UKUR ACELERASI DENGAN COMPLAMANTARY FILTER …

satuan g (gravitasi), dan nilai maksimumnya adalah 1 g dan minimumnya adalah -1

g, pada sensor ini nilai maksimal didapat pada sudut 900 jika digerakkan ke arah

sudut 180 maka nilainya akan berkurang secara linier sesuai dengan sudut hingga ke

sudut 00 sebaliknya jika digerakkan ke sudut 0

0 maka nilainya akan dimulai dari 0

dan naik secara linier hinggal ke nilai 255 di sudut 00, mengingat karakter

pembacaan sensor untuk range 0 – 255 adalah 00 - 180

0, dan nilai tertinggi dan

terendah pada sudut 90, makan perlu manipulasi program untuk mendapatkan sudut

satu lingkaran utuh (00 – 360), jika output mengarah ke angka yang lebih kecil maka

nilai maksimum (255) dikurangi output accelerometer, begitu juga sebaliknya jika

output mengarah ke angka yang lebih besar maka nilai output accelerometer

dikurangi dengan nilai minimum (0).

Untuk mengetehui output mengarah ke angka besar atau kea arah kecil maka

diperlukan angka refrensi dalam hal ini adalah pembacaan sensor pada sudut 900, jika

nilai output accelerometer lebih kecil dari refrensi maka nilanya mengarah ke angka

besar sebaliknya jika nilai output accelerometer lebih besar dari nilai refrensi maka

nilainya mengarah ke angka yang lebih kecil.

Output gyroscope berpengaruh kepada kesetabilan robot saat robot bergerak dan

saat robot mencapai titik seimbang robot, itu karena output gyroscope akan berbalik

saat terjadi robot berhenti mendadak dan besar kecilnya nilai juga berpengaruh dari

seberapa cepat kecepatan sudutnya.Berikut rangkaian MPU6050.

UNIVERSITAS SUMATERA UTARA

Page 39: ALAT UKUR ACELERASI DENGAN COMPLAMANTARY FILTER …

Gambar 3.5 Rangkaian Modul MPU6050

Dari rangkain di atas terlihat hanya 2 (dua) port saja yang dihubungkan ke

mikrokontroller, dan itu berguna untuk menghemat penggunaan port pada

mikrokontroller, tetapi kekurangannya waktu yang dibutuhkan untuk membaca

pastinya lebih lama jika dibandingkan dengan menggunakan PORT ADC, tetapi

selisih delay tidak terlalu mempengaruhi keseimbangan robot, sehingga komunikasi

menggunakan ini dapat digunakan.

UNIVERSITAS SUMATERA UTARA

Page 40: ALAT UKUR ACELERASI DENGAN COMPLAMANTARY FILTER …

3.6 Flowchart Alat

Gambar 3.6 flowchart alat

start

Inisialisasi

Read axis

Filter noise

complementary filter

Tampil LCD

selesai

UNIVERSITAS SUMATERA UTARA

Page 41: ALAT UKUR ACELERASI DENGAN COMPLAMANTARY FILTER …

BAB IV

ANALISA DAN PENGUJIAN

4.1 Pengujian Rangkaian Power Supply

Pengujian rangkaian power supply ini bertujuan untuk mengetahui tegangan

yang dikeluarkan oleh rangkaian tersebut, dengan mengukur tegangan keluaran dari

power supply menggunakan multimeter digital. Setelah dilakukan pengukuran maka

diperoleh besarnya tegangan keluaran sebesar 5 volt. Dengan begitu dapat dipastikan

apakah terjadi kesalahan terhadap rangkaian atau tidak. Jika diukur, hasil dari

keluaran tegangan tidak murni sebesar +9 Volt dan +12 Volt, tetapi +8.97Volt dan

+12.03 Volt. Hasil tersebut dikarenakan beberapa faktor, diantaranya kualitas dari

tiap-tiap komponen yang digunakan nilainya tidak murni.Selain itu, tegangan jala-

jala listrik yang digunakan tidak stabil.

4.2 Program pengujian Mikrokontroller ATMega8

Pemograman menggunakan mode ISP (In System Programming)

mikrokontroler harus dapat deprogram pada papan rangkaian dan rangkaian

mikrokontroler harus dapat dikenali oleh program downloader. Pada pengujian ini

berhasil dilakukan dengan dikenalinya jenis mikrokontroler oleh program

downloader yaitu Atmega8.

void setup() {

pinMode(LED_BUILTIN, OUTPUT);

}

void loop() {

digitalWrite(LED_BUILTIN, HIGH);

delay(1000);

digitalWrite(LED_BUILTIN, LOW);

delay(1000);

}

UNIVERSITAS SUMATERA UTARA

Page 42: ALAT UKUR ACELERASI DENGAN COMPLAMANTARY FILTER …

Atemega8 mengunakan Kristal dengan frekuensi 8 Mhz,apabila Chip

Signature sudah dikenali baik dan dalam waktu singkat, bias dikatakan rangkaian

mikrokontroler bekerja baik dengan mop ISP-nya.

4.3 Pengujian Interfacing LCD

Sensor akan membutuhkan waktu yang relatif untuk menyetabilkan tegangan

dan kondisi sensor. Dapat di simpulkan bahwa cara kerja sensor sensor encoder

ini adalah mendeteksi dan memgetahui hasil dari pengukuran ketebalan, diamter

dalam dan luar, juga kedalaman suatu benda yang akan diukur. Kemudian data

dikirim ke mikrokontroller, pada mikrokontroller dikalibrasi untuk mendapatkan

nilai yang sebenarnya. Setelah dikalibrasi data akan ditampilkan di LCD.

Pengujian sistem secara keseluruhan ini dilakukan dengan menggabungkan

semua peralatan ke dalam sebuah system yang terintegrasi. Tujuannya untuk

mengetahui bahwa rangkaian yang dirancang telah bekerja sesuai yang

diharapkan. Berikut adalah program untuk menampilkan data di LCD :

#include <LiquidCrystal.h>

LiquidCrystal lcd(8, 6, 5, 4, 3, 2);

void setup() {

lcd.begin(16, 2);

lcd.print("hello, world!");

}

void loop() {

lcd.setCursor(0, 1);

lcd.print(millis() / 1000);

}

UNIVERSITAS SUMATERA UTARA

Page 43: ALAT UKUR ACELERASI DENGAN COMPLAMANTARY FILTER …

4.4 Pengujian MPU6050 Accelerometer.

Unutk mengetahui sensor ini dapat bekerja dengan baik, maka dilakukan

pengujian dengan memprogram mikrokontroller, dengan tujuan untuk memastikan

sensor dapat mendeteksi Accelerometer atau tidak. Program dapat dilihat sebagai

berikut

#include <Wire.h>

#include <MPU6050.h>

MPU6050 mpu;

void setup()

{

Serial.begin(9600);

while(!mpu.begin(MPU6050_SCALE_2000DPS,

MPU6050_RANGE_2G))

{

delay(500);

}

}

void loop()

{

Vector normAccel = mpu.readNormalizeAccel();

Int pitch=-(atan2(normAccel.XAxis, sqrt(normAccel.

YAxis*normAccel.YAxis+normAccel.ZAxis*normAccel.ZAxis))*1

80.0)/M_PI;

Int roll=(atan2(normAccel.YAxis,normAccel.ZAxis)*180.0)

/M_PI;

Serial.print("DATA,");

Serial.print("TIME,");

Serial.print(pitch);

Serial.print(",");

Serial.print(roll);

Serial.println();

delay(100);

}

UNIVERSITAS SUMATERA UTARA

Page 44: ALAT UKUR ACELERASI DENGAN COMPLAMANTARY FILTER …

Data dikirim menggunakan komunikasi serial, dan langsung di float ke

Microsoftexcel dengan software PLX-DAQ, yang dirilis oleh parallax. Disini juga

terlihat hasil pembacaan sensor yang telah konversi data hasil pembacaan sensor ke

bentuk drajat Roll dan Pitch. Setelah program diterima sensor di digerakan kedepan

dan kebelakang

4.5 Pengujian Complamantary Filter

Filter ini digunakan untuk mengabungkan pembacaan gyroscope dan

accelerometer, filter ini dapat di jalankan dengan persamaan sebagai berikut:

CF= A * (f_angle + gyro * dt) + (1 - A) * acc;

dimana

dt = 0,010

a = 0,98

Penggabungan dan pengujianrumus didalam program, dapat dilihat seperti

program sebagai berikut:

#include <Wire.h>

#include <MPU6050.h>

MPU6050 mpu;

unsigned long timer = 0;

float timeStep = 0.01;

float roll_gyro = 0;

unsigned long preTime = 0;

float r_angle, f_angle, omega;

void setup()

{

Serial.begin(9600);

while(!mpu.begin(MPU6050_SCALE_2000DPS, MPU6050_RANGE_2G))

{

delay(500);

UNIVERSITAS SUMATERA UTARA

Page 45: ALAT UKUR ACELERASI DENGAN COMPLAMANTARY FILTER …

}

mpu.calibrateGyro();

mpu.setThreshold(3);

}

void loop()

{

timer = millis();

Vector norm = mpu.readNormalizeGyro();

Vector normAccel = mpu.readNormalizeAccel();

int roll_acc = (atan2(normAccel.YAxis, normAccel.ZAxis)*180.0)/M_PI;

roll_gyro = roll_gyro + norm.XAxis * timeStep;

float dt = 0,010;

preTime = now;

float A = 0.8;

f_angle = A * (f_angle + roll_gyro * dt) + (1 - A) * roll_acc;

Serial.print("DATA,");

Serial.print("TIME,");

Serial.print(roll_acc);

Serial.print(",");

Serial.print(roll_gyro);

Serial.print(",");

Serial.println(f_angle);

}

Ketika program dijalankan dan sensor digerakkan ke depan dan ke belakang

maka output sensor gyroscope dan accelerometer akan digabungkan ke

complementary filter untuk mendapatkan sudut yang seharusnya, pembacaan sensor

accelerometer yang tidak stabil saat bergerak akan diredam oleh pembacaan

gyroscope yang peka terhadap sensor yang bergerak tetapi tidak stabil saat sensor

dalam keadaan diam, dengan demikian perlu digunakan compelementary filter untuk

menutupi kekurangan accelerometer dengan pembacaan gyrocope. berikut hasil

pembacaan complementary filter.

UNIVERSITAS SUMATERA UTARA

Page 46: ALAT UKUR ACELERASI DENGAN COMPLAMANTARY FILTER …

BAB V

PENUTUP

5.1 KESIMPULAN

Setelah melakukan tahap perancangan dan pembuatan system yang kemudian

dilanjutkan dengan tahap pengujian dan analisa maka dapat diambil kesimpulan

sebagai berikut :

1. Pengukuran waterpass digital lebih mudah dilakukan karena waktu yang

dibutuhkan untuk pengukuran relatif singkat dan sudut kemiringan disajikan

dalam satuan derajat.

2. Penelitian ini memaparkan rancang bangun waterpass digital menggunakan

sensor MPU6050 berbasis ATmega8 yang portable dan ringan.

5.2 SARAN

Dari Tugas laporan alat ini masih terdapat beberapa kekurangan dan

dimungkinkan untuk pengembangan lebih lanjut. Oleh karenanya penulis merasa

perlu untuk member saran sebagai berikut :

1. Sebaiknya kotak penyimpanan komponen elektronika kompak sehingga

pada saat penekanan komponen elektronika goyang hal ini tidak

menggangu.

2. pada saat pembacaan digital kurang stabil hal ini dimungkinkan karena

penguat kurang stabil dan kuat arus baterai kurang stabil

UNIVERSITAS SUMATERA UTARA

Page 47: ALAT UKUR ACELERASI DENGAN COMPLAMANTARY FILTER …

DAFTAR PUSTAKA

A. Winoto, Mikrokontroler AVR ATmega8/32/16/8535 dan pemprogramannya dengan

bahasa C pada WinAVR, Bandung, Indonesia: Informatika, 2008.

Bishop Owen, 2004. Dasar-dasar Elektronika. Jakarta : Erlangga

Setiawan, Iwan,2009.Buku Ajar Sensor dan Transduser. Semarang: Fakultas Teknik

Universitas Diponegoro

Available: http://www.imagebali.net/detail-artikel/1174-mengukur-ketegakan-bidang.php.

Avalaible: http://elektro-kontrol.blogspot.com/2011/06/pengukuran-kemiringan

menggunakan.html

Website. http://prasetyoabdi.blogspot.co.id/2014/12/menggunakan-sensor-mpu6050-

pada.html

Website: http://www.insinyoer.com/timer-pada-mikrokontroller-avr/

Website: https://dudirudiawan8.files.wordpress.com/2014/10/162146-front2.jpg

Website. http://khedanta.wordpress.com/2011/08/23/unting-unting/.

Website. http://www.innovativeelectronics.com/innovative_electronics/

[25 September 2011]

Website. https://dudirudiawan8.files.wordpress.com/2014/10/eps4plus4.jpg

Website. https://dudirudiawan8.files.wordpress.com/2014/10/images1.jpeg

Website. https://dudirudiawan8.files.wordpress.com/2014/10/conn_atx_classic2.jpg

Website. http://www.researchgate.net/figure/271646901_fig8_Figure-33-Block-Diagram-of-

ATmega8

Website. : http://giantika.ilearning.me/2014/03/04/atmega8-dan-atmega8535

Website. : http://fahmizaleeits.wordpress.com/2010/04/09/fitur-atmega8535

UNIVERSITAS SUMATERA UTARA

Page 48: ALAT UKUR ACELERASI DENGAN COMPLAMANTARY FILTER …

#include <LiquidCrystal.h>

LiquidCrystal lcd(8, 6, 5, 4, 3, 2);

#include <Wire.h>

#include <Kalman.h> // Source: https://github.com/TKJElectronics/KalmanFilter

#define RESTRICT_PITCH // Comment out to restrict roll to ±90deg instead - please read:

http://www.freescale.com/files/sensors/doc/app_note/AN3461.pdf

Kalman kalmanX; // Create the Kalman instances

Kalman kalmanY;

/* IMU Data */

double accX, accY, accZ;

double gyroX, gyroY, gyroZ;

int16_t tempRaw;

double gyroXangle, gyroYangle; // Angle calculate using the gyro only

double compAngleX, compAngleY; // Calculated angle using a complementary filter

double kalAngleX, kalAngleY; // Calculated angle using a Kalman filter

uint32_t timer;

uint8_t i2cData[14]; // Buffer for I2C data

// TODO: Make calibration routine

void setup() {

Serial.begin(9600);

lcd.begin(16, 2);

Wire.begin();

#if ARDUINO >= 157

Wire.setClock(400000UL); // Set I2C frequency to 400kHz

UNIVERSITAS SUMATERA UTARA

Page 49: ALAT UKUR ACELERASI DENGAN COMPLAMANTARY FILTER …

#else

TWBR = ((F_CPU / 400000UL) - 16) / 2; // Set I2C frequency to 400kHz

#endif

i2cData[0] = 7; // Set the sample rate to 1000Hz - 8kHz/(7+1) = 1000Hz

i2cData[1] = 0x00; // Disable FSYNC and set 260 Hz Acc filtering, 256 Hz Gyro filtering, 8 KHz

sampling

i2cData[2] = 0x00; // Set Gyro Full Scale Range to ±250deg/s

i2cData[3] = 0x00; // Set Accelerometer Full Scale Range to ±2g

while (i2cWrite(0x19, i2cData, 4, false)); // Write to all four registers at once

while (i2cWrite(0x6B, 0x01, true)); // PLL with X axis gyroscope reference and disable sleep mode

while (i2cRead(0x75, i2cData, 1));

if (i2cData[0] != 0x68) { // Read "WHO_AM_I" register

Serial.print(F("Error reading sensor"));

while (1);

}

delay(100); // Wait for sensor to stabilize

while (i2cRead(0x3B, i2cData, 6));

accX = (int16_t)((i2cData[0] << 8) | i2cData[1]);

accY = (int16_t)((i2cData[2] << 8) | i2cData[3]);

accZ = (int16_t)((i2cData[4] << 8) | i2cData[5]);

#ifdef RESTRICT_PITCH // Eq. 25 and 26

double roll = atan2(accY, accZ) * RAD_TO_DEG;

double pitch = atan(-accX / sqrt(accY * accY + accZ * accZ)) * RAD_TO_DEG;

#else // Eq. 28 and 29

double roll = atan(accY / sqrt(accX * accX + accZ * accZ)) * RAD_TO_DEG;

double pitch = atan2(-accX, accZ) * RAD_TO_DEG;

#endif

kalmanX.setAngle(roll); // Set starting angle

kalmanY.setAngle(pitch);

UNIVERSITAS SUMATERA UTARA

Page 50: ALAT UKUR ACELERASI DENGAN COMPLAMANTARY FILTER …

gyroXangle = roll;

gyroYangle = pitch;

compAngleX = roll;

compAngleY = pitch;

timer = micros();

}

void loop() {

/* Update all the values */

while (i2cRead(0x3B, i2cData, 14));

accX = (int16_t)((i2cData[0] << 8) | i2cData[1]);

accY = (int16_t)((i2cData[2] << 8) | i2cData[3]);

accZ = (int16_t)((i2cData[4] << 8) | i2cData[5]);

tempRaw = (int16_t)((i2cData[6] << 8) | i2cData[7]);

gyroX = (int16_t)((i2cData[8] << 8) | i2cData[9]);

gyroY = (int16_t)((i2cData[10] << 8) | i2cData[11]);

gyroZ = (int16_t)((i2cData[12] << 8) | i2cData[13]);;

double dt = (double)(micros() - timer) / 1000000; // Calculate delta time

timer = micros();

#ifdef RESTRICT_PITCH // Eq. 25 and 26

double roll = atan2(accY, accZ) * RAD_TO_DEG;

double pitch = atan(-accX / sqrt(accY * accY + accZ * accZ)) * RAD_TO_DEG;

#else // Eq. 28 and 29

double roll = atan(accY / sqrt(accX * accX + accZ * accZ)) * RAD_TO_DEG;

double pitch = atan2(-accX, accZ) * RAD_TO_DEG;

#endif

double gyroXrate = gyroX / 131.0; // Convert to deg/s

double gyroYrate = gyroY / 131.0; // Convert to deg/s

UNIVERSITAS SUMATERA UTARA

Page 51: ALAT UKUR ACELERASI DENGAN COMPLAMANTARY FILTER …

#ifdef RESTRICT_PITCH

if ((roll < -90 && kalAngleX > 90) || (roll > 90 && kalAngleX < -90)) {

kalmanX.setAngle(roll);

compAngleX = roll;

kalAngleX = roll;

gyroXangle = roll;

} else

kalAngleX = kalmanX.getAngle(roll, gyroXrate, dt); // Calculate the angle using a Kalman filter

if (abs(kalAngleX) > 90)

gyroYrate = -gyroYrate; // Invert rate, so it fits the restriced accelerometer reading

kalAngleY = kalmanY.getAngle(pitch, gyroYrate, dt);

#else

if ((pitch < -90 && kalAngleY > 90) || (pitch > 90 && kalAngleY < -90)) {

kalmanY.setAngle(pitch);

compAngleY = pitch;

kalAngleY = pitch;

gyroYangle = pitch;

} else

kalAngleY = kalmanY.getAngle(pitch, gyroYrate, dt); // Calculate the angle using a Kalman filter

if (abs(kalAngleY) > 90)

gyroXrate = -gyroXrate; // Invert rate, so it fits the restriced accelerometer reading

kalAngleX = kalmanX.getAngle(roll, gyroXrate, dt); // Calculate the angle using a Kalman filter

#endif

gyroXangle += gyroXrate * dt; // Calculate gyro angle without any filter

gyroYangle += gyroYrate * dt;

//gyroXangle += kalmanX.getRate() * dt; // Calculate gyro angle using the unbiased rate

//gyroYangle += kalmanY.getRate() * dt;

UNIVERSITAS SUMATERA UTARA

Page 52: ALAT UKUR ACELERASI DENGAN COMPLAMANTARY FILTER …

compAngleX = 0.93 * (compAngleX + gyroXrate * dt) + 0.07 * roll; // Calculate the angle using a

Complimentary filter

compAngleY = 0.93 * (compAngleY + gyroYrate * dt) + 0.07 * pitch;

// Reset the gyro angle when it has drifted too much

if (gyroXangle < -180 || gyroXangle > 180)

gyroXangle = kalAngleX;

if (gyroYangle < -180 || gyroYangle > 180)

gyroYangle = kalAngleY;

/* Print Data */

#if 0 // Set to 1 to activate

Serial.print(accX); Serial.print("\t");

Serial.print(accY); Serial.print("\t");

Serial.print(accZ); Serial.print("\t");

Serial.print(gyroX); Serial.print("\t");

Serial.print(gyroY); Serial.print("\t");

Serial.print(gyroZ); Serial.print("\t");

Serial.print("\t");

#endif

Serial.print(roll); Serial.print("\t");

Serial.print(gyroXangle); Serial.print("\t");

Serial.print(compAngleX); Serial.print("\t");

Serial.print(kalAngleX); Serial.print("\t");

Serial.print("\t");

UNIVERSITAS SUMATERA UTARA

Page 53: ALAT UKUR ACELERASI DENGAN COMPLAMANTARY FILTER …

Serial.print(pitch); Serial.print("\t");

Serial.print(gyroYangle); Serial.print("\t");

Serial.print(compAngleY); Serial.print("\t");

Serial.print(kalAngleY); Serial.print("\t");

lcd.clear();

lcd.setCursor(0,0);

lcd.print(" Pitch Rol ");

lcd.setCursor(2,1);

lcd.print(kalAngleY,0);

lcd.write(0b11011111);

lcd.setCursor(11,1);

lcd.print(kalAngleX,0);

lcd.write(0b11011111);

#if 0 // Set to 1 to print the temperature

Serial.print("\t");

double temperature = (double)tempRaw / 340.0 + 36.53;

Serial.print(temperature); Serial.print("\t");

#endif

Serial.print("\r\n");

delay(200);

}

UNIVERSITAS SUMATERA UTARA