• Tidak ada hasil yang ditemukan

WATERPASS DIGITAL MENGGUNAKAN SENSOR AKSELERASI DAN SENSOR GYROSCOPE BERBASIS MIKROKONTROLER ATMEGA328 PROJEK AKHIR II

N/A
N/A
Protected

Academic year: 2022

Membagikan "WATERPASS DIGITAL MENGGUNAKAN SENSOR AKSELERASI DAN SENSOR GYROSCOPE BERBASIS MIKROKONTROLER ATMEGA328 PROJEK AKHIR II"

Copied!
86
0
0

Teks penuh

(1)

WATERPASS DIGITAL MENGGUNAKAN SENSOR AKSELERASI DAN SENSOR GYROSCOPE BERBASIS

MIKROKONTROLER ATMEGA328

PROJEK AKHIR II

LANTIKA ANASTASIA TINAMBUNAN 162411012

PROGRAM STUDI D3 METROLOGI DAN INSTRUMENTASI FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM

UNIVERSITAS SUMATERA UTARA MEDAN

2019

(2)

WATERPASS DIGITAL MENGGUNAKAN

SENSOR AKSELERASI DAN SENSOR GIROSCOPE BERBASIS MIKROKONTROLER ATMEGA328

PROJEK AKHIR II

DIAJUKAN UNTUK MELENGKAPI TUGAS DAN MEMENUHI SYARAT MEMPEROLEH GELAR AHLI MADYA

LANTIKA ANASTASIA TINAMBUNAN 162411012

PROGRAM STUDI D3 METROLOGI DAN INSTRUMENTASI FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM

UNIVERSITAS SUMATERA UTARA MEDAN

2019

(3)

PERNYATAAN ORISINALITAS

WATERPASS DIGITAL MENGGUNAKAN SENSOR AKSELERASI DAN SENSOR GYROSCOPE BERBASIS

MIKROKONTROLER ATMEGA 328

PROJEK AKHIR II

Saya mengakui bahwa tugas akhir ini adalah hasil kerja saya sendiri. Kecuali beberapa kutipan dan ringkasan yang masing-masing di sebutkan sumbernya.

Medan, 29 Juli 2019

Lantika Anastasia Tinambunan 162411012

(4)

Judul : Waterpass Digital Menggunakan Sensor Akselerasi dan Sensor Gyroscope Berbasis Mikrokontroler Atmega328

Kategori : Projek Akhir II

Nama : Lantika Anastasia Tinambunan Nomor Induk Mahasiswa : 162411012

Program Studi : D-III Metrologi dan Instrumentasi Fakultas : MIPA - Universitas Sumatera Utara

Disetujui di Medan, 8 Juli 2019

Ketua Program Studi Pembimbing ,

D-III Metrologi Dan Instrumentasi

Dr.Diana A. Barus, M.Sc Dr. Kerista Sebayang, MS NIP.196607291992032002 NIP. 195806231986011001

(5)

MIKROKONTROLER ATMEGA 328

ABSTRAK

Alat ini berfungsi mengukur kemiringan suatu bidang untuk kegiatan kalibrasi, tera dan tera ulang. Dimana Tugas akhir ini menggunakan Sensor Akselerasi dan Sensor Gyroscope, Microkonroler ATMega 328, LED 16x2 sebagai keluarannya. Mikrokontroler AT Mega 328 mempunyai input berbentuk sensor, dan sensor ini akan mendeteksi kemiringan suatu bidang kemudian menampilkannya hasil pengukuran pada LCD.

Kata Kunci: ATMega 328, Akselerasi, Gyroscope, LCD

(6)

ATMEGA 328 MICROCONTROLLER

ABSTRACT

This tool serves to measure the slope of a field for calibration activities, tera and tera repeat. Where this final project uses the Acceleration Sensor and Gyroscope Sensor, Microconroler ATMega 328, 16x2 LED as the output. AT Mega 328 microcontroller has a sensor-shaped input, and this sensor will detect the slope of a field then display the measurement results on the LCD.

Keyword : ATMega 328, Akselerasi, Gyroscope, LCD.

(7)

Puji dan syukur penulis panjatkan kepada Tuhan Yang Maha Esa, karena berkat rahmatNya penulis dapat menyelesaikan Projek Akhir 2 ini.

Ucapan terimakasih penulis sampaikan kepada berbagai pihak yang telah banyak membantu penulis baik secara lansung maupun tidak langsung .yaitu Bapak Dr. Kerista Sebayang ,MS , selaku Dosen pembimbing yang telah mengarahkan penulis. Ibu Dr. Diana Alemin Barus M,Sc selaku Ketua Program Studi D-III Metrologi dan Instrumentasi fakultas MIPA Universitas Sumatera Utara.

Seluruh staf pengajar / pegawai , Bapak dan Ibu tercinta serta saudara dan saudari saya yang telah memberikan bantuan berupa dukungan moril dan materil, yang sangat membantu dalam menyelesaikan Projek Akhir 2 ini. Penulis juga bersyukur dan berterimakasih kepada seluruh bagian dari kelompok kecil Ad Maioreim Dei Gloriam UKM KMK USU, seluruh rekan My Academy Brand Ambassador , dan semua sahabat saya yang tidak bisa saya sebutkan satu persatu yang telah memberikan waktu, motivasi dan semangat.

Penulis menyadari bahwa penyusunan Laporan Tugas Akhir Ini masih terdapat kekurangan . Untuk itu, penulis mengharapkan apresiasi berupa saran dan kritik dari semua pihak untuk penyempurnaan laporan dimasa yang akan datang.

Akhir kata , semoga laporan ini dapat bermanfaat bagi rekan-rekan Mahasiswa dan pembaca sekalian untuk menambah pengetahuan dan menjadi bahan referensi untuk karya selanjutnya.

Medan, 29 Juli 2019

Lantika Anastasia Tinambunan

(8)

PENGESAHANLAPORAN TUGAS AKHIR i

ABSTRAK ii

ABSTRACT iii

PENGHARGAAN iv

DAFTAR ISI v

DAFTAR GAMBAR vii

DAFTAR TABEL viii

BAB I PENDAHULUAN 1

1.1 Latar Belakang 1

1.2 Rumusan Masalah 2

1.3 Tujuan 2

1.4 Batasan Masalah 2

1.5 Sistematika Penulisan 3

BAB II LANDASAN TEORI 4

2.1 Sensor Akselerasi 4

2.2 Sensor Gyrocope 7

2.3 Mikrokontroler ATMega328 8

2.4 LCD (Liquid Crystal Display) 11

2.4.1 Fitur LCD 16 x 2 15

2.4.2 Cara Keja LCD Secara Umum 15

2.5 Buzzer 16

2.6 Sensor MPU 6050 18

2.7 Power Supply 18

2.8.Bahasa C 25

BAB III RANCANGAN SISTEM 31

3.1 Diagram Blok an Cara Kerja Rangkaian 31

3.2 Perancangan Rangkaian Catu Daya 31

3.3 Perancangan dengan Mikrokontroler ATMega 328 32

(9)

4.1 Pengujian Rangkaian Power Supply 35 4.2 Pengujian Rangkaian Mikrokontroller ATMega 328 35

4.3 Interfacing LCD 35

4.4 Prinsip Kerja Sensor MPU 6050 41

BAB V PENUTUP 44

5.1 Kesimpulan 44

5.2 Saran 44

DAFTAR PUSTAKA 45

(10)

BAB 1 PENDAHULUAN

1.1 Latar belakang

Instrumentasi adalah alat-alat dan piranti (device) yang dipakai untuk pengukuran dan pengendalian dalam suatu sistem yang lebih besar dan lebih kompleks. Instrumentasi sebagai alat pengukur sering kali merupakan bagian depan/

