BAB II LANDASAN TEORI 2.1 Tinjauan Pustaka - Imam Ibnu Mukti BAB II

BAB II LANDASAN TEORI

2.1 Tinjauan Pustaka

  Kapal cerdas merupakan robot penghindar (Obstacle Avoidance Robot) yang bentuknya dirancang menyerupai kapal. Dalam perancangan Kapal cerdas mengacu pada beberapa penelitian sebelumnya.

  Contoh robot penghindar rintangan yaitu robot pemadam api, robot ini dilengkapi dengan sensor api dan sensor PING. Sensor ultrasonik dipasang pada bagian depan, kanan dan kiri pada badan robot.Sensor ini digunakan untuk mencari jalan, kemudian robot akan mencari api yang berda disekelilingnya. Dan akan memadamkan api dengan menggunakan kipas. Untuk pergerakan robot menggunakan motor servo yang diletakkan pada sisi kanan dan sisi kiri robot. (Eri Prasetyo, Wahyu K.R., Bumi Prabowo, 2007).

  Contoh bentuk kapal yaitu ACRO Si Lumba-Lumba, mengacu pada jenis kapal cepat dengan bagian depan (Bulbous bow) yang meruncing, berfungsi untuk membelah aliran air dan memilimalisir gaya-gaya yang menghambat gerakan kapal, sehingga kapal dapat melaju dengan kecepatan yang optimal(Taif Maharsyah dkk. 2012).

2.2 Sistem Cerdas

  Kecerdasan buatan (Artificial Intelligent, AI) telah menjadi wacana umum yang sangat penting dan banyak dijumpai. Kecerdasan Buatan atau Sistem cerdas atau Intelegensi Buatan atau Artificial Inteligence merupakan cabang terpenting dalam dunia komputer. Komputer tidak hanya alat untuk menghitung, tetapi diharapkan dapat diberdayakan untuk mengerjakan segala sesuatu yang bias dikerjakan oleh manusia. Manusia mempunyai pengetahuan, pengalaman dan kemampuan penalaran dengan baik, agar komputer bisa bertindak seperti dan sebaik manusia, maka komputer juga harus dibekali pengetahuan dan mempunyai kemampuan untuk menalar.

  Kecerdasan merupakan bagian kemampuan komputasi untuk mencapai tujuan dalam dunia. Ada bermacam-macam jenis dan derajat kecerdasan untuk manusia, hewan dan mesin.Kecerdasan buatan merupakan sebuah studi tentang bagaimana membuat komputer melakukan hal-hal yang pada saat ini dapat dilakukan lebih baik oleh manusia. ( Rich and Knight, 1991)

  Kecerdasan buatan (AI) merupakan cabang dari ilmu komputer yang dalam mempresentasi pengetahuan lebih banyak menggunakan bentuk symbol- simbol daripada bilangan, dan memproses informasi berdasarkan metode heuristic (Metode Heuristik adalah teknik yang dirancang untuk memecahkan masalah yang mengabaikan apakah solusi dapat dibuktikan benar, tapi yang biasanya menghasilkan solusi yang baik atau memecahkan masalah yang lebih sederhana yang mengandung atau memotong dengan pemecahan masalah yang lebih kompleks.) atau dengan berdasarkan sejumlah aturan.( Encyclopedia Britannica) Kecerdasan adalah kemampuan untuk belajar atau mengerti dari pengalaman. Memahami pesan yang kontradiktif dan ambigu, menanggapi dengan cepat dan baik atas situasi yang baru, menggunakan penalaran dalam memecahkan masalah dan menyelesaikannya secara efektif (Winston dan Pendergast, 1994) Adapun konsep kecerdasan buatan yaitu meliputi 1.

  Tiring test

  • – metode pengujian kecerdasanProses uji ini melibatkan penanya (manusia) dan dua objek yang ditanyai. Yang satu adalah seorang manusia dan satunya adalah sebuah mesin yang akan diuji.

  2. Pemrosesan simbolik

  komputer semula didesain untuk memproses bilangan/angka- angka.(pemrosesan numerik). Sementara manusia dalam berpikir dan menyelesaikan masalah lebih bersifat simbolik, tidak didasarkan pada sejumlah rumus atau melakukan komputasi matematis.

  3. Heuristik

  Heuristic merupakan suatu strategi untuk melakukan suatu pencarian (search) ruang problema secara selektif, yang memandu proses pencarian yang kita lakukan sepanjang jalur yang memiliki kemungkinan sukses paling besar.

  4. Penarikan kesimpulan (inferencing)

  Kemampuan berpikir (reasoning) termasuk didalamnya proses penarikan kesimpulan (inferencing) berdasarkan fakta-fakta dan aturan dengan menggunakan metode heuristic atau metode pencarian lainnya.

  5. Pencocokan pola (pattern matching)

  AI bekerja dengan metode pencocokan pola (pattern matching) yang berusaha untuk menjelaskan objek kejadian (events) atau proses dalam hubungan logik atau komputasional.

