• Tidak ada hasil yang ditemukan

Alat Ukur Digital Kemiringan Bidang Datar Menggunakan Bi-Axial Joystick Berbasis Arduino Uno

N/A
N/A
Protected

Academic year: 2017

Membagikan "Alat Ukur Digital Kemiringan Bidang Datar Menggunakan Bi-Axial Joystick Berbasis Arduino Uno"

Copied!
15
0
0

Teks penuh

(1)

BAB II

TINJAUAN PUSTAKA

2.1. Sensor

adalah transduser yang berfungsi untuk mengolah variasi gerak, panas, cahaya atau sinar, magnetis, dan kimia menjadi tegangan serta arus listrik.

penting pada berbagai peralatan. Sensor juga berfungsi sebagai alat untuk mendeteksi dan juga untuk mengetahui magnitude. Transduser sendiri memiliki arti mengubah, resapan dari bahasa latin traducere Bentuk perubahan yang dimaksud adalah kemampuan merubah suatu

energi kedalam bentuk energi lain. Energi yang diolah bertujuan untuk menunjang daripada kinerja piranti yang menggunakan sensor itu sendiri. Sensor sendiri sering digunakan dalam

proses pendeteksi untuk proses pengukuran. Sensor yang sering menjadi digunakan dalam berbagai rangkaian elektronik antara lain

Dari yang banyak diminati oleh berbagai pabrikan elektronik. Salah satu pabrikan yang tengah gencar menggunakan sensor pada produk mereka adalah pabrikan handphone dengan model

touch screen. Sensor tekanan pada berbagai handphone sekarang ini membutuhkan adanya dukungan dari sensor tekanan. Selain pada gadget dengan teknologi canggih tersebut,

sensor tekanan juga biasa diaplikasikan kepada berbagai alat elektronik lain seperti kalkulator serta remot. Adanya tekanan pada tombol-tombol pada kalkulator ataupun remot bekerja dengan mengubah daya tekan tersebut menjadi daya atau sinyal listrik.

(2)

Yang dapat digunakan denga

masukan kendali gerak seperti pada aplikasi permainan, kendali penempatan motor servo, atau kendali masukan dua sumbu analog lainnya.Joystick sumbu ganda (bi-axial) tipe ini adalah tipe yang sama dengan yang digunakan di gagang kendali analog pada konsol

Sony Playstation 2. Tersambung dalam tombol dari plastik berkualitas tinggi ini adalah dua potensiometer tipe metal rocker yang teruji daya tahan dan responsivitasnya.Selain

dapat membaca masukan gerakan pada 2 sumbu horisontal X dan Y secara presisi dan akurat, joystick ini juga dapat berfungsi sebagai tombol tekan pada sumbu-Z.

Gambar 2.1 sensor joystick

2.2.1. Cara Kerja Joystick

Kebanyakan joystick dua-dimensi, memiliki dua sumbu gerakan mirip dengan

mouse, tapi joystick satu dan tiga dimensi memang ada. Sebuah joystick umumnya

(3)

sumbu Y. Dalam joystick yang dikonfigurasi untuk gerakan tiga-dimensi, memutar

tongkat kiri (berlawanan arah jarum jam) atau kanan (searah jarum jam) pergerakan sinyal sepanjang sumbu Z. Ketiga sumbu X, Y dan Z yang dalam kaitannya dengan suatu gulungan, bola, dan pesawat. Sebuah joystick analog adalah joystick yang menyatakan

berulang kembali yaitu suatu ukuran sudut pergerakan ke segala arah pada bidang atau ruang (biasanya menggunakan potensiometer) dan joystick digital yang hanya

memberikan sinyal on / off untuk empat arah yang berbeda, dan kemungkinan kombinasi mekanis (seperti atas-kanan, kiri-bawah). Joystick digital sangat umum sebagai kontroler game untuk konsol permainan video, mesin arcade, dan komputer rumah dari

1980-an.Selain itu joystick sering memiliki tombol api satu atau lebih, digunakan untuk memicu suatu tindakan. Ini adalah tombol sederhana untuk menekan on / off. Beberapa

joystick memiliki kemampuan haptic feedback. Ini yang disebut perangkat aktif, bukan hanya perangkat input. Komputer dapat mengembalikan sinyal ke joystick yang menyebabkan perlawanan gerakan dengan kekuatan yang kembali atau membuat joystick

bergetar.

(4)

2.3. Arduino Uno R3