awal dari bagian-bagian selanjutnya (bagian kendalinya) dan bisa berupa pengukur dari semua jenis besaran fisis, kimia, mekanis, maupun besaran listrik. Beberapa contoh diantaranya adalah : alat ukur massa, waktu, panjang, luas, sudut, suhu, kelembaban, tekanan, aliran, pH (keasaman), level, radiasi, suara, cahaya, kecepatan, torque, sifat listrik (arus listrik, tegangan listrik, tahanan listrik), viskositas, density dan lain sebagainya. Elektronika dan Instrumentasi merupakan cabang ilmu rekayasa yang menggabungkan antara pengetahuan elektronika dan instrumentasi yang diperlukan dalam suatu industri. Dalam bidang industri, pengetahuan elektronika sangat diperlukan untuk mendukung sistem pengukuran dan pengontrolan instrumentasi dari industri yang dikendalikan. Perkembangan dan kemajuan teknologi telah menciptakan banyak alat-alat yang mampu mempermudah dan mempercepat pekerjaan manusia. Alat-alat bantu ini menggunakan sistem instrumentasi atau elektronika digital yang banyak digunakan di tempat-tempat umum terlebih pada transaksi pedagangan. Pengukuran dalam transaksi perdagangan secara langsung biasanya kita gunakan alat ukur yang menggunakan sistem instrumen yang sudah dikembangkan teknologinya karena ketepatan dalam pengukuran sangat diperlukan. Mengukur kedataran elevasi / peil sutu bidang menggunakan waterpass yang masih manual tetapi tentang kepastian pengukuran waterpass adalah kurang maka akan mempengaruhi kegiatan kalibrasi, tera dan tera ulang yang dilakukan tujuannya untuk mendapatkan hasil yang presisi dengan kesalahan yang masih dibawah batas kesalahan yang diizinkan (BKD) dari latar belakang tersebut maka dirancanglah sebuah alat yaitu waterpass digital dengan menggunakan sensor akselerasi dan sensor gyroscope untuk mendapatkan suatu hasil pengukuran yang akurat, dapat dipercaya, serta dengan kesalahan pengukuran yang cukup kecil. Sensor akselerasi adalah suatu alat untuk mengukur percepatan

(11)

sehingga dapat mendeteksi adanya perubahan posisi device dan berapa banyak perubahan itu terjadi, sensor ini telah banyak dipakai di beberapa bidang seperti pada windows phone, namun kali ini sensor diaplikasikan sebagai sensor pada perancangan alat ukur yaitu waterpass digital. Sensor akselometer sangatlah cocok digunakan pada perancangan waterpass digital ini karena sifat sensor yang peka terhadap tekanan yang diberikan terhadap lingkungannya bahkan ketika diletakkan diatas meja sekalipun bisa terjadi variasi data sehingga kemungkinan kesalahan adalah 0-1. Gyroscope adalah berupa sensor gyro untuk menentukan orientasi gerak dengan bertumpu pada roda atau cakram yang berotasi dengan cepat pada sumbu.

Gyroscope sensor bisa mendeteksi gerakan sesuai gravitasi, atau dengan kata lain mendeteksi gerakan pennguna. Kita bisa membayangkan sebuah game pertempuran, sebelum ini bila kita ingin melihat situasi sekeliling, kita akan menyapu layar searah terus menerus untuk berputar, dengan gyro sensor ini kita cukup berputar sesuai gravitasi seperti benar-benar melihat sekeliling. Atau bila melihat sebuah obyek 3D kita cukup berputar untuk melihat setiap sudut obyek tersebut.

1.2 Permasalahan

Karena sedikitnya yang mengembangkan tentang alat ukur kedataran, maka dibuatlah WATERPASS DIGITAL MENGGUNAKAN SENSOR AKSELERASI DAN SENSOR GYROSCOPE BERBASIS MIKROKONTROLER ATMEGA 328 agar mempermudah dalam menentukan kedataran suatu bidang dengan akurat.

1.3 Tujuan

Adapun tujuan dibuat alat ini adalah untuk mengukur titik-titik kemiringan pada suatu bidang tertentu, misalnya kemiringan pada bangunan, kemiringan pada meja, dan lain-lain.

1.4 Batasan Masalah

Penulis membatasi ruang lingkup, hal ini di lakukan agar pembatasannya tidak menyimpang tentang kedataran menggunakan sensor akselerasi dan sensor gyroscope. Batasan masalah dalam pembuatan tugas akhir ini mengenai aplikasi sensor dan mikrokontroler sehingga didapat kedataran suatu bidang.

(12)

1.5 Sistem Penulisan

Adapun Tujuan pembuatan sistem penulisan tugas akhir ini adalah untuk lebih memudahkan penulis dalam membuat dan menyelesaikan permasalah yang dianalisis sehingga lebih terarah dan terfokus. Adapaun sistematika penulisan laporan tugas akhir ini adalah sebagai berikut :

BAB 1 : PENDAHULUAN

Dalam bab ini penulis menguraikan tentang latar belakang penulis, Batasan Masalah, rumusan masalah, maksud dan tujuan, data dan sistem penulisan.

BAB 2 : TINJAUAN PUSTAKA

Dalam bab ini dijelaskan tentang teori pendukung yang digunakan untuk pembahasan dan cara kerja dari rangkaian teori pendukung itu antara lain tentang sensor akselerai, sensor gyroscope dan mikrokontroler ATMega 328

BAB 3 : PERANCANGAN ALAT DAN PROGRAM

Membahas tentang perencanaan sistem dan pembuatan sistem secara keseluruhan.

BAB 4 : ANALISA RANGAKAIAN

Berisi tentang uji coba alat yang telah dibuat, pengoperasian dan spesifikasi alat dan lain-lain

BAB 5 : KESIMPULAN DAN SARAN

Merupakan kesimpulan dari pembahasan pada bab-bab sebelumnya dan kemungkinan pengembangan alat.

(13)

BAB 2

TINJAUAN PUSTAKA

2.1 Sensor Akselerasi

Percepatan merupakan suatu keadaan berubahnya kecepatan terhadap waktu.

Bertambahnya suatu kecepatan dalam suatu rentang waktu disebut juga percepatan (acceleration). Jika kecepatan semakin berkurang daripada kecepatan sebelumnya, disebut deceleration. Bergantung pada arah/orientasi karena merupakan penurunan kecepatan yang merupakan besaran vektor. Berubahnya arah pergerakan suatu benda akan menimbulkan percepatan pula.

Untuk memperoleh data jarak dari sensor accelerometer, diperlukan proses integral ganda terhadap keluaran sensor. Accelerometer adalah sebuah perangkat yang mampu mengukur sebuah kekuatan akselerasi. Kekuatan ini mungkin statis (diam) seperti halnya kekuatan konstan dari gravitasi Bumi, atau bisa juga bersifat dinamis karena gerakan atau getaran dari sebuah alat akselerometer.

Gambar 2.1 sensor accelerometer

Accelerometer adalah sebuah tranduser yang berfungsi untuk mengukur percepatan, mendeteksi dan mengukur getaran, ataupun untuk mengukur percepatan akibat gravitasi bumi. Accelerometer juga dapat digunakan untuk mengukur getaran yang terjadi pada kendaraan, bangunan, mesin, dan juga bisa digunakan untuk mengukur getaran yang terjadi di dalam bumi, getaran mesin, jarak yang dinamis, dan kecepatan dengan ataupun tanpa pengaruh gravitasi bumi. Sebuah accelerometer

(14)

juga dapat digunakan untuk mengukur getaran yang terjadi pada kendaraan, bangunan, mesin, jarak yang dinamis, dan kecepatan dengan ataupun tanpa pengaruh dari gaya gravitasi.

Prinsip kerja dari accelerometer ini berdasarkan prinsip Fisika bahwa apabila suatu konduktor digerakkan melalui suatu medan magnet, atau jika suatu medan magnet digerakkan melalui suatu konduktor, maka akan timbul suatu tegangan induksi pada konduktor tersebut.

Sebuah accelerometer yang diletakan di permukaan Bumi dapat mendeteksi percepatan 1g (ukuran percepatan gravitasi Bumi) pada titik vertikalnya, untuk percepatan yang dikarenakan oleh pergerakan horizontal maka accelerometer akan mengukur percepatannya secara langsung ketika bergerak secara horizontal.

Hal ini sesuai dengan tipe dan jenis sensor Accelerometer yang digunakan karena setiap jenis sensor berbeda-beda sesuai dengan spesifikasi yang dikeluarkan oleh perusahaan pembuatnya. Saat ini hampir semua sensor dan tranduser accelerometer sudah dalam bentuk digital (bukan dengan sistem mekanik) sehingga nilai percepatan gravitasinya dapat diolah secara digital dalam satu chip. Adapun beberapa jenis accelerometer antara lain.

Capacitive, dengan lempengan logam pada sensor menghasilkan sejumlah kapasitansi yang dipengaruhi oleh besarnya percepatan yang terjadi

Piezoelectric, dengan kristal piezoelectric yang terdapat pada accelerometer jenis ini mengeluarkan tegangan yang selanjutnya dapat dijadikan referensi untuk mengukur nilai percepatan

Piezoresistive, dengan lempengan yang memiliki nilai hambatan yang akan berubah sesuai dengan perubahan tingkat percepatan

Hall effect, perubahan nilai percepatan diubah menjadi signal listrik berdasarkan pada setiap perubahan pergerakan yang terjadi pada daerah yang terinduksi magnet

Magnetoresistive, perubahan percepatan diketahui berdasarkan besarnya nilai hambatan material karena adanya daerah yang terinduksi oleh magnet

Heat transfer, nilai percepatan dapat diketahui dari lokasi sebuah benda yang dipanaskan dan diukur ketika terjadi percepatan dengan sensor suhu.

(15)

Contoh penggunaan Accelerometer : 1. Transportasi