2.3 Mikrokontroler

  Mikrokontroler adalah sebuah chip yang berfungsi sebagai pengontrol rangkaian elektronik dan umumnya dapat menyimpan program di dalamnya.

  Mikrokontroler umumnya terdiri dari CPU (Central Processing Unit). Memori I/O tertentu dan unit pendukung seperti ADC (Analog to Digital Converter) yang sudah terintegrasi di dalamnya. Kelebihan utama dari mikrokontroler ialah tersedianya RAM dan peralatan I/O pendukung sehingga ukuran papan mikrokontroler menjadi sangat ringkas.

  Mikrokontroler terdiri dari beberapa bagian seperti processor, memori (RAM dan ROM), port I/O dan pendukung lainnya seperti counter/timer dan lain sebagainya.Semua terbungkus dalam sutu kemasan chip.Fitur inilah yang membedakan dengan sistem mikroposesor. Sebuah mikroprosesor juga memiliki memori, port I/O dan pendukung lainnya untuk menjadi sebuah unit yang komplit, akan tetapi semua komponen tersebut terpisah dari chip processor. Jika sistem mikroprosesor dapat diprogram untuk melakukan banyak fungsi, maka sistem mikrokontroler hanya dapat melakkan sebuah tugas dan menjalankan sebuah program.

Gambar 2.1 Perbedaan dasar mikroprosesor dan mikrokontrolerGambar 2.1 Memperlihatkan perbedaan dasar antara suatu sistem mikroprosesor dengan sistem mikrokontroler. Dari Gambar 2.1 dapat dilihat jika

  sistem mikroprosesor membutuhkan device pendukung untuk membuatnya menjadi sebuah unit yang komplit dan bekerja, sementara dalam sistem mikrokontroler fungsi-fungsi dari device pendukung telah terbungkus dalam sebuah chip.

  

CPU

  cpu Memori Memori

  Program

  data

Gambar 2.2 Konfigurasi mikrokontroler arsitektur havard AVR merupakan mikrokontroler dengan arsitektur Harvard di mana diantara kode program dan data disimpan dalam memori secara terpisah.Umumnya arsitektur Harvard ini menyimpan kode program dalam memori permanen atau semi-permanen (non volatile) sedangkan data disimpan dalam memori tidak permanen (volatile). Sehingga dengan arsitektur seperti ini memori program mikrokontroler menjadi lebih terlindungi dari spike tegangan dan faktor lingkungan lain yang dapat merusak kode program. Beberapa jenis AVR memiliki Flash, EEPROM dan SRAM yang semuanya terintegrasi dalam satu IC, sehingga, untuk aplikasi-aplikasi tertentu tidak akan memerlukan memori

  eksternal . (Agus Bejo, 2008).

2.3.1 Mikrokontroler AT-Mega 328

  AT-Mega 328 adalah mikrokontroller keluaran dari Atmel yang mempunyai arsitektur RISC (Reduce Instruction Set Computer) dimana setiap proses eksekusi data lebih cepat dari arsitektur CISC (Completed Instruction Set Computer ).

  Mikrokontroler AT-Mega328 memiliki arsitektur Havard, yaitu memisahkan memori untuk kode program dan memori untuk data, sehingga dapat memaksimalkan kerja dan parallelism.

  Intruksi-intruksi 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 suklus.6 dari

  

register serbaguna ini dapat digunakan sebagai 3 buah registerpointer 16-bit pada

  mode pengalamatan tidak langsung untuk mengambil data pada ruang memori data.

  Ketiga registerpointer 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 intruksi 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 SPI, EEPROM, dan fungsi I/O lainnya. Register-register ini menempati memori pada alamat 0x20h

  • – 0x5Fh.

2.3.2 Konfigurasi Pin mikrokontroler AT-Mega 328

  Mikrokontroler AT-Mega328 memiliki 4 buah port yaitu Port A, port B, Port C dan Port D. Konfigurasi pin mikrokontroler AT-Mega328 dapat dilihat pada Gambar 2.3.