Arduino merupakan mikrokontroler yang memang dirancang untuk bisa digunakan dengan mudah oleh para seniman dan desainer. Dengan demikian, tanpa mengetahui bahasa pemograman, Arduino bisa digunakan untuk menghasilkan karya

yang canggih. Hal ini seperti yang diungkapkan oleh Mike Schmidt.Menurud Massimo Banzi, salah satu pendiri atau pembuat Arduino, Arduino merupakan sebuah platform hardware open source yang mempunyai input/output (I/O) yang sederhana.Menggunakan

Arduino sangatlah membantu dalam membuat suatu prototyping ataupun untuk melakukan pembuatan proyek. Arduino memberikan I/O yang sudah lengkap dan bisa

digunakan dengan mudah. Arduino dapat digabungkan dengan modul elektro yang lain sehingga proses perakitan jauh lebih efisien.

Arduino merupakan salah satu pengembang yang banyak digunakan. Keistimewaan Arduino adalah hardware yang Open Source. Hal ini sangatlah memberi keleluasaan bagi orang untuk bereksprimen secara bebas dan gratis. Secara umum,

Arduino terdiri atas dua bagian utama, yaitu:

1. Bagian Hardware

Berupa papan yang berisi I/O, seperti Gambar dibawah ini

(5)

2. Bagian Software

Berupa Sofware Arduino yang meliputi Integrated Depelopment Enviroment (IDE)

untuk menulis program. Arduino memerlukan instlasi driver untuk menghubungkan dengan komputer. Pada IDE terdapat contoh program dan library untuk pengembangan

program. IDE software Arduino yang digunakan diberi nama Sketch. dibawah ini

Gambar 2.4 IDE Arduino Versi 1.6.5

2.4. Mikrokontroler

2.4.1 Gambaran Mikrokontroler