Salah satu penggunaan accelerometer yang sangat umum yaitu dalam sistem airbag yang terdapat pada kendaraan, khususnya mobil. Accelerometer ini digunakan untuk mendeteksi penurunan percepatan yang sangat besar yang biasanya terjadi ketika terjadinya tabrakan antar kendaraan.

2. Bidang Medis

Sport Watch, berupa jam tangan olahraga yang juga dapat menghitung berapa banyak langkah yang telah kita lakukan, menggunakan accelerometer untuk menghitung kecepatan dan jarak dari si pelari yang menggunakannya.

3. Science and Engineering

Accelerometer banyak digunakan untuk menghitung percepatan dan penurunan percepatan dari sebuah kendaraan. Accelerometer membantu untuk mengevaluasi performansi dari mesin dan sistem percepatan dan juga breaking

system (sistem penurunan percepatan).

Kecepatan yang biasa ditampilkan pada kendaraan anda umumnya didapatkan dari penggunaan accelerometer. Selain itu juga biasa digunakan untuk menghitung vibrasi pada kendaraan, mesin, bangunan, dan sistem keamanan pada kendaraan (safety installation). Accelerometer juga dapat mengkalkulasi percepatan yang diakiabatkan oleh gravitasi bumi. Accelerometer yang menghitung gravitasi secara spesifik digunakan pada gravimetry, disebut sebagai gravimeter. Notebook atau laptop juga dilengkapi dengan accelerometer untuk mengevaluasi goncangan yang dirasakan oleh laptop tersebut.

4. Peralatan Elektronik

Accelerometer pada laptop biasanya digunakan pada sistem Sudden Motion Sensor, yang biasa digunakan untuk mendeteksi jatuhnya laptop. Jika kondisi pada saat jatuh terdeteksi, hard disk drive yang ada akan diproteksi sehingga tidak terjadi data loss. Sekarang ini juga terdapat notebook yang menggunakan accelerometer untuk secara otomatis mengubah arah layar (menjadi miring ataupun terbalik) sesuai dengan arah monitor tersebut ditegakkan (portrait atau landscape). Terdapat juga sejumlah handphone yang menggunakan accelerometer untuk mengubah lagu yang dimainkan (Track Switching). Camera

(16)

recorder menggunakan accelerometer untuk menstabilkan gambar (image stabilization). Camera digital menggunakan accelerometer untuk menu pilihan anti blur ketika mengambil gambar

2.2 Sensor Gyroscope

Giroskop adalah perangkat untuk mengukur atau mempertahankan orientasi, yang berlandaskan pada prinsip-prinsip momentum sudut. Secara mekanis, giroskop berbentuk seperti sebuah roda berputar atau cakram di mana poros bebas untuk mengambil setiap orientasi. Meskipun orientasi ini tidak tetap, perubahannya dalam menanggapi torsi eksternal jauh lebih sedikit dan berlangsung dalam arah yang berbeda jika dibandingkan dengan tanpa momentum sudut, yang berkaitan dengan tingginya tingkat putaran dan inersia momen.

Orientasi perangkat tetap sama, terlepas dari gerak platform pemasangan, karena pemasangan perangkat pada sebuah gimbal akan meminimalkan torsi eksternal. Cara kerja giroskop yang berlandaskan pada prinsip-prinsip operasi lain juga ada, misalnya giroskop MEMS perangkat elektronik yang ditemukan pada perangkat elektronik konsumen, cincin laser, giroskop optik serat, dan giroskop kuantum yang sangat sensitif.

Limitasi yang dimiliki oleh Accelerometer membuat smartphone seringkali tidak akurat dalam menentukan perubahan gerakan, arah terutama rotasi. Untuk beberapa game yang membutuhkan sensor gerakan lebih dari menggoyangkan ke kanan dan ke kiri, seperti first person shooter yang menggunakan arah smartphone, atau 360VR menggunakan cardboard, maka sensor gyro sangat mutlak untuk hadir di smartphone.

Terutama buat kamu yang ingin main game atau merasakan 360 VR, maka sensor ini sangat berguna. Tapi buat kamu yang hanya ingin menggunakan smartphone untuk bermain game tanpa melibatkan gerakan pada smartphone, fitur ini tidak perlu kita miliki. Makanya nggak heran kalau smartphone yang punya gyrosensor kebanyakan memiliki harga yang lebih tinggi dibandingkan yang dilengkapi dengan accelerometer saja. Pada gyroscope terdapat gyro sensor untuk menentukan orientasi gerak dengan bertumpu pada roda atau cakram yang berotasi

(17)

dengan cepat pada sumbu. Gyro sensor sendiri memiliki fungsi untuk mendeteksi gerakan sesuai gravitasi, atau dengan kata lain mendeteksi gerakan pengguna.

Gambar 2.2 sensor gyroscope

2.3 Mikrokontroler ATMega 328

ATMega328 adalah mikrokontroller keluaran dari atmel yang mempunyai arsitektur RISC (Reduce Instruction Set Computer) yang dimana setiap proses eksekusi data lebih cepat dari pada arsitektur CISC (Completed Instruction Set Computer). Mikrokontroller ATmega 328 memiliki arsitektur Harvard, yaitu memisahkan memori untuk kode program dan memori untuk data sehingga dapat memaksimalkan kerja dan parallelism.

Instruksi – instruksi dalam memori program dieksekusi dalam satu alur tunggal, dimana pada saat satu instruksi dikerjakan instruksi berikutnya sudah diambil dari memori program. Konsep inilah yang memungkinkan instruksi – instruksi dapat dieksekusi dalam setiap satu siklus clock. 32 x 8-bit register serba guna digunakan untuk mendukung operasi pada ALU (Arithmatic Logic unit) yang dapat dilakukan dalam satu siklus 6 dari register serbaguna ini dapat digunakan sebagai 3 buah register pointer 16-bit pada mode pengalamatan tidak langsung untuk mengambil data pada ruang memori data Ketiga register pointer 16-bit ini disebut dengan register X ( gabungan R26 dan R27 ), register Y ( gabungan R28 dan R29 ), dan register Z ( gabungan R30 dan R31 ). Hampir semua instruksi AVR memiliki format 16-bit. Setiap alamat memori program terdiri dari instruksi 16-bit atau 32-bit.

Selain register serba guna di atas, terdapat register lain yang terpetakan dengan teknik memory mapped I/O selebar 64 byte. Beberapa register ini digunakan untuk fungsi khusus antara lain sebagai register control Timer/ Counter, Interupsi, ADC,

(18)

USART, SPI, EEPROM, dan fungsi I/O lainnya. Register – register ini menempati memori pada alamat 0x20h – 0x5Fh.

Gambar 2.3 Mikrokontroler ATMega 328

Mikrokontroler ATMega328 memiliki 28 Pin, yang masing-masing pinnya memiliki fungsi yang berbeda-beda baik sebagai port maupun fungsi yang lainnya. Berikut akan dijelaskan fungsi dari masing-masing kaki ATmega8yaitu sebagai berikut : 1. VCC merupakan supply tegangan digital.

2. GND merupakan ground untuk semua komponen yang membutuhkan grounding.

3. 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 8bit bidirectional 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 padapengaturan Fuse bit yang digunakan untuk memilih sumber clock. Jika sumber clock yang dipilih dari oscillator internal, PB7 dan PB6 dapat digunakan sebagai I/O atau jika menggunakan AsyncronousTimer/Counter2 maka PB6 dan PB7 (TOSC2 dan TOSC1) digunakan untuk saluran input timer.

4. Port C (PC5...PC0), Port C merupakan sebuah 7-bit bidirectional I/O port yang di dalam masing-masing pin terdapat pull-up resistor. Jumlah pin nya hanya 7 buah mulai dari pin C.0sampai dengan pin C.6. Sebagai keluaran/output port C

(19)

memiliki karakteristik yang sama dalam hal menyerap arus (sink) ataupun mengeluarkan arus (source).

5. RESET/PC6, jika RSTDISBL Fuse diprogram, maka PC6 akan berfungsi sebagai pin I/O. Pin ini memiliki karakteristik yang berbeda dengan pin-pin 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 pulsaminimum, maka akan menghasilkan suatu kondisi reset meskipun clocknya tidak bekerja.

6. Port D (PD7...PD0), port D merupakan 8-bit bidirectional 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.

7. Avcc, pin ini berfungsi sebagai supply tegangan untuk ADC. Untuk pin ini harus dihubungkan secara terpisah dengan VCC karena pin ini digunakan untukanalog saja. Bahkan jika ADC pada AVR tidak digunakan tetap saja 9disarankan untuk menghubungkannya secara terpisah dengan VCC. Jika ADC digunakan, maka AVcc harus dihubungkan ke VCC melalui low pass filter.

8. AREF merupakan pin referensi jika menggunakan ADC.