Gambar 2.3 Konfigurasi pin AT-Mega328

  2.3.3 Deskripsi Pin AT-Mega328 Gambar 2.3 merupakan konfigurasi pin mikrokontroler AT-Mega328.

  Masing-masing pin mikrokontroler memiliki fungsinya tersendiri. Selain itu pada beberapa pin mikrokontroler AT-Mega328 juga memiliki fungsi ganda. Untuk lebih jelasnya deskripsi dari masing-masing pin mikrokontroler AT-Mega328 dijelaskan pada Tabel 2.1 untuk konfigurasi port B, Tabel 2.2 konfigurasi port C dan Tabel 2.3 konfigurasi port D.

Tabel 2.1 Konfigurasi port BTabel 2.2 Konfigurasi Port CTabel 2.3 Konfigurasi Port D

2.3.4 Fitur AT-Mega 328

  Fasilitas yang dimiliki oleh mikrokontroler AT-Mega 328 adalah sebagai berikut: 1. 130 macam instruksi yang hampir semuanya dieksekusi dalam satu siklus. 2. 32 x 8-bit register serba guna.

  3. Kecepatan mencapai 16 MIPS dengan clock 16 MHz. 4. 32 KB Flash Memory.

  5. Memiliki EEPROM ( Elekctrically Erasable Programmable Read Only Memory ) sebesar 1 KB.

  6. Memiliki SRAM ( Static Random Acces Memory ) sebesar 2 KB.

  7. Memiliki I/O digital sebanyak 14 pin.

  8. Memiliki 6 PWM (Pulse Width Modulation).

  9. Master / Slave SPI Serial interface.

2.3.5 Arsitektur mikrokontroler AT-Mega 328

Gambar 2.4 Arsitektur AT-Mega328

  Mikrokontroler AT-Mega328 memiliki arsitektur Harvard, yaitu memisahkan memori untuk kode program dan memori untuk data sehingga dapat memaksimalkan kerja dan parallelism.Intruksi-inruksi dalam memori program dieksekusi dalam satu alur tunggal, dimana pada saat satu intruksi dikerjakan intruksi berikutnya sudah diambil dari memori program.Konsep inilah yang memungkinkan intruksi-intruksi dapat dieksekusi dalam setiap satu siklus clock.

  32 x 8-bit register serba guna digunakan untuk mendukung operasi pada ALU ( Arithmaticlogicunit ) yang dapat dilakukan dalam satu siklus. 6 dari

  

register serba guna ini dapat digunakan sebagai 3 buah registerpointer 16-bit pada

mode pengalamatan tak langsung untuk mengambil data pada ruang memori data.

  Ketiga registerpointer 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 intruksi AVR memiliki format 16-bit. Setiap bit alamat memori program terdiri dari intruksi 16-bit atau 32-bit. Selain register serba guna di atas, terdapat register lain yang terpetakan dengan teknik memorymapped I/O selebar 64-byte. Beberapa register ini digunakan untuk fungsi khusus antara lain sebagai registercontrolTimmer/Counter, Interupt, ADC, USART, SPI, EEPROM, dan fungsi I/O lainnya. Register-register ini menempati memori pada alamat 0x20h-0x5Fh.Tampilan arsitektur mikrokontroler AT-Mega328 dapat dilihat pada Gambar 2.4.

2.4 Motor DC

  Motor DC sering dipergunakan dalam penerapan yang memerlukan ketepatan pengaturan kecepatan dan keluaran momen-kakas dalam suatu rentang yang lebar.Kecepatan diatur melalui perubahan tegangan yang diberikan pada terminal gandar kumparan.Dengan demikian analisanya melibatkan waktu peralihan listrik di dalam rangkaian gandar kumparan serta dinamika dari beban mekanika yang digerakan oleh motor.

  Karakteristik kecepatan momen kakas dari suatu motor DC dapat diatur dengan mengubah ubah tegangan gandar kumparan, dengan mengubah-ubah arus medan. Untuk keperluan tertentu, cara-cara tersebut masing-masing dapat dipergunakan untuk merancang pengaturan motor dengan cepat. Sistem tegangan gandar-kumparan yang dapat diatur menggunakan rangkaian penyearah thyristor yang fasanya dapat diubah-ubah untuk memberikan daya DC bagi motor DC.