Menurut Hermawan Sutanto, (1998). Tidak seperti sistem komputer, yang mampu menangani berbagai macam program aplikasi (misalnya pengolah kata, pengolah angka

(6)

komputer perbandingan RAM dan ROM-nya besar, artinya program-program pengguna

disimpan dalam ruang RAM yang relatif besar dan rutin-rutin antarmuka perangkat keras disimpan dalam ruang ROM yang kecil. Sedangkan pada mikrokontroler, perbandingan ROM dan RAM-nya yang besar artinya program kontrol disimpan dalam ROM (bisa

Masked ROM atau Flash PEROM) yang ukurannya relatif lebih besar, sedangkan RAM digunakan sebagai tempat penyimpanan sementara, termasuk register-register yang

digunakan pada mikrokontroller yang bersangkutan ATMEGA32.

2.4.2 Mikrokontroler Arduino Uno ATMega328

Arduino Uno adalah salah satu produk berlabel arduino yang sebenarnya adalah suatu papan elektronik yang mengandung mikrokontroler ATMega328 (sebuah keping yang

secara fungsional bertindak seperti sebuah komputer). Peranti ini dapat dimanfaatkan untuk mewujudkan rangkaian elektronik dari yang sederhana hingga yang kompleks. Pengendalian LED hingga pengontrolan robot dapat di implementasikan dengan

menggunakan papan yang berukuran relatif kecil ini. Arduino uno mengandung mikroprosesor (berupa atmel AVR) dan dilengkapi dengan oscillator 16 MHZ (yang memungkinkan operasi berbasis waktu dilaksanakan dengan tepat), dan regulator

(pembangkit tegangan) 5 volt. Sejumlah pin tersedia di papan. Pin 0 hingga 13 digunakan untuk isyarat digital, yang hanya bernilai 0 atau 1. Pin A0-A5 digunakan untuk isyarat

analog. Arduino Uno dilengkapi dengan static random acces memory (SRAM) berukuran 1 KB untuk memegang data, flash memory berukuran 32KB, dan erasable programmable read-only memory (EEPROM) untuk menyimpan perintah.

(7)

Untuk memberikan gambaran mengenai apa saja yang terdapat di dalam sebuah

mikrokontroler, pada gambar dibawah ini diperlihatkan contoh diagram blok sederhana dari mikrokontroler ATmega328 (dipakai pada Arduino Uno) seperti gambar blok diagram sederhana dibawah ini:

Gambar 2.5Arsitektur ATMega 328

Keterangan Gambar 2.5 diatas sebagai berikut:

1. Universal Asynchronous Receiver/Transmitter (UART) adalah antar muka yang

digunakan untuk komunikasi serial seperti pada RS-232, RS-422 dan RS-485.

2. 2KB RAM pada memory kerja bersifat volatile (hilang saat daya dimatikan), digunakan oleh variable-variabel di dalam program.

3. 32KB RAM flash memory bersifat non-volatile, digunakan untuk menyimpan program yang dimuat dari komputer. Selain program, flash memory juga menyimpan bootloader.

4. Bootloader adalah program inisiasi yang ukurannya kecil, dijalankan oleh CPU saat

daya dihidupkan. Setelah boatloader selesai dijalankan, berikutnya program ini akan dijalankan di dalam RAM akan dieksekusi.

(8)

5. 1KB EEPROM bersifat non-volatile, digunakan untuk menyimpan data yang tidak

boleh hilang saat daya dimatikan. Tidak digunakan pada papan Arduino.

6. Central Processing Unit (CPU), bagian dari mikrokontroler untuk menjalankan setiap

instruksi dari program.

7. Port input/output, pin-pin untuk menerima data (input) digital atau analog, dan mengeluarkan data (output) digital atau analog.

2.5. Bahasa C

Bahasa C adalah bahasa pemrograman yang dapat dikatakan berada antara bahasa tingkat rendah (bahasa yang berorientasi pada mesin) dan bahasa tingkat tinggi (bahasa yang

berorientasi pada manusia). Seperti yang diketahui, bahasa tingkat tinggi mempunyai kompatibilitas antara platform. Karena itu, amat mudah untuk membuat program pada berbagai mesin. Berbeda halnya dengan menggunakan bahasa mesin, sebab setiap perintahnya sangat

bergantung pada jenis mesin.

Pembuat bahasa C adalah Brian W. Kernighan dan Dennis M. Ritchie pada tahun 1972. C adalah bahasa pemrograman terstruktur, yang membagi program dalam bentuk blok.

Tujuannya untuk memudahkan dalam pembuatan dan pengembangan program. Program yang ditulis dengan bahasa C mudah sekali dipindahkan dari satu jenis program ke bahasa program

lain. Hal ini karena adanya standarisasi bahasa C yaitu berupa standar ANSI (American National Standar Institut) yang dijadikan acuan oleh para pembuat kompiler.jenis mesin. Pembuat bahasa C adalah Brian W. Kernighan dan Dennis M. Ritchie pada tahun 1972. C

(9)

Program yang ditulis dengan bahasa C mudah sekali dipindahkan dari satu jenis

program ke bahasa program lain. Hal ini karena adanya standarisasi bahasa C yaitu berupa standar ANSI ( American National Standar Institut) yang dijadikan acuan oleh para pembuat kompiler.

Kelebihan Bahasa C:

- Bahasa C tersedia hampir di semua jenis computer.

- Kode bahasa C sifatnya adalah portable dan fleksibel untuk semua jenis computer. - Bahasa C hanya menyediakan sedikit kata-kata kunci. hanya terdapat 32 kata kunci. - Proses executable program bahasa C lebih cepat

- Dukungan pustaka yang banyak. - C adalah bahasa yang terstruktur

- Bahasa C termasuk bahasa tingkat menengah

Penempatan ini hanya menegaskan bahwa c bukan bahasa pemrograman yang

berorientasi pada mesin. yang merupakan ciri bahasa tingkat rendah. melainkan berorientasi pada obyek tetapi dapat dinterprestasikan oleh mesin dengan cepat. secepat bahasa mesin.

inilah salah satu kelebihan c yaitu memiliki kemudahan dalam menyusun programnya semudah bahasa tingkat tinggi namun dalam mengesekusi program secepat bahasa tingkat rendah.

Kekurangan Bahasa C:

- Banyaknya operator serta fleksibilitas penulisan program kadang-kadang membingungkan pemakai.

- Bagi pemula pada umumnya akan kesulitan menggunakan pointer.

(10)

IDE (Integrated Development Environment) Arduino merupakan aplikasi yang mencakup editor, compiler, dan uploader dapat menggunakan semua seri modul keluarga

arduino, seperti Arduino Duemilanove, Uno, Bluetooth, Mega. Kecuali beberapa tipe

board produksi arduino yang memakai mikrokontroler diluar seri AVR, seperti

mikroprosesor ARM. Editor sketch pada IDE arduino juga mendukung fungsi penomoran baris, mendukung fungsi penomoran baris, syntax highlighthing, yaitu pengecekan

sintaksis kode sketch. Arduino yang di pakai adalah arduino versi 1.6.5.

2.7.LCD (Liquid Crystal Display)

Liquid Crystal Display (LCD) adalah komponen yang dapat menampilkan tulisan. Salah

satu jenisnya memiliki dua baris dengan setiap baris terdiri atas enam belas karakter. LCD seperti itu biasa disebut LCD 16x2. [11]

Gambar 2.6 LCD 16x2

LCD memiliki 16 pin dengan fungsi pin masing-masing seperti yang terlihat pada table II.1 dibawah.

(11)

Pin

1 VSS Power Catu daya, ground (0v)

2 VDD Power Catu daya positif

3

V0 Power

Pengatur kontras, menurut datasheet, pin

iniperlu dihubungkan dengan pin vs melalui resistor 5kΩ. namun, dalam

praktik, resistor yang digunakan sekitar2,2kΩ

4 RS Input

Register Select

• RS = HIGH : untuk mengirim data

• RS = LOW : untuk mengirim instruksi

5 R/W Input

Pada aplikasi umumnya RW diberi logika rendah “0”.Bus data terdiri dari 4bit atau 8 bit. Jika jalur data 4 bit maka yang digunakan ialah DB4 sampai dengan DB7. Sebagaimana terlihat pada table deskripsi, interface LCD merupakan sebuah parallel bus,

dalam hal ini sangat memudahkan dan sangat cepat dalam pembacaan dan penulisan data dari atau ke LCD. Kode ASCII yang ditampilkan sepanjang 8bit dikirim ke LCD secara

(12)

Jika mode 4bit yang digunakan, maka 2 nibble data dikirim untuk membuat

sepenuhnya 8bit (pertama dikirim 4bit MSB lalu 4bit LSB dengan pulsa clock EN setiap nibblenya). Jalur control EN digunakan untuk memberitahu LCD bahwa mikrokontroler mengirimkan data ke LCD. Untuk mengirim data ke LCD program harus menset EN ke

kondisi high “1” dan kemudian menset dua jalur control lainnya (RS dan R/W) atau juga mengirimkan data ke jalur data bus. Saat jalur lainnya sudah siap, EN harus diset ke “0”

dan tunggu beberapa saat, 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 control 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 data dari LCD

Instruksi pembacaan hanya satu, yaitu Get LCD status, lainnya merupakan instruksi penulisan, Jadi hamper setiap aplikasi yang menggunakan LCD, R/W selalu di

set ke “0”. Jalur data dapat terdiri 4 atau 8 jalur.Mengirimkan data secara parallel baik 4bit atau 8bit merupakan 2 mode operasi primer. Untuk membuat sebuah aplikasi interface LCD, menentukan mode operasi merupakan hal yang paling penting

Mode 8bit sangat baik digunakan ketika kecepatan menjadi keutamaan dalam sebuah aplikasi dan setidaknya minimal tersedia 11 pin I/0 (3pin untuk control, 8pin

untuk data).Sedangkan mode 4bit minimal hanya membutuhkan 7bit (3pin untuk control, 4 pin untuk data). Bit RS digunakan untuk memilih apakah data atau instruksi yang akan ditransfer antara mikrokontroler dan LCD. Jika bit ini diset (RS = 1), maka byte pada

(13)

merupakan instruksi yang dikirim ke LCD atau status eksekusi dari instruksi terakhir

yang dibaca

2.7.2 Tipe Data

Tipe data merupakan suatu hal yang penting untuk kita ketahui pada saat belajar

bahasa pemrograman. Kita harus dapat menentukan tipe data yang tepat untuk menampung sebuah data, baik itu data berupa bilangan numerik ataupun karakter. Hal ini

bertujuan agar program yang kita buat tidak membutuhkan pemesanan kapling memori yang berlebihan. Seorang programmer yang handal harus dapat memilih dan menentukan tipe data apa yang seharusnya digunakan dalam pembuatan sebuah program. Secara garis

besar tipe data pada bahasa C dibagi menjadi beberapa bagian antara lain sebagai Berikut Macam-Macam Tipe Data Pada Bahasa C :

1. Tipe Data Karakter

Sebuah karakter, baik itu berupa huruf atau angka dapat disimpan pada sebuah variabel yang memiliki tipe data char dan unsigned char. Besarnya data yang dapat

disimpan pada variabel yang bertipe data char adalah (-127)- (127). Sedangkan untuk tipe data unsigned char adalah dari 0- 255. Pada dasarnya setiap karakter memiliki nilai

ASCII (American Standard Code for Information Interchange), nilai inilah yang sebetulnya disimpan pada variabel yang bertipe data karakter ini.

2. Tipe Data Bilangan Bulat

Tipe data bilangan bulat atau dapat disebut juga bilangan desimal merupakan sebuah bilangan yang tidak berkoma. Pada bahasa C terdapat bermacam-macam tipe data yang

dapat kita gunakan untuk menampung bilangan bulat. Kita dapat menyesuaikan penggunaan tipe data dengan terlebih dahulu memperhitungkan seberapa besar nilai yang akan kita simpan. Contohnya seperti berikut, kita akan melakukan operasi penjumlahan

(14)

penjumlahan tersebut nilainya akan lebih besar dari 255 dan nilainya pasti positif, oleh

karena itu sebaiknya kita menggunakan tipe data unsigned int. Namun berbeda halnya jika kita ingin melakukan operasi pengurangan -5 - 300, jika dilihat hasilnya akan negatif maka selayaknya digunakan variabel dengan tipe data int.

3. Tipe Data Bilangan Berkoma

Pada bahasa C terdapat dua buah tipe data yang berfungsi untuk menampung data yang berkoma, tipe data tersebut adalah float dan double. Tipe data double dapat

digunakan jika kita membutuhkan variabel yang dapat menampung tipe data berkoma yang bernilai besar.

Tabel 2.2. Tipe Data

Tipe Data Ukuran Jangkauan Nilai

Bit 1 byte 0 atau 1

Long Int 4 byte -2.147.483.648 s/d

2.147.483.647

Unsigned Long Int 4 byte 0 s/d 4.294.967.295

Signed Long Int 4 byte -2.147.483.648 s/d

(15)

Float 4 byte 1.2*10-38 s/d 3.4*10+38

Double 4 byte 1.2*10-38 s/d 3.4*10+38

2.7.3 Identifier

Identifier atau nama pengenal adalah nama yang ditentukan sendiri oleh pemrogram

yang digunakan untuk menyimpan nilai, misalnya nama variable, nama konstanta, nama suatu elemen (misalnya: nama fungsi, nama tipe data, dll). Identifier punya ketentuan sebagai berikut :

1. Maksimum 32 karakter (bila lebih dari 32 karakter maka yang diperhatikan hanya 32 karakter pertama saja).

2. Case sensitive membedakan huruf besar dan huruf kecil.

3. Karakter pertama harus karakter atau underscore ( _ ). Selebihnya boleh angka. 4. Tidak boleh mengandung spasi atau blank.

5. Tidak boleh menggunakan kata yang sama dengan kata kunci dan fungsi.

2.8 Kabel Pelangi

Kabel dalam

digunakan untuk Menghubungkan satu komponen ke komponen lainnya Kabel seiring dengan perkembangannya dari waktu ke waktu terdiri dari berbagai jenis dan ukuran

Gambar

Gambar 2.1  sensor joystick
Gambar 2.2  rangkaian joystick Bi axial
Gambar 2.3 Board Arduino
Gambar 2.4 IDE Arduino Versi 1.6.5
+5

Referensi

Dokumen terkait

Nilai tegangan yang terbaca akan dikonversikan menjadi logika 0/1 dan logika ini akan di hitung menggunakan pencacah yg terdapat pada arduino, kemudian nilai

Hal pertama yang harus dilakukan untuk menjalankan aplikasi pengukur Tinggi badan adalah menghubungkan kabel USB Microcontroller ke komputer dan harus diketahui

a) Studi pustaka untuk mengumpulkan, mempelajari serta menyeleksi bahan-bahan tentang pemograman berbasis mikrokontroller Arduino. b) Pengumpulan data yang berhubungan

Modul arduino motor driver shield 2- L293D ini menggunakan dua buah IC L293D sehingga terdapat empat buah H-bridge yang dapat digunakan mengendalikan empat buah motor

Pemrograman Mikrokontroler Arduino Menggunakan Bahasa C (Code Vision AVR).. Bandung:

dengan tanda panah ditengahnya.Karena kebanyakan resistor variabel berkaki tiga maka panah yang berada ditengah merupakan kaki ketiga yang berada ditengah dengan nilai resistansi

HC-SR04 sebagai sensor jarak yang akan mengukur ketebalan kayu sedangkan LCD3. sebagai

Muhammad Irsyad yang telah memberikan dukungan, semangat serta do’a kepada penulis dalam menyelesaikan Tugas Akhir ini. Ulfa Audina, Siti Rahma Ginting selaku sahabat yang