Gambar 2.3.1 Konfigurasi pin ATMega 328

Pada AVR status register mengandung beberapa informasi mengenai hasil dari kebanyakan hasil eksekusi instruksi aritmatik. Informasi ini digunakan untuk altering arus program sebagai kegunaan untuk meningkatkan performa pengoperasian.

(20)

seperti yang tertulis dalam datasheet khususnya pada bagian Instruction Set Reference.

Dalam hal ini untuk beberapa kasus dapat membuang penggunaan kebutuhan instruksi perbandingan yang telah didedikasikan serta dapat menghasilkan peningkatan dalam hal kecepatan dan kode yang lebih sederhana dan singkat.

Register ini tidak secara otomatis tersimpan ketika memasuki sebuah rutin interupsi dan juga ketika menjalankan sebuah perintah setelah kembali dari interupsi. Namun hal tersebut harus dilakukan melalui software.

2.4 LCD (Liquid Crystal Display)

LCD (Liquid Crystal Display) adalah suatu jenis media tampil yang menggunakan kristal cair sebagai penampil utama. LCD sudah digunakan diberbagai bidang misalnya alal–alat elektronik seperti televisi, kalkulator, atau pun layar komputer. Pada postingan aplikasi LCD yang dugunakan ialah LCD dot matrik dengan jumlah karakter 2 x 16. LCD sangat berfungsi sebagai penampil yang nantinya akan digunakan untuk menampilkan status kerja alat.

Dalam modul LCD (Liquid Cristal Display) terdapat microcontroller yang berfungsi sebagai pengendali tampilan karakter LCD (Liquid Cristal Display).

Microntroller pada suatu LCD (Liquid Cristal Display) dilengkapi dengan memori dan register. Memori yang digunakan microcontroler internal LCD adalah :

a. DDRAM (Display Data Random Access Memory) merupakan memori tempat karakter yang akan ditampilkan berada.

b. CGRAM (Character Generator Random Access Memory) merupakan memori untuk menggambarkan pola sebuah karakter dimana bentuk dari karakter dapat diubah-ubah sesuai dengan keinginan.

c. CGROM (Character Generator Read Only Memory) merupakan memori untuk menggambarkan pola sebuah karakter dimana pola tersebut merupakan karakter dasar yang sudah ditentukan secara permanen oleh pabrikan pembuat LCD (Liquid Cristal Display) tersebut sehingga pengguna tinggal mangambilnya sesuai alamat memorinya dan tidak dapat merubah karakter dasar yang ada dalam CGROM.

Register control yang terdapat dalam suatu LCD diantaranya adalah:

(21)

1. Register perintah yaitu register yang berisi perintah-perintah dari mikrokontroler ke panel LCD (Liquid Cristal Display) pada saat proses penulisan data atau tempat status dari panel LCD (Liquid Cristal Display) dapat dibaca pada saat pembacaan data.

2. Register data yaitu register untuk menuliskan atau membaca data dari atau keDDRAM. Penulisan data pada register akan menempatkan data tersebut keDDRAM sesuai dengan alamat yang telah diatur sebelumnya.

Pin, kaki atau jalur input dan kontrol dalam suatu LCD (Liquid Cristal Display) diantaranya adalah :

1. Pin data adalah jalur untuk memberikan data karakter yang ingin ditampilkan menggunakan LCD (Liquid Cristal Display) dapat dihubungkan dengan bus data dari rangkaian lain seperti mikrokontroler dengan lebar data 8 bit.

2. Pin RS (Register Select) berfungsi sebagai indikator atau yang menentukan jenis data yang masuk, apakah data atau perintah. Logika low menunjukan yang masuk adalah perintah, sedangkan logika high menunjukan data.

3. Pin R/W (Read Write) berfungsi sebagai instruksi pada modul jika low tulis data, sedangkan high baca data.

4. Pin E (Enable) digunakan untuk memegang data baik masuk atau keluar.

5. Pin VLCD berfungsi mengatur kecerahan tampilan (kontras) dimana pin ini dihubungkan dengan trimpot 5 Kohm, jika tidak digunakan dihubungkan ke ground, sedangkan tegangan catu daya ke LCD sebesar 5 Volt.

Susunan alamat pada LCD adalah alamat awal karakter 00H dan alamat akhir 39H. Jadi, alamat awal di baris kedua dimulai dari 40H. Jika Anda ingin meletakkan suatu karakter pada baris ke-2 kolom pertama, maka harus diset pada alamat 40H.

Jadi, meskipun LCD yang digunakan 2×16 atau 2×24, atau bahkan 2×40, maka penulisan programnya sama saja.

CGRAM merupakan memori untuk menggambarkan pola sebuah karakter, dimana bentuk dari karakter dapat diubah-ubah sesuai dengan keinginan. Namun,

memori akan hilang saat power supply tidak aktif sehingga pola karakter akan hilang. Berikut tabel pin untuk LCD M1632. Perbedaannya dengan LCD standar

adalah pada kaki 1 VCC, dan kaki 2 Gnd. Ini kebalikan dengan LCD standar.

(22)

Tabel 2.4 Susunan kaki pada LCD

Perlu diketahui, driver LCD seperti HD44780 memiliki dua register yang aksesnya diatur menggunakan pin RS. Pada saat RS berlogika 0, register yang diakses adalah perintah, sedangkan pada saat RS berlogika 1, register yang diakses adalah register data.

Pengalamatan LCD dimulai dengan menghidupkan modul LCD, karakter kursor pada LCD diposisikan pada awal baris pertama (alamat 00H). Masing-masing sewaktu sebuah karakter dimasukkan, kursor bergerak ke alamat selanjutnya 01H, 02H dan seterusnya. Sebuah alamat awal yang baru bergerak ke alamat selanjutnya, harus dimasukkan sebagai sebuah perintah.

Dengan cara mengirimkan sebuah perintah Set Display Address, nilai 80H.

Dengan dua line karakter, baris yang pertama dari karakter, baris pertama mulai pada alamat 00H dan baris ke dua pada alamat 40H. Hubungan antara tata letak alamat- alamat terlihat pada Gambar 2.4 berikut ini.

Gambar 2.4 Pengalamatan LCD

(23)

LCD atau Liquid Crystal Display pada dasarnya terdiri dari dua bagian utama yaitu bagian Backlight (Lampu Latar Belakang) dan bagian Liquid Crystal (Kristal Cair). Seperti yang disebutkan sebelumnya, LCD tidak memancarkan pencahayaan apapun, LCD hanya merefleksikan dan mentransmisikan cahaya yang melewatinya.

Oleh karena itu, LCD memerlukan Backlight atau Cahaya latar belakang untuk sumber cahayanya. Cahaya Backlight tersebut pada umumnya adalah berwarna putih.

Sedangkan Kristal Cair (Liquid Crystal) sendiri adalah cairan organik yang berada diantara dua lembar kaca yang memiliki permukaan transparan yang konduktif.

Bagian-bagian LCD atau Liquid Crystal Display diantaranya adalah : a. Lapisan Terpolarisasi 1 (Polarizing Film 1)

b. Elektroda Positif (Positive Electrode) c. Lapisan Kristal Cair (Liquid Cristal Layer) d. Elektroda Negatif (Negative Electrode) e. Lapisan Terpolarisasi 2 (Polarizing film 2) f. Backlight atau Cermin (Backlight or Mirror)

Gambar 2.4.1 struktur dasar sebuah LCD Catatan :

LCD yang digunakan pada Kalkulator dan Jam Tangan digital pada umumnya menggunakan Cermin untuk memantulkan cahaya alami agar dapat menghasilkan digit yang terlihat di layar. Sedangkan LCD yang lebih modern dan berkekuatan tinggi seperti TV, Laptop dan Ponsel Pintar menggunakan lampu Backlight (Lampu

(24)

Latar Belakang) untuk menerangi piksel kristal cair. Lampu Backlight tersebut pada umumnya berbentuk persegi panjang atau strip lampu Flourescent atau Light Emitting Diode (LED).

2.4.1 Fitur LCD 16 x 2

Adapun fitur yang disajikan dalam LCD ini adalah : a) Terdiri dari 16 karakter dan 2 baris.

b) Mempunyai 192 karakter tersimpan.

c) Terdapat karakter generator terprogram.

d) Dapat dialamati dengan mode 4-bit dan 8-bit.

e) Dilengkapi dengan back light.

Gambar 2.4.2 Bentuk Fisik LCD 16 x 2

2.4.2 Cara Kerja LCD Secara Umum

Pada aplikasi umumnya RW diberi logika rendah “0”. Bus data terdiri dari 4-bit atau 8-bit. Jika jalur data 4-bit maka yang digunakan ialah DB4 sampai dengan DB7. Sebagaimana terlihat pada table diskripsi, interface LCD merupakan sebuah parallel bus, dimana hal ini sangat memudahkan dan sangat cepat dalam pembacaan dan penulisan data dari atau ke LCD.