2.4.1 Pengertian motor DC

  Motor listrik merupakan perangkat elektromagnetis yang mengubah energi listrik menjadi energi mekanik. Motor DC memerlukan suplay tegangan yang searah pada kumparan medan untuk diubah menjadi energi mekanik. Kumparan medan pada motor DC disebut Stator (bagian yang tidak berputar) dan kumparan jangkar disebut rotor (bagian yang berputar). Jika terjadi putaran pada kumparan jangkar dalam pada medan magnet, maka akan timbul tegangan (GGL) yang berubah-ubah arah pada setiap setengah putaran. Prinsip kerja dari motor arus searah adalah membalik phasa tegangan dari gelombang yang mempunyai nilai positif dengan menggunakan komutator, dengan demikian arus yang berbalik arah dengan kumparan jangkar yang berputar dalam medan magnet. Bentuk motor paling sederhana memiliki kumparan satu lilitan yang bisa berputar bebas di antara kutub-kutub mengnet permanen.

Gambar 2.5 Motor DC

  Catu tegangan DC dari baterai menuju ke lilitan melalui sikat yang menyentuh komutator, dua segmen yang terhubung dengan dua ujung lilitan.Kumparan satu lilitan pada gambar diatas disebut angker dynamo. Angker dynamo adalah sebutan untuk komponen yang berputar diantara medan magnet.

2.4.2Prinsip dasar cara kerja motor DC

  Jika arus lewat pada suatu konduktor, timbul medan magnet di sekitar konduktor.

Gambar 2.6 Medan magnet yang mambawa arus

  Mengelilingi konduktor Aturan genggam tangan kanan bisa dipakai untuk menentukan arah garis fluks disekitar konduktor. Genggaman konduktor dengan tangan kanan dengan jempol mengarah pada arah aliran arus, maka jari-jari anda akan menunjukkan arah garis fluks. Gambar 2.7 menunjukkan medan magnet yang terbentuk di sekitar konduktor berubah arah karena bentuk huruf U.

Gambar 2.7 Medan magnet yang berubah arah

  Medan magnet hanya terjadi di sekitar sebuah konduktor jika ada arus mengalir pada konduktor tersebut. Pada motor listrik konduktor berbentuk U disebut angker dynamo.

Gambar 2.8 Medan magnet mengelilingi konduktor dan diantara kutub

  Jika konduktor berbentuk U (angker dynamo) diletakan diantara kutub utara dan selatan yang kuat medan magnet konduktor akan berinteraksi dengan medan magnet.

Gambar 2.9 Reaksi garis fluks

  Lingkaran bertanda A dan B merupakan ujung konduktor yang dilengkungkan (looped conductor). Arus mengalir masuk melalui ujungA dan keluar melalui ujung B. Medan konduktor A yang searah jarum jam akan menambah medan pada kutub dan menimbulkan medan yang kuat di bawah konduktor. Konduktor akan berusaha bergerak ke atas untuk keluar dari medan kuat ini. Medan konduktor B yang berlawanan arah jarum jam akan menambah medan pada kutub dan menimbulkan medan yang kuat di atas konduktor. Konduktor akan berusaha untuk bergerak turun agar keluar dari medan yang kuat tersebut. Gaya-gaya tersebut akan membuat angker dynamo berputar searah jarum jam.

  Mekanisme kerja untuk seluruh jenis motor secara umum: 1. Arus listrik dalam medan magnet akan memberikan gaya.

  2. Jika kawat yang membawa arus dibengkokkan menjadi sebuah lingkaran/loop, maka kedua sisi loop, yaitu pada sudut kanan medan magnet, akan mendapatkan gaya pada arah yang berlawanan.

  3. Pasangangaya menghasilkan tenaga putar/torsi untuk memutar kumparan.

  4. Motor-motor memiliki beberapa loop pada dinamonya untuk memberikan tenaga putaran yang lebih seragam dan medan megnetnya dihasilkan oleh susunan elektromagnetik yang disebut kumparan medan. Pada motor DC, daerah kumparan medan yang dialiri arus listrik akan menghasilkan medan magnet yang melingkupi kumparan jangkar dengan arah tertentu. Konversi dari energi listrik menjadi energi mekanik (motor) maupun sebaliknya berlangsung melalui medan magnet, dengan demikian medan magnet selain berfungsi sebagai tempat unuk menyimpan energi, juga sebagai tempat berlangsungnya proses perubahan energi. Daerah tersebut dapat dilihat pada Gambar 2.10.

