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
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
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
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
mikrokontroler hanya dapat melakkan sebuah tugas dan menjalankan sebuah program.
Gambar 2.1 Perbedaan dasar mikroprosesor dan mikrokontroler
Gambar 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
Gambar 2.2 Konfigurasi mikrokontroler arsitektur havard
CPU
Memori data Memori
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
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
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.
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.2 Konfigurasi Port C
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.
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
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
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
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.
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
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.
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
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
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
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
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.
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
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
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
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) .
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.
Tabel 2.4 Arah putar motor 1 pada ICL293D
IN 1 IN 2 KONDISI MOTOR DC 1
0 0 Berhenti
0 1 Putar searah jarum jam
1 0 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
0 0 Berhenti
0 1 Putar searah jarum jam
1 0 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
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
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
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 seperti \nsebenarnya menyatakan sebuah karakter.Contoh karakter yang ditulis 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:
%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
#include merupakan salah satu jenis pengarah praprosesor (preprocessor 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
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() {