Kode ASCII yang ditampilkan sepanjang 8-bit dikirim ke LCD secara 4- bit atau 8 bit pada satu waktu. Jika mode 4-bit yang digunakan, maka 2 nibble data dikirim untuk membuat sepenuhnya 8-bit (pertama dikirim 4-bit MSB lalu 4-bit LSB dengan pulsa clock EN setiap nibblenya). Jalur kontrol EN digunakan untuk memberitahu LCD bahwa mikrokontroller mengirimkan data ke LCD.

Untuk mengirim data ke LCD program harus menset EN ke kondisi high “1” dan kemudian menset dua jalur kontrol lainnya (RS dan R/W) atau juga mengirimkan data ke jalur data bus.

(25)

Saat jalur lainnya sudah siap, EN harus diset ke “0” dan tunggu beberapa saat (tergantung pada datasheet LCD), dan set EN kembali ke high “1”. Ketika jalur RS berada dalam kondisi low “0”, data yang dikirimkan ke LCD dianggap sebagai sebuah perintah atau instruksi khusus (seperti bersihkan layar, posisi kursor dll). Ketika RS dalam kondisi high atau “1”, data yang dikirimkan adalah data ASCII yang akan ditampilkan dilayar. Misal, untuk menampilkan huruf “A”

pada layar maka RS harus diset ke “1”.

Jalur kontrol R/W harus berada dalam kondisi low (0) saat informasi pada data bus akan dituliskan ke LCD. Apabila R/W berada dalam kondisi high

“1”, maka program akan melakukan query (pembacaan) data dari LCD. Instruksi pembacaan hanya satu, yaitu Get LCD status (membaca status LCD), lainnya merupakan instruksi penulisan. Jadi hampir setiap aplikasi yang menggunakan LCD, R/W selalu diset ke “0”. Jalur data dapat terdiri 4 atau 8 jalur (tergantung mode yang dipilih pengguna), DB0, DB1, DB2, DB3, DB4, DB5, DB6 dan DB7. Mengirim data secara parallel baik 4-bit atau 8-bit merupakan 2 mode operasi primer. Untuk membuat sebuah aplikasi interface LCD, menentukan mode operasi merupakan hal yang paling penting.

Mode 8-bit sangat baik digunakan ketika kecepatan menjadi keutamaan dalam sebuah aplikasi dan setidaknya minimal tersedia 11 pin I/O (3 pin untuk kontrol, 8 pin untuk data). Sedangkan mode 4 bit minimal hanya membutuhkan 7-bit (3 pin untuk kontrol, 4 pin untuk data).

Bit RS digunakan untuk memilih apakah data atau instruksi yang akan ditransfer antara mikrokontroller dan LCD. Jika bit ini di set (RS = 1), maka byte pada posisi kursor LCD saat itu dapat dibaca atau ditulis. Jika bit ini di reset (RS = 0), merupakan instruksi yang dikirim ke LCD atau status eksekusi dari instruksi terakhir yang dibaca.

2.5 Buzzer

Buzzer adalah sebuah komponen elektronika yang berfungsi untuk mengubah getaran listrik menjadi getaran suara. Pada dasarnya prinsip kerja buzzer hampir sama dengan loud speaker, jadi buzzer juga terdiri dari kumparan yang terpasang pada diafragma dan kemudian kumparan tersebut dialiri arus sehingga menjadi

(26)

elektromagnet, kumparan tadi akan tertarik ke dalam atau keluar, tergantung dari arah arus dan polaritas magnetnya, karena kumparan dipasang pada diafragma maka setiap gerakan kumparan akan menggerakkan diafragma secara bolak-balik sehingga membuat udara bergetar yang akan menghasilkan suara. Buzzer biasa digunakan sebagai indikator bahwa proses telah selesai atau terjadi suatu kesalahan pada sebuah alat (alarm).

Cara Kerja Buzzer pada saat aliran listrik atau tegangan listrik yang mengalir ke rangkaian yang menggunakan piezoeletric tersebut. Piezo buzzer dapat bekerja dengan baik dalam menghasilkan frekwensi di kisaran 1 - 6 kHz hingga 100 kHz.

Gambar 2.5 Buzer

Buzzer ini bisa kita coba tanpa menggunakan board arduino yang diprogram. Jadi kita hanya beri inputan tegangan 3 - 12 V (Tegangan Kerja Buzzer). Buzzer mempunyai nilai impedansi sama seperi speaker. Jika nilai impedansi kurang dari 10 ohm kita bisa langsung menghubungkan ke arduino dan jika impedansi yang lebih besar kita akan membutuhkan driver untuk mengangkat arus yang masuk ke buzzer.

Kita bisa menggunakan rangkaian transistor. Mungkin artikel selanjutnya

Seperti gambar diatas kaki positive sambungkan pada batere kutub positive dan kaki negative di sambungkan pada batere kutub negative. Maka buzzer langsung berbunyi "beep beep". Kita juga bisa menggunakan rangkaian diatas untuk mengetes apakah buzzer berfungsi atau tidak.

Yang sudah kita tau buzzer hanya bersuara satu saja. Dengan di program di arduino atau mikrokontroler lainnya kita bisa menggunakan buzzer dengan barbagai

(27)

macam suara mono. Bisa dibuat lagu Do Re Mi Fa Sol La Si Do dan lain sebagainya tunggu saja di artikel selanjutnya Suara Unik Buzzer.

2.6 Sensor MPU 6050

Sensor MPU6050 banyak digunakan untuk aplikasi robot yang memerlukan informasi posisi dan orientasi dari robot itu sendiri. Sensor MPU6050 menggunakan jenis komunikasi I2C untuk membaca datanya, sehingga memerlukan mikrokontroler. Simulasi pembacaan yang dilakukan disini menggunakan mikrokontroler AVR yang dimasukkan dalam modul Arduino UNO.

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. Sensor MPU 6050 adalah sebuah modul yang merupakan 6 axis Motion Processing Unit dengan penambahan regulator tegangan dan beberapa komponen pelengkap lainnya yang membuat modul ini siap pakai dengan tegangan supply sebesar 3-5 VDC. Modul ini memiliki inteface 12C yang dapat disambungkan langsung ke MCU (Microcontroller Unita) yang memiliki fasilitas 12C.

Gambar 2.6 Sensor MPU 6050

2.7 Power Supply

Power Supply adalah salah satu hardware di dalam perangkat komputer yang berperan untuk memberikan suplai daya. Biasanya komponen power supplay ini bisa ditemukan pada chasing komputer dan berbentuk persegi. Pada dasarnya Power Supply membutuhkan sumber listrik yang kemudian diubah menjadi energi yang

(28)

menggerakkan perangkat elektronik. Sistem kerjanya cukup sederhana yakni dengan mengubah daya 120V ke dalam bentuk aliran dengan daya yang sesuai kebutuhan komponen-komponen tersebut.

Sesuai dengan pengertian power supply pada komputer, maka fungsi utamanya adalah untuk mengubah arus AC menjadi arus DC yang kemudian diubah menjadi daya atau energi yang dibutuhkan komponen-komponen pada komputer seperti motherboard, CD Room, Hardisk, dan komponen lainnya. Berdasarkan rancangannya, power supply dapat diklasifikasikan menjadi dua jenis, yaitu:

1. Power Supply/ Catu Daya Internal; yaitu power supply yang dibuat terintegrasi dengan motherboard atau papan rangkaian induk. Contohnya; ampilifier, televisi, DVD Player; power supply-nya menyatu dengan motherboard di dalam chasing perangkat tersebut.

2. Power Supply/ Catu Daya Eksternal; yaitu power supply yang dibuat terpisah dari motherboard perangkat elektroniknya. Contohnya charger Laptop dan charger HP.

Dalam bahasa Indonesia, Power Supply berarti Sumber Daya. Fungsi dari power supply adalah memberikan daya arus listrik ke berbagai komponen atau hardware yang terdapat di dalam chasing komputer.

Sumber energi listrik yang berasal dari luar masih berbentuk alternating current (AC). Ketika energi listrik masuk ke power supply, maka energi listrik akan dikonversi menjadi bentuk direct current (DC). Daya DC inilah yang kemudian disalurkan ke semua komponen yang ada di dalam chasing komputer agar dapat bekerja. Salah satu sisi power supply umumnya tersedia kipas yang berguna untuk membuang udara panas dari dalam chasing komputer. Selain itu, pada power supply juga terdapat sebuah port male jenis IEC 60320 C14 yang berfungsi sebagai konektor antara sumber energi listri dan power supply.

Berdasarkan fungsinya, ada dua jenis power supply yang umum digunakan pada komputer dan keduanya memiliki perbedaan yang cukup signifikan. Adapun jenis- jenis power supply adalah sebagai berikut:

1. Power Supply AT

Bisa dibilang ini merupakan jenis power supply yang pertama kali digunakan pada jenis-jenis komputer jaman dulu seperti pada tipe Pentium II dan Pentium

(29)

III pada tahun ‟97. Sehingga untuk saat ini penggunaan Power Supply AT sudah tidak banyak ditemukan pada jenis perangkat komputer terbaru.

Gambar 2.7 Power Supply AT

Memiliki 8-12 terminal output yang terhubung pada motherboard komputer

Umumnya memiliki daya di bawah 250 watt

Karena tombol power On dan Off terhubung dengan chasing komputer, maka untuk mematikannya harus dilakukan secara manual pada saat shut down komputer.

2. Power Supply ATX

Power Supply ATX merupakan pembaruan dari jenis Power Supply AT. Power supply ini memiliki desain yang lebih kompleks dengan sumber pasokan energi listrik yang lebih efisien.

Gambar 2.7.1 Power Supply ATX

Power Suplly ATX saat ini banyak ditemukan pada jenis komputer generasi terbaru dimana pengoperasiannya bisa dikontrol dengan software yang sudah terinstal dalam komputer. Sehingga bisa diatur dalam beberapa mode seperti mode tidur, mode siaga dan mode saat komputer dimatikan.

(30)

Ciri-ciri Power Supply ATX:

Memiliki 20 sampai 24 terminal output yang terhubungan dengan motherboard

Memakai daya yang lebih besar

Ketika PC di-shuttdown maka power supply ini akan mati sepenuhnya

Mengacu pada pengertian power supply, perangkat keras ini berfungsi mengubah arus AC menjadi arus DC dan menyalurkannya ke berbagai komponen komputer di dalam chasing. Untuk membentuk tegangan maka dibutuhkan beberapa komponen, adapun komponen power supply adalah sebagai berikut:

1) Transformator

Ini merupakan komponen di dalam pada Power Supply yang digunakan untuk memindahkan tenaga listrik antar dua rangkaian listrik atau lebih melalui induksi elektromagnetik.

2) Dioda

Ini adalah gabungan dari dua kata elektroda, yaitu anoda dan katoda. Sifat dari dioda yaitu menghantarkan arus pada tegangan maju dan menghambat arus pada aliran tegangan balik.

3) Kapasitor

Kapasitor berfungsi sebagai penyempurna penyerahan dari tegangan arus AC ke tegangan arus DC.

4) Resistor

Resistor adalah perangkat yang membantu Power Supply dalam menurunkan tegangan, membagi tegangan, dan membatasi arus listrik yang masuk, sehingga akan dapat mengontrol perangkat-perangkat keras yang ada pada motherboard.

5) IC regulator

IC Regulator berfungsi untuk mengatur tegangan pada rangkaian elektronika selalu tetap stabil.

6) LED

LED pada Power Supply adalah komponen sejenis diode semikonduktor yang memiliki keistimewaan.

(31)

Ketika pengguna menyalakan power pada komputer, maka power supply akan melakukan pemeriksaan dan tes sebelum menjalakan sistem komputer. Jika tes berjalan dengan baik maka power supply akan mengirim sinyal (power good) ke mainboard sebagai pertanda bahwa sistem komputer siap untuk beroperasi.

Selanjutnya, power supply atau catu daya akan membagi daya sesuai dengan kapasitas yang diperlukan masing-masing komponen komputer. Selain menyalurkan daya listrik ke komponen komputer, power supply juga menjaga stabilitas arus listrik pada berbagai komponen tersebut.

Dari penjelasan pengertian power supply dan fungsinya di atas, maka komponen ini sama pentingnya seperti CPU pada komputer yang seringkali dianggap sebagai otak komputer. Jika terjadi gangguan pada power supply, maka akan menyebabkan gangguan aliran daya pada komponen-komponen komputer.

Arus Listrik yang kita gunakan di rumah, kantor dan pabrik pada umumnya adalah dibangkitkan, dikirim dan didistribusikan ke tempat masing-masing dalam bentuk Arus Bolak-balik atau arus AC (Alternating Current). Hal ini dikarenakan pembangkitan dan pendistribusian arus Listrik melalui bentuk arus bolak-balik (AC) merupakan cara yang paling ekonomis dibandingkan dalam bentuk arus searah atau arus DC (Direct Current).

Akan tetapi, peralatan elektronika yang kita gunakan sekarang ini sebagian besar membutuhkan arus DC dengan tegangan yang lebih rendah untuk pengoperasiannya.

Oleh karena itu, hampir setiap peralatan Elektronika memiliki sebuah rangkaian yang berfungsi untuk melakukan konversi arus listrik dari arus AC menjadi arus DC dan juga untuk menyediakan tegangan yang sesuai dengan rangkaian Elektronika- nya.

Rangkaian yang mengubah arus listrik AC menjadi DC ini disebut dengan DC Power Supply atau dalam bahasa Indonesia disebut dengan Catu daya DC. DC Power Supply atau Catu Daya ini juga sering dikenal dengan nama “Adaptor”.

Sebuah DC Power Supply atau Adaptor pada dasarnya memiliki 4 bagian utama agar dapat menghasilkan arus DC yang stabil. Keempat bagian utama tersebut diantaranya adalah Transformer, Rectifier, Filter dan Voltage Regulator.

Sebelum kita membahas lebih lanjut mengenai Prinsip Kerja DC Power Supply, sebaiknya kita mengetahui Blok-blok dasar yang membentuk sebuah DC Power

(32)

Supply atau Pencatu daya ini. Dibawah ini adalah Diagram Blok DC Power Supply (Adaptor) pada umumnya.

Gambar 2.7.2 Diagram Blok Pewer Supply

Berikut ini adalah penjelasan singkat tentang prinsip kerja DC Power Supply (Adaptor) pada masing-masing blok berdasarkan Diagram blok diatas.

a) Transformator (Transformer/Trafo)

Transformator (Transformer) atau disingkat dengan Trafo yang digunakan untuk DC Power supply adalah Transformer jenis Step-down yang berfungsi untuk menurunkan tegangan listrik sesuai dengan kebutuhan komponen Elektronika yang terdapat pada rangkaian adaptor (DC Power Supply). Transformator bekerja berdasarkan prinsip Induksi elektromagnetik yang terdiri dari 2 bagian utama yang berbentuk lilitan yaitu lilitan Primer dan lilitan Sekunder.

Lilitan Primer merupakan Input dari pada Transformator sedangkan Output- nya adalah pada lilitan sekunder. Meskipun tegangan telah diturunkan, Output dari Transformator masih berbentuk arus bolak-balik (arus AC) yang harus diproses selanjutnya.

Gambar 2.7.3 Rangkian Transformtor b) Rectifier (Penyearah Gelombang)

Rectifier atau penyearah gelombang adalah rangkaian Elektronika dalam Power Supply (catu daya) yang berfungsi untuk mengubah gelombang AC menjadi

(33)

gelombang DC setelah tegangannya diturunkan oleh Transformator Step down.

Rangkaian Rectifier biasanya terdiri dari komponen Dioda.

Terdapat 2 jenis rangkaian Rectifier dalam Power Supply yaitu “Half Wave Rectifier” yang hanya terdiri dari 1 komponen Dioda dan “Full Wave Rectifier”

yang terdiri dari 2 atau 4 komponen dioda.

Gambar 2.7.4 Rectifier c) Filter (Penyaring)

Dalam rangkaian Power supply (Adaptor), Filter digunakan untuk meratakan sinyal arus yang keluar dari Rectifier. Filter ini biasanya terdiri dari komponen Kapasitor (Kondensator) yang berjenis Elektrolit atau ELCO (Electrolyte Capacitor)

Gambar 2.7.5 Gambar Penyaringan

d) Voltage Regulator (Pengatur Tegangan)

Untuk menghasilkan Tegangan dan Arus DC (arus searah) yang tetap dan stabil, diperlukan Voltage Regulator yang berfungsi untuk mengatur tegangan sehingga tegangan Output tidak dipengaruhi oleh suhu, arus beban dan juga tegangan input yang berasal Output Filter. Voltage Regulator pada umumnya terdiri dari Dioda Zener, Transistor atau IC (Integrated Circuit).

(34)

Pada DC Power Supply yang canggih, biasanya Voltage Regulator juga dilengkapi dengan Short Circuit Protection (perlindungan atas hubung singkat), Current Limiting (Pembatas Arus) ataupun Over Voltage Protection (perlindungan atas kelebihan tegangan).

Gambar 2.7.6 Voltage Regulator

2.8 Bahasa C