Gambar 2.10 Prinsip kerja motor DC

  Agar proses perubahan energi mekanik dapat berlangsung secara sempurna, maka tegangan sumber harus lebih besar dari pada tegangan gerak yang disebabkan reaksi lawan. Pemberian arus pada kumparan jangkar yang dilindungi oleh medan magnet maka menimbulkan perputaran pada motor.

  Penting untuk mengerti apa yang dimaksud dengan beban motor. Beban mengacu pada keluaran tenaga putar/torsi sesuai dengan kecepatan yang diperlukan. Beban umumnya dapat dikategorikan ke dalam tiga kelompok, yaitu:

  1. Beban torsi konstan adalah beban dimana permintaan keluaran energinya bervariasi dengan kecepatan operasinya namun torsinya tidak bervariasi. Contohnya beban dengan torsi konstan adalah corveyors, totary kilns , dan pompa displacement konstan.

  2. Beban dengan torsi variable adalah beban dengan torsi yang bervariasi dengan kecepatan operasi. Contohnya pompa sentrifugal dan kipas angin/fan (torsi bervariasi sebagai kuadrat kecepatan).

  3. Beban dengan energi konstan adalah beban dengan permintaan torsi yang berubah dan berbanding terbalik dengan kecepatan. Contoh peralatan-peralatan mesin.

2.4.3 Prinsip Arah Putaran Motor.

  Untuk menentukan arah putaran motor digunakan kaedah Flaming tangan kiri. Kutub-kutub megnet akan menghasilkan medan magnet dengan arah dari kutub utara ke kutub selatan. Jika medan magnet memotong sebuah kawat penghantar yang dialiri arus searah dengan empat jari, maka akan timbul gerak searah ibu jari. Gaya ini disebut gaya Lorentz, yang besarnya sama dengan F.

  Motor DC bekerja berdasarkan prinsip gaya Lorentz, yang menyatakan ketika sebuah konduktor beraliran arus diletakan dalam medan magnet,maka sebuah gaya (yang dikenal dengan gaya Lorentz) akan tercipta secara ortogonal diantara arah medan magnet dan arah aliran arus. Mekanisme ini diperlihatkan pada Gambar 2.11.

Gambar 2.11 Bagan mekanisme kerja motor dc magnet permanen

  Motor DC yang digunakan pada robot beroda umumnya adalah motor DC dengan magnet permanen. Motor DC jenis ini memiliki dua buah magnet permanen sehingga timbul medan magnet di antara kedua magnet tersebut. Di dalam medan magnet inilah jangkar/rotor berputar. Jangkar yang terletak di tengah motor memiliki jumlah kutub yang ganjil dan pada setiap kutubnya terdapat lilitan. Lilitan ini terhubung ke area kontak yang disebut komutator. Sikat (brushes) yang terhubung ke kutub positif dan negativ motor memberikan daya ke lilitan sedemikian rupa sehingga kutub yang satu akan ditolak oleh magnet permanen yang berada didekatnya, sedangkan lilitan lain akan ditarik ke magnet permanen yang lain,sehingga menyebabkan jangkar berputar. Ketika jangkar berputar, komutator mengubah lilitan yang mendapat pengaruh polaritas medan magnet sehingga jangkar akan terus berputar selama kutub positif dan negative motor diberi daya. Kecepatan putar motor DC (N) dirumuskan dengan persamaan (2.1)

  .......................................................................... (2.1) Keterangan:

  = Tegangan terminal = Arus jangkar motor

  = Hambatan jangkar motor = Konstanta motor = Fluk magnet yang terbentuk pada motor Pengendalian kecepatan putar motor DC dapat dilakukan dengan mengatur besarnya tegangan terminal motor.Metode tersebut dapat diaplikasikan dengan teknik modulasi lebar pulsa atau PulseWidthModulation (PWM).

2.5 Sensor Ultrasonik

  Ultrasonik adalah penerapan dan penggunaan gelombang bunyi dengan frekuensi-frekuensi diatas daerah audio manusia, dengan kata lain diatas 20 kHz.Penerapan penggunaan sensor ultrasonik sebagai pengukur jarak dengan melakukan gema (sonarranging).Bunyi bergerak sebagai gelombang mampat dan harusada media yang dipakai untuk dilewatinya.Kecepatan bunyi melalui medium padat kira-kira sepuluh kali lebih tinggi dari pada melalui medium udara.

  (kecepatan bunyi malalui udara adalah ± 340 m/det).

  Gelombang ultrasonik diproduksi dengan menggunakan resonator elektromekanis.Cara kerja dari tranduser ini bergantung pada efek piezo-

  electric .Efek piezo-electric terlihat dalam bahan

  • –bahan seperti kuarsa dan keramik jika muatan dipole (dua kutub) didalam keramik disejuruskan oleh proses yang disebut polarisasi. Bahan tersebut dipanaskan sampai suhu diatas titik curie, kemudian pada saat mendingin kembali melalui titik curie dan dikenai oleh medan listrik. Hal ini akan memaksa dipole-dipole itu untuk menjuruskan dari masing- masing kearah medan yang dikenakan. Dan penjurusan ini akan bertahan bila bahan sudah menjadi dingin kembali pada suhu normal dan medan dihilangkan. Sekarang bahan itu menjadi piezo-electric yaitu bahan tersebut akan membangkitkan tegangan listrik yang membentanginya, jika bahan itu diregangkan secara mekanis kearah polarisasinya, bahan itu akan berubah panjangnya.

  Dengan cara demikian piezo-electric mengubah energi mekanis menjadi energi listrik dan juga sebaliknya. Tegangan bolak-balik akan memaksanya bergetar dan akanterjadi perubahan mekanis maksimum (bila isyarat yang dikenakan berada pada frekuensi sama dengan frerkuensi resonansi diri

  tranducer ). Perubahan-perubahan mekanis ini akan dipancarkan sebagai

  gelombang ultrasonik. Sedangkan gelombang ultrasonik digunakan untuk mengetahui jarak antara robot dengan objek disekitarnya.Prinsip yang digunakan adalah pemantulan gelombang suara.Suara ultrasonik dipancarkan oleh bagian pemancar, dipantulkan oleh objek disekitarnya, lalu diterima kembali oleh bagian penerima,perhatikan Gambar 2.12.

Gambar 2.12 Pemantulan suara pada sensor ultrasonik

  Sedangkan cara kerja sensor ultrasonik dalam menentukan jarak adalah menghitung waktu dari pengiriman gelombang suara sampai gelombang suara itu diterima kembali. Sensor uiltrasonik tidak terpengaruh dengan perbedaan warna objekyang dikenai pantulan gelombang, dan tidak terpengaruh cahaya disekitarnya.Sensor ultrasonik produksi parallax banyak digunakan untuk aplikasi/kontes robot.Kelebihan sensor ini ialah hanya membutuhkan 1 sinyal (SIG), selain jalur 5 V dan ground.

  Gambar 2.13Sensor ultrasonikPING Sensor ultrasonik ping mendeteksi jarak obyek dengan cara memancarkan gelombang ultrasonik (40 KHz) selama (200 us) kemudian mendeteksi pantulannya serta memancarkan gelombang ultrasonik dari mikrokontroler pulsa TTL positif yaitu min 2 ms dengan kisaran jarak 3 cm

  • – 3 m. Gelombang ultrasonik ini merambat melalui udara dengan kecepatan 340 m/s, lalu mengenai obyek dan memantul kembali ke sensor sehingga mengeluarkan pulsa output high pada pin SIG. Setelah memancarkan gelombang ultrasonik dan gelombang pantulan telah terdeteksi maka sensor akan membuat output low pada pin SIG. Sedangkan untuk lebar pulsa high akan sesuai dengan lama waktu tempuh gelombang ultrasonic untuk 2x jarak ukur dengan obyek. Maka untuk jarak yang diukur ialah[( ] meter.

2.6 IC L293D

  IC L293D adalah IC yang didesain khusus sebagai driver motor DC dan dapat dikendalikan dengan rangkaian TTL maupun mikrokontroler. Motor DC yang dikontrol dengan driver IC L293D dapat dihubungkan ke ground maupun ke sumber tegangan positif karena di dalam driver L293D sistem driver yang digunakan adalah totem pool. Dalam 1 unit chip IC L293D terdiri dari 4 buah

  driver motor DC yang berdiri sendiri sendiri dengan kemampuan mengalirkan

  arus 1 Ampere tiap drivernya. Sehingga dapat digunakan untuk membuat driverH- bridge untuk 2 buah motor DC.

Gambar 2.14 Kontruksi IC L293D

2.6.1 Fungsi Pin Driver Motor DC IC L293D

  1. Pin EN (Enable, EN1.2, EN3.4) berfungsi untuk mengijinkan driver menerima perintah untuk menggerakan motor DC.

  2. Pin In (Input, 1A, 2A, 3A, 4A) adalah pin input sinyal kendali motor DC.

  3. Pin Out (Output, 1Y, 2Y, 3Y, 4Y) adalah jalur output masing-masing

  driver yang dihubungkan ke motor DC

  4. Pin VCC (VCC1, VCC2) adalah jalur input tegangan sumber driver motor DC, dimana VCC1 adalah jalur input sumber tegangan rangkaian kontrol

  driver dan VCC2 adalah jalur input sumber tegangan untuk motor DC yang dikendalikan.

  5. Pin GND (Ground) adalah jalur yang harus dihubungkan ke ground,pin GND ini ada 4 buah yang berdekatan dan dapat dihubungkan ke sebuah pendingin kecil.

2.6.2 Feature Driver Motor DC IC L293D

  Driver motor DC IC L293D memiliki fitur yang lengkap untuk sebuah

  driver motor DC sehingga dapat diaplikasikan dalam beberapa teknik driver motor DC dan dapat digunakan untuk mengendalikan beberapa jenis motor DC.

  Fitur yang dimiliki driver motor DC IC L293D sesuai dengan datasheet adalah sebagai berikut :

  1. WideSupply-VoltageRange: 4.5 V to 36 V.

  2. Separate - Input LogicSupply.

  3. Internal ESD Protection.

  4. ThermalShutdown.

5. High-Noise-Immunity Inputs.

  6. FunctionallySimilar to SGS L293 and SGS L293D.

  7. Output Current 1 A Per Channel (600 mA for L293D).

  8. PeakOutputCurrent 2 A Per Channel (1.2 A for L293D) .

  9. Output ClampDiodesforInductiveTransientSuppression (L293D).

2.6.3 Rangkaian Aplikasi Driver IC L293D Untuk Dua Motor DC

Gambar 2.15 Rangkaian aplikasi driver motor DC IC L293D untuk dua motor DC

  Prinsip kerja driver menggunakan IC L293D adalah Pin EN1 adalah pin untuk mengenablekan motor 1 (ON / OFF) biasanya Pin EN1 dihubungkan dengan PWM untuk mengontrol kecepatan motor. Sementara untuk EN2 fungsinya sama dengan EN1 bedanya EN2 untuk mengontrol motor DC 2.

  Sementara untuk mengontrol arah putar motor dapat dilihatpada Tabel 2.4dan Tabel 2.5.

Tabel 2.4 Arah putar motor 1 pada ICL293D

  IN 1

  IN 2 KONDISI MOTOR DC 1 Berhenti

  1 Putar searah jarum jam

  1 Putar berlawanan arah jarum jam

  1

  1 Berhenti

Tabel 2.5 Arah putar motor 2 pada IC L293D

  IN 3

  IN 4 KONDISI MOTOR DC 2 Berhenti

  1 Putar searah jarum jam

  1 Putar berlawanan arah jarum jam

  1

  1 Berhenti Jika IN1 diberi input logika 1 dan IN2 diberi input logika 0, maka motor

  (1) akan berputar kebalikan arah jarum jam. Dan sebaliknya jika IN1 diberi input logika 0 dan IN2 diberi input logika 1, maka motor (1) akan berputar searah jarum jam. Jika memberi logik 1 atau 0 pada IN1 dan IN2 bersamaan, Motor (1)akan berhenti (Pengereman Secara Cepat). Begitu juga dengan motor 2. Sementara untuk mengatur kecepatan motor adalah dengan mengatur input dari enable 1 (pin1) dan enable 2 (pin9) menggunakan PWM (PulseWidthModulation).

2.7 Bahasa C

2.7.1 Struktur Penulisan Bahasa C

  Program C pada hakekatnya tersusun atas sejumlah blok fungsi. Sebuah program minimal mengandung sebuahfungsi. Fungsi pertama yang harus ada dalam program C dan sudah ditentukan namanya adalah main().Setiap fungsi terdiri atas satu atau beberapa pernyataan, yang secara keseluruhan dimaksudkan untuk melaksanakan tugas khusus.Bagian pernyataan fungsi (sering disebut tubuh fungsi) diawali dengan tanda kurung kurawal buka ({) dan diakhiri dengan tanda kurung kurawal tutup (}). Di antara kurung kurawal itu dapat dituliskan statemen- statemen program C. Namun pada kenyataannya, suatu fungsi bisa saja tidak mengandung pernyataan sama sekali. Walaupun fungsi tidak memiliki pernyataan, kurung kurawal haruslah tetap ada.Sebab kurung kurawal mengisyaratkan awal dan akhir definisi fungsi. Berikut ini adalah struktur dari program C:

  Bahasa C dikatakan sebagai bahasa pemrograman terstruktur karena strukturnya menggunakan fungsi-fungsi sebagai program-program bagiannya (subroutine). Fungsi-fungsi yang ada selain fungsi utama (main()) merupakan program-program bagian. Fungsi-fungsi ini dapat ditulis setelah fungsi utama atau diletakkan pada file pustaka (library). Jika fungsi-fungsi diletakkan pada file pustaka dan akan dipakai pada suatu program, maka nama file judulnya (headerfile) harus dilibatkan dalam program yang menggunakannya dengan preprocessor directive berupa #include.

  Pengenalan Fungsi-Fungsi Dasar

  a. Fungsi main() Fungsimain() harus ada pada program, sebab fungsi inilah yang menjadi titik awal dan titik akhir eksekusi program. Tanda { diawal fungsi menyatakan awal tubuh fungsi dan sekaligus awal eksekusi program, sedangkan tanda } diakhir fungsi merupakan akhir tubuh fungsi dan sekaligus adalah akhir eksekusi program. Jika program terdiri atas lebih dari satu fungsi, fungsi main() biasa ditempatkan pada posisi yang paling atas dalam pendefinisian fungsi.Hal ini hanya merupakan kebiasaan.Tujuannya untuk memudahkan pencarian terhadap program utama bagi pemrogram.Jadi bukanlah merupakan suatu keharusan.

  b. Fungsi printf() Fungsi printf() merupakan fungsi yang umum dipakai untuk menampilkan suatu keluaran pada layar peraga. Untuk menampilkan tulisan:

  Selamat belajar bahasa C misalnya, pernyataan yang diperlukan berupa: printf(“Selamat belajar bahasa C”);

  Pernyataan di atas berupa pemanggilan fungsi printf() dengan argumen atau parameter berupa string. Dalam C suatu konstanta string ditulis

  dengan diawali dan diakhiri tanda

  petik ganda (“).Perlu juga diketahui pernyataan dalam C selalu diakhiri dengan tanda titik koma (;).Tanda titik koma dipakai sebagai tanda pemberhentian sebuah pernyataan dan

  \

  bukanlah sebagai pemisah antara dua pernyataan. Tanda pada string yang dilewatkan sebagai argumen printf() mempunyai makna yang

  khusus.Tanda ini bisa digunakan untuk menyatakan karakter khusus seperti karakter baris-baru ataupun karakter backslash (miring kiri).Jadi karakter \n sebenarnya menyatakan sebuah karakter.Contoh karakter yang ditulis

  seperti

  \ dengan diawali tanda adalah:

  \ menyatakan karakter petik-ganda ”

  \\ menyatakan karakter backslash \t menyatakan karakter tab

  Dalam bentuk yang lebih umum, format printf() printf(“string kontrol”, daftar argumen); Dengan string kontrol dapat berupa satu atau sejumlah karakter yang akan ditampilkan ataupun berupa penentu format yang akan mengatur penampilan dari argumen yang terletak pada daftar argumen. Mengenai penentu format diantaranya berupa:

  %d untuk menampilkan bilangan bulat (integer)

  %f untuk menampilkan bilangan titik-mengambang (pecahan) %c untuk menampilkan sebuah karakter %s untuk menampilkan sebuah string

  Contoh: #include <stdio.h> main( ) { printf(“No : %d\n”, 10); printf(“Nama : %s\n”, “Ali”); printf(“Nilai : %f\n”,80.5); printf(“Huruf : %c\n”,„A‟); }

  Pengenalan Praprosesor #include

  merupakan salah satu jenis pengarah praprosesor (preprocessor

  #include

directive). Pengarah praprosesor ini dipakai untuk membaca file yang

  diantaranya berisi deklarasi fungsi dan definisi konstanta. Beberapa file judul disediakan dalam C. File-file ini mempunyai cirri yaitu namanya diakhiri dengan ekstensi .h. Misalnya pada program #include <stdio.h> menyatakan pada kompiler agar membaca file bernama stdio.h saat pelaksanaan kompilasi.

  Bentuk umum #include: #include “namafile”

  Bentuk pertama (#include<namafile>) mengisyaratkan bahwa pencarian file dilakukan pada direktori khusus, yaitu direktori file include. Sedangkan bentuk kedua (#include

  “namafile”) menyatakan bahwa pencarian file dilakukan pertama kali pada direktori aktif tempat program sumber dan seandainya tidak ditemukan pencarian akan dilajutkan pada direktori lainnya yang sesuai dengan perintah pada sistem operasi.

  Kebanyakan program melibatkan file stdio.h (file-judul I/O standar, yang disediakan dalam C). Program yang melibatkan file ini yaitu program yang menggunakan pustaka I/O (input-output) standar seperti printf().

  Komentar dalam Program

  Untuk keperluan dokumentasi dengan maksud agar program mudah dipahami suatu saat lain, biasanya pada program disertakan komentar atau keterangan mengenai program. Dalam C, suatu komentar ditulis degan diawali dengan tanda /* dan diakhiri dengan tanda */.

  Contoh: /*

  Tanda ini adalah komentar Untuk multiple line

  • / #include <stdio.h> Main() { Printf(“coba\n”);

  //ini komentar satu baris