Bahasa BCPL yang dikerjakan oleh Martin Richards pada tahun 1967 merupakan awal dari lahirnya bahasa C. Ken Thompson memulai pengembangan bahasa BCPL yaitu bahasa B pada tahun 1970. Perkembangan selanjutnya dari bahasa B dikembangkan menjadi bahasa C oleh Dennis Ritchie beberapa bulan berikutnya di Bell Telephone Laboratories Inc. Laboratories). Beberapa alasan mengapa Bahasa C banyak digunakan, diantaranya adalah sebagai berikut:

1. Bahasa C hampir tersedia di semua jenis computer.

2. Bahasa C adalah bahasa yang terstruktur.

3. Memiliki dukungan pustaka yang banyak.

4. Proses eksekusi program lebih cepat.

5. Kode Bahasa C sifatnya adalah portable dan fleksibel untuk semua jenis komputer.

6. Bahasa C hanya menyediakan sedikit kata-kata kunci, hanya terdapat 32 kata kunci

Agar suatu program dalam bahasa pemrograman dapat dimengerti oleh komputer, program harus diterjemahkan dahulu ke dalam kode mesin. Adapun penerjemah yang digunakan biasa berupa interpreter atau kompiler. Interpreter suatu jenis penerjemah yang menerjemahkan baris per baris instruksi untuk setiap saat.

Proses awal dari bentuk program sumber C (source program, yaitu program yang ditulis dalam bahasa C) hingga menjadi program yang executable (dapat dieksekusi secara langsung) ditunjukkan pada gambar di bawah.

(35)

Gambar 2.8. Proses program executable

Tipe data merupakan bagian yang paling penting karena tipe data mempengaruhi seriap instruksi yang akan dilaksanakan oleh komputer. Misalnya saja 5 dibagi 2 bisa saja memberikan hasil yang berbeda tergantung pada tipe datanya.

Jika 5 dan 2 bertipe integer, akan menghasilkan nilai 2. Namun jika kedianya bertipe float maka akan memberikan nilai 2.5000000. Pemilihan tipe data yang tepat akan membuat proses operasi data menjadi lebih efisien.

Tabel 2.8 Tipe data bahasa C

(36)

Arduino menggunakan pemrograman dengan bahasa C. Berikut ini adalah sedikit penjelasan yang ditujukan kepada anda yang hanya mempunyai sedikit pengalaman pemrograman dan membutuhkan penjelasan singkat mengenai karakter bahasa C dan software Arduino. Untuk penjelasan yang lebih mendalam, web Arduino.cc adalah sumber yang lengkap.

Struktur

Setiap program Arduino (biasa disebut sketch) mempunyai dua buah fungsi yang harus ada.

void setup( ) { }

Semua kode didalam kurung kurawal akan dijalankan hanya satu kali ketika program Arduino dijalankan untuk pertama kalinya.

 void loop( ) { }

Fungsi ini akan dijalankan setelah setup (fungsi void setup) selesai. Setelah dijalankan satu kali fungsi ini akan dijalankan lagi, dan lagi secara terus menerus sampai catu daya (power) dilepaskan.

Syntax

Berikut ini adalah elemen bahasa C yang dibutuhkan untuk format penulisan.

 //(komentar satu baris)

Kadang diperlukan untuk memberi catatan pada diri sendiri apa arti dari kode-kode yang dituliskan. Cukup menuliskan dua buah garis miring dan apapun yang kita ketikkan dibelakangnya akan diabaikan oleh program.

 /* */(komentar banyak baris)

Jika anda punya banyak catatan, maka hal itu dapat dituliskan pada beberapa baris sebagai komentar. Semua hal yang terletak di antara dua simbol tersebut akan diabaikan oleh program.

 { }(kurung kurawal)

Digunakan untuk mendefinisikan kapan blok program mulai dan berakhir (digunakan juga pada fungsi dan pengulangan).

 ;(titk koma)

Setiap baris kode harus diakhiri dengan tanda titik koma (jika ada titik koma yang hilang maka program tidak akan bisa dijalankan).

Variabel

(37)

Sebuah program secara garis besar dapat didefinisikan sebagai instruksi untuk memindahkan angka dengan cara yang cerdas. Variabel inilah yang digunakan untuk memindahkannya.

 int (integer)

Digunakan untuk menyimpan angka dalam 2 byte (16 bit). Tidak mempunyai angka desimal dan menyimpan nilai dari -32,768 dan 32,767.

 long (long)

Digunakan ketika integer tidak mencukupi lagi. Memakai 4 byte (32 bit) dari memori (RAM) dan mempunyai rentang dari -2,147,483,648 dan 2,147,483,647.

 boolean (boolean)

Variabel sederhana yang digunakan untuk menyimpan nilai TRUE (benar) atau FALSE (salah). Sangat berguna karena hanya menggunakan 1 bit dari RAM.

 float (float)

Digunakan untuk angka desimal (floating point). Memakai 4 byte (32 bit) dari RAM dan mempunyai rentang dari -3.4028235E+38 dan 3.4028235E+38.

 char (character)

Menyimpan 1 karakter menggunakan kode ASCII (misalnya „A‟ = 65).

Hanya memakai 1 byte (8 bit) dari RAM.

Operator Matematika

Operator yang digunakan untuk memanipulasi angka (bekerja seperti matematika yang sederhana).

 =

Membuat sesuatu menjadi sama dengan nilai yang lain (misalnya: x = 10 * 2, x sekarang sama dengan 20).

 %

Menghasilkan sisa dari hasil pembagian suatu angka dengan angka yang lain (misalnya: 12 % 10, ini akan menghasilkan angka 2).

 +

Penjumlahan

(38)

Pengurangan

 * Perkalian

 / Pembagian Operator Pembanding

Digunakan untuk membandingkan nilai logika.

 ==

Sama dengan (misalnya: 12 == 10 adalah FALSE (salah) atau 12 == 12 adalah TRUE (benar))

 !=

Tidak sama dengan (misalnya: 12 != 10 adalah TRUE (benar) atau 12 !=

12 adalah FALSE (salah))

 <

Lebih kecil dari (misalnya: 12 < 10 adalah FALSE (salah) atau 12 < 12 adalah FALSE (salah) atau 12 < 14 adalah TRUE (benar))

 >

Lebih besar dari (misalnya: 12 > 10 adalah TRUE (benar) atau 12 > 12 adalah FALSE (salah) atau 12 > 14 adalah FALSE (salah))

Struktur Pengaturan

Program sangat tergantung pada pengaturan apa yang akan dijalankan berikutnya, berikut ini adalah elemen dasar pengaturan dan banyak lagi yang lain .

1. if..else, dengan format seperti berikut ini:

if (kondisi) { } else if (kondisi) { } else { }

Dengan struktur seperti diatas program akan menjalankan kode yang ada di dalam kurung kurawal jika kondisinya TRUE, dan jika tidak (FALSE) maka akan diperiksa apakah kondisi pada else if dan jika kondisinya FALSE maka kode pada else yang akan dijalankan.

(39)

2. for, dengan format seperti berikut ini:

for (int i = 0; i < #pengulangan; i++) { }

Digunakan bila anda ingin melakukan pengulangan kode di dalam kurung kurawal beberapa kali, ganti #pengulangan dengan jumlah pengulangan yang diinginkan.

Melakukan penghitungan ke atas dengan i++ atau ke bawah dengan i–.

Digital

1. pinMode(pin, mode)

Digunakan untuk menetapkan mode dari suatu pin, pin adalah nomor pin yang akan digunakan dari 0-19 (pin analog 0-5 adalah 14-19). Mode yang bisa digunakan adalah INPUT atau OUTPUT.

2. digitalWrite(pin, value)

Ketika sebuah pin ditetapkan sebagai OUTPUT, pin tersebut dapat dijadikan HIGH (ditarik menjadi 5 volts) atau LOW (diturunkan menjadi ground).

3. digitalRead(pin)

Ketika sebuah pin ditetapkan sebagai INPUT maka anda dapat menggunakan kode ini untuk mendapatkan nilai pin tersebut apakah HIGH (ditarik menjadi 5 volts) atau LOW (diturunkan menjadi ground).

Analog

Arduino adalah mesin digital tetapi mempunyai kemampuan untuk beroperasi di dalam alam analog (menggunakan trik). Berikut ini cara untuk menghadapi hal yang bukan digital.

1. analogWrite(pin, value)

Beberapa pin pada Arduino mendukung PWM (pulse width modulation) yaitu pin 3, 5, 6, 9, 10, 11. Ini dapat merubah pin hidup (on)atau mati (off) dengan sangat cepat sehingga membuatnya dapat berfungsi layaknya keluaran analog. Value (nilai) pada format kode tersebut adalah angka antara 0 ( 0% duty cycle ~ 0V) dan 255 (100% duty cycle ~ 5V).

2. analogRead(pin)

Ketika pin analog ditetapkan sebagai INPUT anda dapat membaca keluaran voltase-nya. Keluarannya berupa angka antara 0 (untuk 0 volts) dan 1024 (untuk 5 volts).

(40)

BAB 3

PERANCANGAN ALAT DAN PROGRAM

3.1 Diagram Blok dan Cara Kerja Rangkaian

Berikut adalah diagram blok dari rangkaian yang dibuat:

Gambar 3.1 Diagram Blok Rangkaian

Keterangan gambar:

1. Power supply berfungsi sebagai sumber tegangan dari seluruh sistem agar sistem dapat bekerja.

2. LCD berfungsi sebagai indikator keluaran dalam bentuk tampilan.

3. Mikrokontroler ATMega 328 berfungsi pusat kendali dari seluruh rangkaian.

4. Sensor MPU 6050 merupakan combo sensor antara akselerasi dan sensor gyroscope yang berfungsi untuk mengukur kemiringan suatu bidang.

3.2 Perancangan Rangkaian Catu Daya

Rangkaian ini berfungsi untuk mensupplay tegangan ke seluruh rangkaian yang ada. Rangkaian Catu daya (Power Supply Adaptor) ini terdiri dari satu keluaran, yaitu 5 volt. Keluaran 5 volt digunakan untuk mensupplay tegangan ke rangkaian mikrokontroller AVR Atmega328, rangkaian,sensor accelerometer. Rangkaian catu daya ditunjukkan pada gambar berikut ini :

Power Supply

ATMega 328 LCD

Sensor MPU 6050

(41)

Gambar 3.2 Rangkaian Catu Daya

Baterai merupakan sumber tegangan DC. Kemudian tegangan akan disearahkan dengan menggunakan jembatan dioda, selanjutnya akan diratakan oleh kapasitor 220 μF. Regulator tegangan 5 volt (7805) digunakan agar keluaran yang dihasilkan tetap 5 volt walaupun terjadi perubahan pada tegangan masukannya. LED hanya sebagai indikator apabila Catu daya dinyalakan. Tegangan 5 volt DC langsung diambil dari keluaran jembatan dioda penyearah gelombang penuh.

3.3 Perancangan dengan Mikrokontroler ATMega 328

(42)

ATMega328 memiliki 3 buah PORT utama yaitu PORTB, PORTC, dan PORTD dengan total pin input/output sebanyak 23 pin. Pin 9 sampai 10 dan 14 sampai 19 adalah port B, pin 1 dan pin 23 sampai 28 adalah port C, dan pin 2 sampai 6 dan pin 11 sampai 13 adalah port D. Kaki 23 dan kaki 24 dubungkan ke sensor MPU 6050, sedangkan kaki 4,6,11,12, dan 13 disambungkan ke LCD yang beerfungsi untuk mengeluarkan input. Kaki 19 dihubungkan ke buzzer. Pin 1 dihubungkan ke sumber tegangan 5 volt.

3.4 Flow Chart

Flowchart pada sistem rangkaian alat ini adalah:

Gambar 3.2 Flow Chart Sistem

Pertama-tama, kita mulai dengan inisialisasi kemudian masuk ke input yaitu sensor deteksi kemiringan dan data akan dikirim ke mikrokontroller. Mikrokontroller akan

Start

Inisialisasi

Sensor Deteksi Kemiringan

Kirim Data ke Microkontroler

Proses Data

Tampilan Data

Selesai

(43)

membaca ataupun menerima data yang telah dikirim ke mikrokontroller. Data yang diterima oleh mikrokontroller akan diolah sesuai dengan program yang telah ditanamkan pada mikrokontroller, setelah itu hasilnya akan ditampilkan pada LCD.

(44)

BAB 4

ANALISA RANGKAIAN

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 beberapafaktor, diantaranya kualitas dari tiap-tiap komponen yang digunakannilainya tidak murni. Selain itu, tegangan jala- jala listrik yang digunakan tidak stabil.

4.2. Pengujian Rangkaian Mikrokontroler ATMega328

Pengujian pada rangkaian mikrokontroler ATMega328 ini dapat dilakukan dengan menghubungkan rangkaian ini dengan rangkaian power supply sebagai sumber tegangan. Kaki 1 dihubungkan dengan sumber tegangan 5 volt, sedangkan kaki 22 dihubungkan dengan ground. Kemudian tegangan pada kaki 1 diukur dengan menggunakan Voltmeter.

4.3 Interfacing LCD

LCD dihubungkan langsung ke Port D dari mikrokontroler yang berfungsi mengirimkan data hasil pengolahan untuk ditampilkan dalam bentuk alfabet dan numerik pada LCD.Display karakter pada LCD diatur oleh pin EN, RS dan RW:

Jalur EN dinamakan Enable. Jalur ini digunakan untuk memberitahu LCD bahwa anda sedang mengirimkan sebuah data. Untuk mengirimkan data ke LCD, maka melalui program EN harus dibuat logika low “0” dan set ( high ) pada dua jalur kontrol yang lain RS dan RW. Jalur RW adalah jalur kontrol Read/ Write. Ketika RW berlogika low (0), maka informasi pada bus data akan dituliskan pada layar LCD. Ketika RW berlogika high ”1”, maka program akan melakukan pembacaan memori dari LCD. Sedangkan pada aplikasi umum pin RW selalu diberi logika low (

(45)

0 ) Berdasarkan keterangan di atas maka kita sudah dapat membuat progam untuk menampilkan karaker pada display LCD. Adapun program yang diisikan ke mikrokontroller untuk menampilkan karakter pada display LCD adalah sebagai berikut:

#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 - Kalman kalmanX; // Create the Kalman instances

Kalman kalmanY;

#define buzzer 13 float x;

float y;

/* IMU Data */

double accX, accY, accZ;

double gyroX, gyroY, gyroZ;

int16_t tempRaw;

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

int 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

void setup() {

pinMode(buzzer,OUTPUT);

Serial.begin(9600);

lcd.begin(16, 2);

Wire.begin();

#if ARDUINO >= 157

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

(46)

#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);

gyroXangle = roll;

gyroYangle = pitch;

(47)

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

#ifdef RESTRICT_PITCH

if ((roll < -90 && kalAngleX > 90) || (roll > 90 && kalAngleX < -90)) { kalmanX.setAngle(roll);

(48)

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;

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;

(49)

// 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("\t");

#endif

Serial.print("X = ");Serial.println(compAngleX*-0.9473684210);

Serial.print("Y = ");Serial.println(compAngleY*-1.097560975,0);

x=compAngleX*-0.9473684210;

y=compAngleY*-1.097560975;

if (x == 0 && y == 0){digitalWrite(buzzer,HIGH);}

else {digitalWrite(buzzer,LOW);}

lcd.clear();

lcd.setCursor(0,0);

lcd.print(" X Y ");

lcd.setCursor(2,1);

lcd.print(x,1);

lcd.write(0b11011111);

lcd.setCursor(11,1);

lcd.print(y,1);

lcd.write(0b11011111);

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

Gambar

Gambar 2.1 sensor accelerometer
Gambar 2.2 sensor gyroscope
Gambar 2.3 Mikrokontroler ATMega 328
Gambar 2.3.1 Konfigurasi pin ATMega 328
+7

Referensi

Garis besar

Dokumen terkait

Dari uraian di atas, maka permasalahan dalam kajian ini adalah “Bagaimana konflik antara Kesultanan Palembang dan Inggris, Belanda pada masa pemerintahan Sultan Badaruddin II?”

Kegiatan penggunaan jaring cantrang di Desa Sidokumpul Paciran Lamongan menurut analisis Sadd adh-Dhari&gt;’ah terhadap PERMEN-KP No 2 tahun 2015 memberi kesimpulan

Di  tengah‐tengah  persaingan  yang  terjadi  saat  ini,  UT  tetap  harus  mengantisipasi  terjadinya  penurunan  mahasiswa  yang  diakibatkan 

Peraturan Menteri Dalam Negeri Nomor 32 Tahun 2011 tentang Pedoman Pemberian Hibah dan Bantuan Sosial yang bersumber dari Anggaran Pendapatan dan Belanja

Penelitian ini bertujuan untuk mengetahui bagaimanakah hubungan antara efektifitas penggunaan media audio pembelajaran dengan pencapaian kompetensi dasar mata pelajaran al-Qur’an

menyerap, mencerna, dan mengingat pelajaran dengan baik dan juga siswa yang belajar dengan pendekatan quantum teaching dapat lebih merespon materi yang diajarkan oleh

Analisa perbandingan yang dilakukan terhadap beberapa metode survey plot yang biasa digunakan baik untuk pemantauan karbon, vegetasi maupun potensi tegakan, menunjukkan bahwa

Berdasarkan analisis hubungan antara tingkat pemberian pakan dan laju pertumbuhan maka kebutuhan pakan untuk maintenance , dan untuk pertumbuhan optimum serta maksimum benih