disusun oleh :
ADI SAPUTRA
NIM : 055114005
i
FINAL PROJECT
ADI SAPUTRA
NIM : 055114005
ii
iii
iv
LEMBAR PERSETUJUAN PUBLIKASI KARYA ILMIAH
Yang bertanda tangan di bawah ini, saya mahasiswa Universitas Sanata Dharma :
NIM : 055114005
hak untuk menyimpan, mengalihkan dalam bentuk media lain, mengelolanya dalam bentuk
media lain untuk kepentingan akademis tanpa perlu meminta ijin dari saya maupun
memberikan royalti kepada saya selama tetap mencantumkan nama saya sebagai penulis.
(Adi Saputra)
v
PERNYATAAN KEASLIAN KARYA
Saya menyatakan dengan sesungguhnya bahwa tugas akhir ini tidak memuat karya
atau bagian karya orang lain, kecuali yang telah disebutkan dalam kutipan dan daftar pustaka
Adi Saputra
vi
INTISARI
vii
ABSTRACT
In daily live, there are so many weakness on letter delivering process at company or
university. From that weakness then a robot will be made to solve that problem. With
microcontroller as the “brain” and line follower’s principle as moving system then postman
robot delivery will be made.
Line sensors on robot are designed for detect the line and will give an input to
microcontroller to decide robot movement direction with changing the movement speed on
the left and right wheel. Mechanical arm’s function is to take and to put a letter. DC Motor
used as Actuator to move the wheel and the mechanical arm. Robot’s letter sensor will detect
if there is a letter or not in the locker.
Observation result show that the robot’s work was good enough. Robot’s work faster
if the circuit that it through has less turn. Beside that, the robot also will work better if the
power supply is used with big power capacity.
viii
KATA PENGANTAR
Puji dan syukur kepada Tuhan Yesus Kristus atas karunia dan bimbingan-Nya
sehingga Penulis dapat menyelesaikan perancangan Tugas Akhir “ Robot Pengantar Surat
Tugas Akhir ini dibuat sebagai salah satu syarat untuk meraih gelar Sarjana Strata 1
(S1) pada jurusan Teknik Elektro Fakultas Sains dan Teknologi Universitas Sanata Dharma
Yogyakarta.
Berkat dukungan dari banyak pihak, Penulis dapat menyelesaikan Tugas Akhir ini
dengan baik. Dan dengan tulus hati, Penulis menyampaikan terima kasih yang sebesar –
besarnya kepada pihak yang telah membantu demi lancarnya penyelesaian Tugas Akhir ini :
bimbingan dan arahan kepada Penulis dari awal hingga Tugas Akhir ini selesai.
2. Keluarga, yang telah memberikan dukungan moral dan ekonomi sehingga Tugas
3. Bapak Damar Widjaja, S.T., M.T., selaku Pembimbing Akademik yang telah
membantu dan memberi arahan dari awal hingga akhir masa kuliah.
dukungan, dan bantuannya sehingga masa kuliah menjadi kenangan yang indah dan
menyenangkan.
6. Rekan – rekan satu kontrakan, Charli Liando Saputra, Silverius Yonan Saga,
Oktavianus Ardhian Nugroho, I Putu gede Surya Wibawa, Efendi Saipin, Herman
ix
Marhindi, Jansen Simatupang, terimakasih atas kebersamaannya dalam suka maupun
duka.
7. Para dosen, laboran, dan staf administrasi jurusan Teknik Elektro Universitas Sanata
Dharma dan semua pihak yang selama ini secara tidak langsung telah banyak
membantu Penulis.
menjadikan Tugas Akhir ini masih jauh dari kesempurnaan. Penulis mengharapkan adanya
kritik dan saran dari para Pembaca, dan dengan senang hati Penulis akan menerimanya.
Kiranya demikianlah beberapa hal yang ingin Penulis sampaikan, dengan harapan
Adi Saputra
x
DAFTAR ISI
Halaman Sampul (Bahasa Indonesia) ……………………………………………... i
BAB I : PENDAHULUAN
xii
3.2 Alur Perancangan Sensor Jalur (Line Sensor) ……………………….... 29
xiii
4.6 Pembahasan Software ............................................................................. 72
LAMPIRAN ............................................................................................................. 81
xiv
DAFTAR GAMBAR
Halaman
Gambar 2.15 Kondisi Limit Switch NO dan Kondisi Limit Switch NC ................................ 22
Gambar 2.16 Op-amp Komparator dan Karakteristik Tegangan Output (Vo) ..................... 23
Gambar 2.17 Grafik Vout dan Vin Yang Sudah Dibandingkan Dengan Vref ..................... 23
xv
Gambar 3.1 Blok Diagram Sistem Secara Umum ................................................................ 28
Gambar 3.17 Rangkaian Skematik Untuk Penggerak Roda Kiri dan Kanan ....................... 43
Gambar 3.18 Rangkaian Skematik Untuk Penggerak Lengan Mekanik / Slider .................. 43
xvi
Gambar 4.1 Robot Saat Mengambil Surat ............................................................................ 57
Gambar 4.2 Posisi Loker yang Benar (Kiri) dan Salah (Kanan) .......................................... 58
Gambar 4.3 Posisi Lengan Mekanik yang Benar (Kiri) dan Salah (Kanan) .........................58
Gambar 4.8 Skematik Rangkaian Sensor Pendeteksi Jalur Hitam Satu Sisi ........................ 64
xvii
DAFTAR TABEL
Halaman
Tabel 3.4 Data Pra Penelitian Untuk Karakteristik LDR yang Ditutup Pipa ....................... 40
Tabel 4.4 Data Waktu Tempuh Untuk Proses Pengantaran Surat ........................................ 60
Tabel 4.6 Data Arus dan Daya Total yang Diserap ……………………………………….. 62
Tabel 4.7 Perbandingan Data Hasil Pengukuran dan Data Teoritis Pada Sensor
Tabel 4.8 Perbandingan Data Hasil Pengukuran dan Data Teoritis Pada Sensor
xviii
Sensor Indikator Surat …………………………………………………………………….. 70
xix
1
BAB I
PENDAHULUAN
1.1.Judul
AT89S51 Microcontroller).
1.2.Latar Belakang
penyampaian surat pada perusahaan atau universitas, seperti jauhnya tempat loker surat dari
ruang kerja sehingga menimbulkan rasa malas bagi seorang karyawan untuk mengambilnya.
Dari kekurangan tersebut, agar surat tersebut dapat diterima oleh karyawan yang dituju tanpa
perlu mengambil sendiri ke tempat loker surat maka dibuatlah suatu robot untuk
mengatasinya.
fisiknya jauh lebih ringkas. Penerapan mikrokontroler saat ini pun sudah sangat luas dan
telah memberi sumbangan yang besar bagi teknologi yang menunjang kehidupan manusia
terbukti dari banyaknya berbagai temuan yang terus dikembangkan untuk menyelesaikan
masalah kehidupan. Salah satunya yang sekarang mulai terkenal dan sering dilombakan
adalah Line Follower ( pengikut garis). Sesuai namanya, Line Follower adalah robot yang
akan bergerak mengikuti jalur yang sudah ditentukan. Dengan mikrokontroler sebagai
”otak”-nya dan prinsip line follower sebagai sistem pergerakkannya dibuatlah robot
Saat diberi catu daya, robot akan berjalan di samping loker. Di depan setiap loker
terdapat persimpangan, dan robot akan mendeteksi persimpangan tersebut. Jika sampai pada
persimpangan, robot akan berhenti dan akan mendeteksi cahaya dari arah loker. Jika robot
mendeteksi cahaya, maka lengan mekanik akan bergerak masuk ke loker dan mengambil
surat di dalam. Setelah surat terambil, robot akan berbelok di persimpangan dan akan
berjalan mengikuti jalur sampai di tempat tujuan, lengan mekanik akan meletakan surat. Jika
pada saat berhenti di persimpangan robot tidak mendeteksi cahaya selama 5 detik, robot
akan menganggap bahwa loker kosong dan akan bergerak lurus melewati persimpangan dan
berhenti di persimpangan berikutnya, begitu seterusnya sampai jalur habis. Jika robot sudah
sampai pada akhir jalur maka robot akan bergerak mundur sampai posisi awal dan akan
Tujuan dari penelitian ini yaitu membuat robot yang dapat mengirim surat secara
otomatis.
Selama penelitian dalam merancang robot pengantar surat ini, diharapkan dapat diambil
b. Sebagai acuan untuk perkembangan sistem pengiriman surat agar lebih efisien.
c. Sebagai acuan untuk dapat lebih memahami fungsi dan karakteristik komponen -
1.4.Batasan Masalah
Agar perancangan sistem dan pembahasan laporan tentang robot pengantar surat
berdasarkan line follower berbasis mikrokontroller ini menjadi lebih spesifik maka diberikan
b. Sensor cahaya menggunakan LED inframerah, fotodioda, dan LDR (Light Dependent
(potensiometer).
c. Letak loker harus dekat dengan garis jalur pertama agar robot dapat mendeteksi dan
mengambil surat. Demikian juga lintasan yang akan digunakan tidak ada penghalang dan
d. Rangkaian lengan mekanik menggunakan sistem mekanik pada CD-ROM bekas untuk
pergerakan maju – mundur dan untuk sistem ini tidak dibahas dalam laporan
perancangan ini.
I.5.Metodologi Penelitian
2. Perhitungan dan analisa dalam menentukan tegangan referensi untuk kepekaan sensor
5. Pengujian alat dan mengambil data hasil pengujian dengan menggunakan alat ukur. Hal
BAB II
DASAR TEORI
2.1.Robotika
Keunggulan dalam teknologi robotik tak dapat dipungkiri telah lama dijadikan ikon
kebanggaan negara – negara maju di dunia. Kecanggihan teknologi yang dimiliki, gedung–
gedung tinggi yang mencakar langit, tingkat kesejahteraan rakyatnya yang tinggi, kota-
kotanya yang modern, belumlah terasa lengkap tanpa popularitas kepiawaian dalam dunia
robotika.
Kata robot yang berasal dari bahasa Czech, robota, yang berarti pekerja, mulai
popular ketika seorang penulis berbangsa Czech (Ceko), Karl Capek, membuat pertunjukan
dari lakon komedi yang ditulisnya pada tahun 1921 yang berjudul RUR (Rossum’s Universal
Robot).[1]
1. Sistem kontroler
Adalah rangkaian elektronik yang setidak-tidaknya terdiri dari rangkaian prosesor (CPU,
dan atau digital), dan driver untuk aktuator. Bila diperlukan bisa dilengkapi dengan
sistem monitor seperti seven segment, LCD (liquid crystal display) ataupun CRT
(cathode ray-tube).
6
2. Mekanik robot
Adalah sistem mekanik yang dapat terdiri dari setidak-tidaknya sebuah fungsi gerak.
Jumlah fungsi gerak disebut sebagai derajat kebebasan atau degree of freedom (DOF).
Sebuah sendi yang diwakili oleh sebuah aktuator disebut sebagai satu DOF, sedangkan
derajat kebebasan pada struktur roda dan kaki diukur berdasarkan fungsi holonomic atau
non-holonomic.
3. Sensor
Adalah perangkat atau komponen yang bertugas mendeteksi (hasil) gerakan atau
fenomena lingkungan yang diperlukan oleh sistem kontroler. Dapat dibuat dari sistem
yang paling sederhana seperti sensor ON/OFF menggunakan limit switch, sistem analog,
sistem bus parallel, sistem bus serial, hingga sistem mata kamera.
4. Aktuator
Adalah perangkat elektronik yang menghasilkan daya gerakan. Dapat dibuat dari sistem
motor listrik (Motor DC (permanent magnet, brushless, shunt dan series), motor DC
servo, motor stepper, ultrasonic motor, linear motor, torque motor, solenoid, dsb),
Sistem pneumatik (perangkat kompresi berbasis udara atau gas nitrogen) dan perangkat
hidrolik (berbasis bahan cair seperti oli). Untuk meningkatkan tenaga mekanik aktuator
atau torsi gerakan dapat dipasang sistem gearbox, baik sistem direct-gear (sistem lurus,
5. Sistem Roda
Adalah sistem mekanik yang dapat menggerakkan robot untuk berpindah posisi. Dapat
terdiri dari sedikitnya sebuah roda penggerak (drive dan steer), dua roda differential
7
(kiri-kanan independen ataupun sistem belt seperti tank), tiga roda (synchro drive atau
sistem holonomic), empat roda (Ackermann model/car like mobile robot ataupun sistem
adalah kontrol yang paling dasar dalam robotika. Input sensor dan sinyal output pada
aktuator dinyatakan hanya dalam dua keadaan yaitu ON/OFF atau logika 1 atau 0. Dalam
berbagai aplikasi dasar cara ini sudah cukup memadai karena mampu mengontrol robot
untuk mencapai target yang dikehendaki. Teori kinematik apalagi dinamik robot belum
berdasarkan pada rule sederhana tetapi mampu menjaga robot dari gerakan yang
menyebabkan tracking error (TE) menjadi membesar. Dalam hal ini pemasangan posisi
sensor, aktuator dan struktur mekanik robot sangat berperan. Meski kebanyakan belum
dihitung secara matematis, namun bagi mereka yang berpengalaman dalam mekanik dan
yang dibuat untuk keperluan kontes seperti pada Kontes Robot Indonesia (KRI).[1]
2.2.Mikrokontroler AT89S51
memori oleh Atmel, sebuah perusahaan yang menguasai teknologi flash memory sehingga
mikrokontroler ini juga dilengkapi dengan 4 Kbyte flash PEROM (Programmable and
Teknologi flash memory ini memungkinkan untuk menyimpan program dalam media
memprogram kembali dengan lebih mudah dan cepat. Dengan kemampuan hapus / tulis
sebanyak lebih kurang 1000 kali, membuat mikrokontroler ini fleksibel untuk digunakan
dalam berbagai sistem terutama sistem yang akan terus dikembangkan. Mikrokontroler ini
merupakan anggota keluarga MCS – 51, sebuah keluarga mikrokontroler yang dipelopori
Fasilitas yang dimilki mikrokontroler ini antara lain 4 Kbyte ROM, 128 Byte RAM,
4 buah I/O Port masing – masing 8 bit, 2 buah timer 16 bit, Serial interface, 64 Kbyte
External Data Memory Spaces, Boolean processor (pada operasi bit), dan 210 lokasi yang
dapat dialamati per bit. Diagram blok bagian – bagian mikrokontroler AT89S51 dan
hubungan antar bagian tersebut secara lebih jelas dapat dilihat pada lampiran data sheet.[3]
Mikrokontroler AT89S51 memiliki memory data dan memory program yang terpisah
mempunyai struktur memory yang terdiri atas memory data dan memory program.[2][3]
2.2.2.1.Memori Data
Memory data yaitu memory yang digunakan untuk menyimpan data sementara ketika
program dijalankan. Memory ini bersifat sementara karena data akan hilang jika catu daya
9
dimatikan (non-volatile). Memory ini dibagi menjadi dua yaitu RAM internal dan SFR
2.2.2.1.1.RAM Internal
RAM internal berfungsi sebagai penyimpan variable data yang bersifat sementara
(Volatile). RAM internal terdiri atas Register Bank, Bit Addressable RAM, General
Purphose RAM. RAM internal digunakan untuk memory data. Sifat dari RAM ini yaitu data
yang disimpan di dalamnya akan hilang ketika catu daya dimatikan (non – volatile). Gambar
a) Register Banks
Area RAM pada alamat 20h – 2Fh dapat diakses secara bit (bit addressable),
sehingga dengan sebuah instruksi setiap bit dalam area ini dapat dilakukan pengaksesan
(setb, clear dll). Dengan adanya pengaksesan bit pada area ini kita dapat melakukan
Area memory ini berawal pada alamat 30h – 7Fh. Dapat diakses dengan
pengalamatan langsung dan tak langsung, memory ini berfungsi sebagai tempat
Special functions register / SFR seperti yang ditunjukkan pada gambar 2.2 yaitu
register dengan fungsi khusus yang disediakan sebagai fasilitas pada keluarga MCS51
seperti timer/counters, port I/O, accumulator, PSW, DPTR, Interupt, serial communication
dan lain – lain. Mikrokontroler AT89S51 memilki 12 SFR yang terletak pada alamat 80h –
FFh yang sebagian dapat dialamati per-bit dan sebagian lain tidak bisa. [3]
SFR dipakai untuk mengatur perilaku mikrokontroler yang berisi register dasar,
register data input/output dan status register. Register data untuk menulis program, register
data input/output untuk menyimpan data pada port tertentu, register status berguna untuk
mengatur kerja timer (TCON), serial control (SCON), dan interupt (IE dan IP).
11
(PC), Accumulator (A), Stack Pointer (SP), Program Status Word (PSW). Pada keluarga
1. Program Counter (PC) yaitu register 16 bit yang berisi alamat yang akan dikerjakan,
saat reset PC bernilai $0000. Nilai PC akan bertambah 1 setelah prosesor mengambil
instruksi 1 Byte.
2. Accumulator (A) yaitu register untuk menampung data. Register ini mempunyai
fungsi yang sangat luas unruk operasi aritmatik maupun logika dan bisa diakses
3. Stack Pointer (SP) yaitu register yang digunakan untuk menyimpan sementara dari
4. Program Status Word (PSW) pada gambar 2.3 yaitu register 8 bit yang terdiri atas
bit CY, AC, F0, RS0, RS1, OV, dan O. Register ini digunakan untuk menyimpan
P : Parity
6. Data Pointer Register (DPTR) yaitu register 16 bit yang terletak pada alamat 82h
dan 83h yang digunakan untuk mengakses kode operasi (Op-code) dari memory
eksternal dan sebagai operasi tabel tengok (Look Up table). Register ini dibagi
menjadi data pointer high byte (DPH) dan data pointer low byte (DPL) yang masing
– masing 8 bit.
13
berguna untuk mengukur interval waktu, lebar pulsa, penghitung kejadian dan sumber
interupsi.
Pada konfigurasi dari pewaktu (timer) maka isi register pewaktu ditambah ssatu
setiap siklus mesin, dan pada konfigurasi sebagai pencacah (counter) isi register pencacah
ditambah satu setiap ada transisi 0 ke 1 pada pin input eksternal. Dalam mikrokontroler ini
terdapat dua buah register pewaktu dan pencacah yaitu TMOD (timer mode control) dan
TCON (timer control). AT89S51 mempunyai dua buah timer yaitu timer 0 dan timer 1
keduanya dapat berfungsi sebagai timer ataupun counter. Sebetulnya secara fisik rangkaian
timer juga merupakan rangkaian flip – flop yang dapat diaktifkan atau dinonaktifkan setiap
saat. Perbedaan dari timer dan counter yaitu timer mempunyai sumber clock dengan
frekuensi tertentu yang sudah pasti sedangkan counter mendapat sumber clock dari pulsa
yang hendak dihitung jumlahnya. Untuk mengatur timer AT89S51 mempunyai 6 buah
2.2.3.1.TMOD
Register TMOD mempunyai dua register kembar 4 bit yang terletak pada alamat
89h. Untuk lebih jelas perhatikan gambar 2.4.
1. Gate : timer akan berjalan jika bit ini diset dan INT0 (untuk
0 sebagai timer
2.2.3.2.TCON
Perhatikan gambar 2.5. Register ini hanya mempunyai 4 bit saja dari 8 bit TCON,
yaitu TCON.4, TCON.5, TCON.6, TCON.7. keempat bit tersebut berhubungan dengan
fungsi timer. Register ini bersifat bit addressable, sehingga tiap bit TCON dapat
1. TCON.7 (TF1) : sebagai timer 1 overflow yang akan diset jika hitungan timer
overflow.
2. TCON.6 (TR1) : jika set (1) berfungsi mengaktifkan timer 1, jika clear (0) berfungsi
mematikan timer 1.
3. TCON.5 (TF0) : sebagai timer 0 overflow flag yang akan diset jika hitungan timer
overflow.
4. TCON.4 (TR0) : jika set (1) berfungsi mengaktifkan timer 0, jika clear (0) berfungsi
mematikan timer 0.
2.2.4.Mode Timer
Register TH0/TH1 bekerja sebagai pencacah 8 bit dan register TL0 dan TL1 sebagai
pencacah 5 bit.
2. Mode 1 yaitu mode dimana register TH0-TL0 dan TH1-TL1 digunakan sebagai
pencacah 16 bit.
3. Mode 2 yaitu pencacah atau pewaktu auto-reload. Register TL1/TL0 bekerja sebagai
pencacah 8 bit dan TH0/TH1 digunakan untuk menahan nilai tertentu yang akan
disimpan di TL1/TL0 pada setiap TL1/TL0 terjadi overflow karena berguling dari FF
ke 00 dan dibangkitkan pulsa untuk pengiriman dan penerimaan data pada port serial.
satu yang merupakan cara lain penggunaan TR1 untuk menghentikan dan
diaktifkan oleh TR1 dan jika terjadi overflow bit TF1 akan diset. Sedangkan TF1
tidak dapat digunakan untuk mengendalikan pencacah 1. TL0 sebagai pencacah 8 bit
M1 M0 MODE
0 0 0
0 1 1
1 0 2
1 1 3
16
2.2.5.Rangkaian Oscillator
yang digunakan sebagai sumber clock CPU. Untuk dapat menggunakannya perlu
ditambahkan sebuah rangkaian sederhana menggunakan sebuah Kristal dan dua buah
2.2.6.Mekanisme Reset
Reset bisa dikendalikan secara manual dan automatic, saat reset maka nilai default
register SFR dapat dilihat pada tabrl. Reset terjadi karena logika 1 selama 2 cycle ( 2 µdetik )
pada kaki reset. Setelah pin reset kembali low maka mikrokontroler akan memulai
menjalankan program dari alamat 0000h pada PC, namun kondisi RAM tidak berubah dari
Pada gambar 2.7, R1 digunakan untuk membuang muatan pada kapasitor ( C ) sesaat
setelah tombol reset tertekan sehingga diperoleh tunda level high sekitar 2µdetik untuk
LDR adalah sebuah resistor yang nilai resistansinya dapat berubah – ubah tergantung
dari cahaya yang mengenainya. LDR terbuat dari kadmium sulfida. Unsur kimia yang
disebut kadmium sulfida memiliki sifat yang khas dimana resistansi listriknya akan
berkurang bila ada cahaya yang jatuh di atasnya. Efek ini dimanfaatkan dengan
menempatkan lapisan kimia ini pada kotak logam yang ditutup oleh jendela tembus
pandang. Dibandingkan dengan jenis optical transducer lainnya, tanggapan LDR sangat
Untuk simbol rangkaian dan karakteristik resistansi LDR terhadap intensitas cahaya
2.4.Fotodioda (Photodiode)
Fotodioda adalah salah satu alat yang dibuat untuk berfungsi paling baik berdasarkan
kepekaannya terhadap cahaya. Pada dioda ini, sebuah jendela memungkinkan cahaya masuk
melalui pembungkus dan mengenai persambungan pn. Silikon, yaitu bahan material di mana
transistor dan rangkaian terintegrasi dibuat, akan mengalami perubahan resistansi listrik saat
dikenai cahaya. Fotodioda sebenarnya tidak berbeda dari dioda biasa yang ditempatkan di
dioda biasa, kotaknya berupa logam atau plastik). Pada saat dihubungkan dengan rangkaian
listrik, fotodioda dapat digunakan untuk menghasilkan sinyal listrik yang besarnya
dalam melambangkan cahaya yang datang. Sumber dan tahanan seri memberikan
prategangan balik pada fotodioda. Bila cahaya makin cerah, arus balik naik. Dalam
fotodioda yang lazim, arus balik tersebut besarnya sedikit puluhan mikroamper.[4]
LED adalah dioda berprategangan maju, dimana elektron bebas melintasi sambungan
dan jatuh ke dalam lubang (hole). Ketika elektron jatuh dari tingkat energi tinggi ke rendah,
19
elektron akan mengeluarkan energi. Pada diode biasa, energi dikeluarkan dalam bentuk
panas. Tetapi pada LED, energi dikeluarkan dalam bentuk sinar. Dengan menggunakan
elemen seperti gallium, arsenik, dan fosfor, pabrik dapat memproduksi LED berwarna
merah, hijau, kuning, biru, orange / jingga, dan inframerah / infrared (tak terlihat). Gambar
LED mempunyai penurunan tegangan lazimnya dari 1,5 V sampai 2,5 V untuk arus
di antara 10 sampai 150 mA. Penurunan tegangan yang tepat tergantung dari arus LED,
Idealnya, cara terbaik untuk mengendalikan kecermelangan ialah dengan menjalankan LED
dengan sumber arus. Berikut rangkaian LED pada gambar 2.12. [4][5]
(2.1)
I = Arus (Ampere)
Makin besar tegangan sumber, makin kecil pengaruh VLED. Dengan kata lain Vs yang besar
menghilangkan pengaruh perubahan tegangan VLED. Biasanya, arus LED ada di antara 10
mA sampai 50 mA karena daerah ini memberikan cahaya yang cukup untuk banyak
pemakai.[4][5]
2.6.Optocoupler
Optocoupler disebut juga optoisolator adalah komponen yang terdiri dari dioda
pemancar radiasi sinar infra merah (LED inframerah) dan fotodioda atau fototransistor
sebagai penerima dalam satu kemasan. Dengan LED pada sisi masukan dan fotodioda pada
sisi keluaran. Perhatikan gambar 2.13, tegangan sumber V1 dan tahanan seri R1
menghasilkan arus melalui LED. Sebagai gantinya, cahaya dari led mengenai fotodioda, dan
ini menyebabkan timbulnya arus balik I2. Dengan menambahkan tegangan – tegangan
0 (2.2)
21
Atau
(2.3)
Perhatikan bahwa tegangan keluaran tergantung pada arus I2. Bila tegangan masukan
V1 berubah, intensitas cahayanya juga berubah. Ini berarti bahwa tegangan keluar berubah
sejalan dengan tegangan masuk. Itulah sebabnya mengapa gabungan LED dan fotodioda
disebut Optocoupler.[4]
masuk dan rangkaian keluarnya. Dengan optocoupler, hubungan yang ada antara masukan
dan keluaran hanya seberkas cahaya. Karena hal ini, kita dapat memperoleh resistansi
Seperangkat resistor terhubung seri seperti gambar 2.14 disebut pembagi tegangan
(voltage – divider). Konsep ini berlaku bukan saja untuk resistor tetapi juga berlaku untuk
(2.4)
Saklar batas atau lebih dikenal dengan Limit switch merupakan salah satu jenis
kontak yaitu komponen yang berfungsi untuk menghubungkan dan memutuskan arus. Sifat
dari limit switch ini yaitu kontak yang terputus atau tersambung saat ditekan dan akan
kembali ke keadaan semula saat tidak ditekan (momentary contact). Pada limit switch
terdapat tiga terminal yaitu common (COM), terminal normally open (NO) dan terminal
Terminal NO merupakan terminal yang pada kondisi normal berupa kontak terputus
atau tidak tersambung dengan COM sedangkan terminal NC berupa kontak pada kondisi
normal tersambung dengan COM. Setiap titik sambungan pada limit switch terbuat dari
bahan yang tahan busur api (arc) yang disebabkan saat arus terputus atau tersambung.
Gambar 2.15 Kondisi Limit Switch NO dan Kondisi Limit Switch NC.
2.9.Komparator
Rangkaian dengan op-amp dapat digunakan sebagai pembanding tegangan yang akan
keluaran (Vo) tergantung besarnya Vin apakah lebih besar daripada Vref atau lebih kecil dari
Vref
Pada gambar 2.16 jika tegangan masukan (Vin) lebih besar daripada tegangan
referensi (Vref) maka tegangan keluaran (Vout) adalah positif jenuh tegangan V+ atau
(+Vsat). Sebaliknya jika tegangan masukan (Vin) lebih kecil daripada tegangan referensi
(Vref) maka nilai tegangan keluaran (Vout) adalah negatif jenuh tegangan V- atau (-Vsat).
Jadi Vout mempunyai nilai yang besarnya +Vsat dan –Vsat dan dapat pula bernilai 0V
tergantung pemberian catu pada kaki V+ dan V-. Gambar 2.17 menunjukan grafik antara Vin,
Gambar 2.17. Grafik Vout dan Vin yang Sudah Dibandingkan Dengan Vref
24
terjadinya drop tegangan. Buffer tegangan (voltage buffer) berarti mengisolasi sebuah sinyal
masukan dari sebuah beban dengan menggunakan rangkaian yang memiliki unity voltage
gain, dengan tanpa pembalikkan fasa atau polaritas, dan bekerja sebagai rangkaian ideal
dengan impedansi masukan yang sangat tinggi dan impedansi keluaran yang rendah. Gambar
2.18 menunjukkan koneksi op-amp yang menunjukan operasi buffer amplifier. Tegangan
Motor DC merupakan salah satu penggerak (actuator) pada sistem kontrol yang
mudah diatur arah putar dan kecepatannya. Motor DC ada bermacam – macam dan pada
dasarnya dibedakan adalah voltase-nya dan jenis arah putarnya. Arah putar motor DC ada
dua yaitu CW (clock wise / searah jarum jam) dan CCW (Counter clock wise / berlawanan
pada terminal motor DC. Untuk mengubah polaritas tegangan pada terminal motor DC
25
dilakukan dengan saklar, rangkaian control relay maupun rangkaian pensaklaran elektronik
dengan jembatan H.
Gambar 2.19 merupakan jembatan H yang digunakan untuk mengubah arah putar
motor DC.
Pada dasarnya motor akan berputar jika kondisi SW1 dan SW2 saling berlawanan
yaitu SW1 ON dan SW2 OFF atau SW1 OFF dan SW2 ON. Ketika SW1 ON dan SW2
OFF maka arus (I1) mengalir dari a melewati motor kemudian masuk d dan ke ground
sehingga motor akan berputar CW, begitu juga jika SW1 OFF dan SW2 ON maka arus (I2)
mengalir dari b melalui motor masuk ke c dan ke ground sehingga motor akan berputar
CCW.
Ketika SW1 dan SW2 pada kondisi ON pada saat yang bersamaan maka tidak ada
arus sampai ke ground sehingga motor tidak akan berputar. Hal serupa akan sama jika SW1
dan SW2 pada kondisi OFF pada saat yang sama maka tidak ada arus yang melewati motor
Untuk mengontrol kecepatan motor saklar penghubung antara catu daya dengan
motor dibuka dan ditutup, waktu saklar ditutup atau dibuka berbeda – beda yang bertujuan
untuk memberikan rata – rata tegangan ke motor berbeda – beda pula. Teknik ini dinamakan
dengan pulse-width modulation seperti yang diilustrasikan pada gambar 2.20. V adalah
tegangan catu yang diberikan ke motor dan t adalah waktu. Kecepatan motor DC dapat
)*
!"#$% &'"(
+,-./0,
(2.5)
keempat saluran driver berarus tinggi (600mA per-saluran dan 1,2A puncak arus keluaran
(non repetitive) persaluran) dirancang untuk level logika TTL atau DTL dan men-drive
beban induktif (seperti relay, solenoid, motor DC dan motor stepper) dan switching
transistor daya.
27
Untuk memudahkan maka digunakan sebagai dua jembatan (bridge), setiap pasang
saluran (channel) dilengkapi dengan masukan enable. Di dalam IC ini juga sudah terdapat
dioda pengaman yang terdiri dari 4 buah. IC ini bisa digunakan untuk aplikasi switching
pada frekuensi sampai 5kHz. Masukan untuk supply terpisah agar mudah digunakan untuk
bekerja pada tegangan yang rendah. Gambar 2.21 merupakan gambar blok diagram dan pin
BAB III
RANCANGAN PENELITIAN
3.1.Model Sistem
Gambar 3.1 berikut adalah diagram sistem secara umum yang akan digunakan pada
penelitian. Sensor jalur akan mendeteksi garis (line) dan akan memberi masukan pada
mikrokontroler untuk menentukan arah gerak robot dengan cara merubah kecepatan gerak
roda kiri dan kanan. Sensor surat akan mendeteksi cahaya LED yang akan dipancarkan dari
loker surat sebagai penanda adanya surat pada loker tersebut. Sensor surat akan memberi
lengan untuk mengambil surat tersebut. Jika surat sudah diantarkan di tempat tujuan, lengan
mekanik akan diputar 90o berlawanan dengan arah jarum jam dan meletakkan surat dari
lengan dan diputar 900 lagi searah dengan jarum jam untuk kembali ke posisi semula.
Gambar 3.2 berikut merupakan desain jadi dari robot pengantar surat
Terdapat dua bagian dasar pada sensor jalur, yaitu sensor pendeteksi cahaya luar dan
sensor pendeteksi jalur hitam. Sensor pendeteksi cahaya luar berfungsi sebagai penentu
tegangan referensi pada masukan komparator dan agar cahaya luar tidak mempengaruhi
kinerja sensor pendeteksi jalur. Sensor jalur menggunakan LED inframerah yang digabung
30
dengan fotodioda dengan prinsip kerja seperti optocoupler. Keluaran sensor pendeteksi jalur
dan sensor sensivisitas cahaya luar sebagai masukan untuk komparator. Keluaran
komparator berupa sinyal digital berlogika 1 atau 0 dan akan menjadi masukan untuk
Sensor pendeteksi jalur hitam ini terdiri atas LED inframerah sebagai sumber cahaya
dan fotodioda sebagai penerimanya sehingga bekerja seperti optocoupler. Sensor ini
berfungsi untuk mendeteksi apakah ada jalur atau tidak. Jika terdeteksi jalur hitam maka
keluaran sensor akan berlogika 0, dan jika tidak ada jalur yang terdeteksi maka keluaran
sensor akan berlogika 1. Sensor ini terdapat lima buah dipasang dibagian paling depan pada
badan robot dan lima buah di bagian paling belakang badan robot. Keluaran komparator
akan langsung masuk ke port p1.0 – p1.4 pada AT89s51 untuk sensor bagian depan, dan ke
port p2.0 – p2.4 untuk sensor bagian belakang. Sensor jalur bagian depan robot dan bagian
belakang akan dibuat identik. Gambar 3.4 mengilustrasikan desain sensor jalur untuk bagian
depan.
31
Penjelasan berikut adalah penjelasan untuk salah satu sensor pendeteksi jalur hitam
karena kesepuluh sensor akan dibuat identik. Berdasarkan dasar teori di atas, arus maximum
LED adalah 150 mA dan VLED adalah 1,5 Volt. Dengan Vcc (catu daya) 5 Volt, maka dapat
5
1,5
23 Ω
150
5
1,5
350 Ω
10
Resistor yang digunakan dalam perancangan adalah 330 Ω dikarenakan terdapat di pasaran
dan agar mendapat nilai arus yang kecil namun masih termasuk dalam nilai optimum (10m
A – 150mA), yaitu :
5
1,5
10,6
330
Berdasarkan perhitungan di atas didapat arus 10,6m A. Pengurangan arus bertujuan agar
intensitas cahaya yang dikeluarkan LED inframerah tidak terlalu besar sehingga jika
Rind dapat dicari dengan menggunakan persamaan yang sama dengan Rs sehingga
memiliki besar resistansi yang sama dengan Rs. Rind merupakan resistor pengaman untuk
LED indikator (LED berwarna merah). LED indikator akan menyala (on) jika keluaran
komparator berlogika 0 (0 volt / Ground) dan akan mati (off) jika keluaran komparator
32
berlogika 1 (5 volt / Vcc). Rd merupakan resistansi yang akan menentukan tegangan keluaran
fotodioda. Tabel 3.1 merupakan tabel data pra penelitian untuk mengetahui karakteristik
Dari tabel 3.1, pada resistor RD = 3k Ohm memiliki beda tegangan ON – OFF yang cukup
tinggi saat cahaya inframerah terpantul benda berwarna putih dengan jarak pantul 1 cm,
yaitu:
∆
4,78
1,7
3,08
Sensor ini berfungsi untuk penghasil tegangan referensi untuk masukan komparator.
Alat yang digunakan adalah LDR sebagai pendeteksi cahaya luar. Letak sensor ini dibagian
body robot yang mudah terkena cahaya lingkungan. Op-amp digunakan sebagai buffer dan
keluaran buffer akan dihubungkan ke sepuluh komparator (5 buah untuk tegangan referensi
sensor bagian depan dan 5 buah untuk tegangan referensi sensor bagian belakang).
Rpot untuk mengatur tegangan yang akan masuk ke buffer dengan prinsip pembagi
tegangan. Dari data percobaan yang dilakukan sendiri, diketahui karakteristik LDR sebagai
berikut :
Gelap 15,5 55
Keterangan : Terang : kondisi ruang dengan lampu menyala dan terkena cahaya matahari.
Tertutup : keadaan ditutup sehingga tidak terkena cahaya lampu maupun matahari
Dengan nilai keluaran (Vref) yang diharapkan sebesar 3,2V atau nilai tengah antara
tegangan fotodioda saat OFF dan saat ON seperti gambar 3.6 berikut
Sehingga dapat dicari nilai Resistansi pada potensiometer saat tegangan keluaran 3,2V
adalah:
&
#$% +
,,
& ' ()*
7,69.
3,2
+5
Potensiometer yang digunakan adalah 10k Ohm tujuannya adalah agar dapat diatur
kesensitifitas rangkaian sensor terhadap cahaya luar. Berikut gambar 3.7 adalah rangkaian
secara skematik :
Lengan mekanik diambil dari CD-ROM yang sudah tidak terpakai dan yang
dimanfaatkan adalah motor DC beserta mekaniknya yang berfungsi untuk membuka dan
menutup tempat CD. Untuk prinsip pergerakkannya dapat dilihat gambar 3.8.
35
LS merupakan limit switch yang akan mengendalikan motor DC pengendali putaran lengan.
Berikut tabel kondisi yang terjadi saat logika LS1, LS2 , LS3 berubah.
Di ujung lengan yang bergerak untuk mengambil surat terdapat dua buah landasan
berbentuk segitiga, hal ini bertujuan untuk proses pengangkatan dan peletakan surat. Untuk
Terdapat empat kondisi yang akan dijelaskan. kondisi pertama merupakan kondisi
saat slider / lengan pengambil sedang bergerak mengambil surat. kondisi kedua adalah
kondisi saat surat dan lengan mulai kontak. Karena adanya segitiga di ujung maka surat akan
terangkat mengikuti landasan segitiga. Surat tidak akan jatuh ke belakang karena adanya
penahan di kedua sisi surat yang berada di dalam loker. Kondisi ketiga merupakan kondisi
dimana posisi segitiga sudah melebihi bagian tengah surat. Karena sisi depan lebih berat
daripada sisi belakang surat, maka surat akan jatuh ke arah lengan. Kondisi keempat
merupakan kondisi saat lengan sudah membuka penuh, diharapkan surat sudah berada di atas
lengan. Limit switch 1 akan terhubung ke port 3.5, limit switch 2 akan terhubung ke port
3.6, limit switch 3 akan terhubung ke port 3.7 pada AT89S51. Input motor pemutar body
lengan dikendalikan oleh AT89s51 melalui port 3.3 dan 3.4. Sedangkan input motor DC
Untuk proses peletakan surat dapat dilihat pada gambar 3.10 berikut ini
Terdapat tiga kondisi yang terjadi selama proses. Kondisi pertama terjadi saat surat
sedang diantar dari loker ke tempat tujuan. Kondisi kedua terjadi saat Slider / lengan
pengambil mulai masuk ke body lengan. Body lengan bagian depan diberi penahan yang
terbuat dari akrelik untuk menahan surat sehingga tidak ikut masuk bersamaan dengan
slider. Surat akan terangkat ke atas mengikuti landasan segitiga seperti prinsip pengambilan
surat. Kondisi ketiga adalah kondisi terakhir dimana bila sisi depan surat sudah lebih berat
dari sisi belakang (posisi segitiga sudah berada lebih dari titik tengah surat) maka surat akan
Perhatikan gambar 3.11, segitiga sisi depan lebih landai bila dibandingkan dengan
sisi belakang. Tujuannya adalah agar saat robot bergerak saat membawa surat, surat tidak
mudah jatuh terkena gaya tolak dari gerakan robot. Dengan kata lain, sisi belakang segitiga
Panjang body lengan adalah 20,2cm, lebar 14cm, dan tinggi 3,6cm. Panjang slider /
lengan pengambil 20cm, lebar 12,8cm, tinggi 1cm. Terdapat dua segitiga dengan masing –
masing Panjang segitiga penahan 1,5cm, lebar 1cm, dan tinggi 1cm.
Jumlah loker / kotak surat terdapat lima buah yang tersusun berjajar. Setiap kotak
berukuran 30 cm x 30 cm, terbuat dari papan triplek. Panjang lintasan/garis minimal 2 meter.
Gambar 3.12 merupakan desain jalur yang akan dilalui robot untuk mengantar surat.
39
Didalam loker terdapat LED berwarna putih sebagai pendeteksi adanya surat atau
tidak. Jika terdapat surat, maka LED indikator akan aktif (ON). Gambar 3.13 adalah
Untuk penangkap cahaya dari indikator surat tersebut menggunakan LDR yang terpasang
pada body robot. Gambar 3.14 merupakan rancangan skematik untuk rangkaian penerima
(receiver) dan gambar 3.15 merupakan rancangan perangkat keras untuk penerima. LDR
40
ditutupi dengan pipa agar tidak terpengaruh cahaya dari lingkungan. Jika terdapat surat,
maka surat akan menekan limit switch yang terdapat di dalam loker dan akan menyalakan
LED indikator. Tinggi posisi LED pada kotak surat disesuaikan dengan tinggi posisi
penerima pada robot. Dari pra penelitian didapat data mengenai resistansi LDR saat ditutup
Tabel 3.4 Data Pra Penelitian Untuk Karakteristik LDR yang Ditutup Pipa
16 + 100
*$#$34 + 5
567 2,5
567
16 + 100 ' 16 + 100
∞
*$#*88 + 5
567 5
567
::
16 + 100 ' ∞
Dari nilai terendah dan tertinggi dapat dicari nilai tegangan referensi untuk masukan
komparator, yaitu :
*$#*88
*$#$34
#$% '
*$#$34
2
5
567 2,5
567
#$% ' 2,5
567 1,25
567 ' 2,5
567 3,75
567
2
Sehingga ditentukan tegangan referensi sebesar 3,75 Volt.
41
Gambar 3.16 merupakan ilustrasi dari karakteristik tegangan keluaran LDR dan
tegangan referensi.
Motor DC dipilih sebagai aktuator karena motor DC mudah diubah arah putarnya
yaitu hanya mengubah polaritas tegangan dan mudah dalam mengatur kecepatannya. Motor
DC yang digunakan dalam perancangan robot ini terdapat empat buah, dua buah untuk roda
kiri dan kanan, satu buah untuk pemutar body lengan, dan satu buah lagi untuk
digunakan untuk menguatkan arus keluaran mikrokontroler. Driver motor yang digunakan
yang akan dihasilkan dari keluaran mikrokontroler. Masukan untuk motor DC pengendali
roda kiri dihubungkan ke port 1.6 dan port 2.6. Sedangkan untuk pengendali roda kanan
dihubungkan ke port 1.7 dan port 2.7. Gambar 3.17 merupakan rangkaian skematik untuk
penggerak roda kiri dan kanan. Tabel 3.5 berikut merupakan tabel kecepatan motor DC
Kondisi Sensor Jalur Kecepatan roda kanan (%) Kecepatan roda kiri (%)
1 1 1 1 1 0 (diam) 0 (diam)
1 1 0 1 1 100% 100%
1 0 0 1 1 100% 75%
0 0 1 1 1 100% 50%
1 1 0 0 1 75% 100%
1 1 1 0 0 50% 100%
43
Gambar 3.17 Rangkaian Skematik Untuk Penggerak Roda Kiri dan Kanan
Pada motor penggerak lengan tidak dirancang dengan variasi kecepatan, hanya
dirancang untuk bergerak maju dan mundur untuk slider dan bergerak CW dan CCW untuk
pemutar body lengan. Gambar 3.18 merupakan rangkaian skematik untuk penggerak lengan
mekanik / slider.
3.6.Mikrokontroller AT89S51
Semua program untuk sistem kendali robot ini dikendalikan oleh mikrokontroler
AT89S51. Gambar 3.19 mengilustrasikan fungsi masing – masing port pada AT89S51.
44
Pada gambar 3.20, untuk rangkaian oscillator menggunakan kristal 12 MHz dan dua
buah kapasitor 33 pF sehingga frekuensi clock pada CPU 12 MHz. Pin EA/VPP diberi
logika tinggi (dihubungkan ke VCC) karena program hanya disimpan di dalam memory
internal saja dan tidak membutuhkan memory eksternal. Untuk rangkaian reset
menggunakan R1 = 100Ω dan R2 = 10 kΩ. Saat tombol ditekan maka tegangan pada pin
;
#* +
::
; ' <
10 + 100
#* + 5
567 4,95
567
10 + 100 ' 100
Tegangan 4,95 Volt merupakan logika tinggi yang selama 2 siklus akan mereset sistem
45
Perancangan daya berfungsi untuk menentukan jenis baterai yang akan digunakan,
sedangkan pengukuran berat untuk menentukan letak rangkaian/desain agar robot tidak berat
::
= 5
0,7
)*)3)3 1,43
3 3000 12
Vj adalah penurunan tegangan yang disebabkan sambungan pn dengan bahan silikon (dasar
teori). Diketahui dari perancangan, arus yang melewati LED inframerah sama dengan arus
46
yang melewati LED indikator yaitu 10,6m A. Sehingga arus total untuk satu sensor jalur
adalah
*)*> ?& ' )*)3)3 ' 3 10,6 ' 1,43 ' 10,6 22,63
@$)#
AA + *)*> 5
+ 22,63 113,15 B
AA 5
$*C* 0,407
& ' ()* 7,96. 12 ' 4,325. 12
@$*C*
AA + $*C* 5
+ 0,407 2,035 B
Perhitungan daya rangkaian sensitivitas menggunakan resistansi LDR saat kondisi terang
dan resistansi potensio sebesar 4,325k Ohm (sesuai hasil perhitungan teoritis). Karena
dihubungkan ke-sepuluh komparator maka daya total rangkaian sensitivitas cahaya adalah:
:: 5
(D* E 0,15625
( ' & 16. 12 ' 16. 12
:: 5
(D* F 1,25
1. 12 ' 3. 12 1. 12 ' 3. 12
Sehingga daya yang dikonsumsi oleh rangkaian penerima saat menerima sinyal dari loker
adalah:
47
@($$#
AA ' *)*> 5
+ 1,40625 7,03125 B
Perhitungan daya rangkaian penerima menggunakan resistansi LDR saat menerima cahaya
Daya mikrokontroller:
@G#) AA +
AA 25 + 5
125 B
Icc didapat dari datasheet (terlampir), yaitu arus saat kondisi aktif pada frekuensi 12MHz.
@)*)#
AA + )*)# 5
+ 105 525 B
Dengan Imotor adalah arus yang diserap beban saat berbeban = 105m A (datasheet). Pada
sistem kerja robot, hanya dua motor yang dimungkinkan aktif bersamaan sehingga daya
Tabel 3.6 adalah tabel nilai daya hasil perhitungan teoritis secara keseluruhan.
Penerima 7,03m W
Mikrokontroller 125m W
2 Motor 1050m W
48
Dari hasil perhitungan daya pada tabel 3.6 maka baterai yang akan digunakan untuk
rangkaian sensor jalur, penghasil tegangan referensi, penerima, dan mikrokontroler harus
memiliki kemampuan daya diatas 265,53m W. Sedangkan baterai untuk catu daya motor
3.7.2.Pengukuran Berat
Dari hasil pengukuran berat diketahui berat masing – masing rangkaian / alat sebagai berikut
Berdasarkan tabel 3.7 diatas, maka lengan mekanik dan pemutar lengan mekanik akan
motor roda kiri dan kanan juga diletakkan di tengah badan robot, selain untuk menjaga
keseimbangan juga agar saat berbelok ke depan maupun ke belakang tidak berbeda jarak.
tengah agak belakang sebagai penyeimbang saat slider membawa surat. Baterai diletakan di
tengah bagian bawah badan robot karena cukup berat, jika diletakkan di depan atau belakang
dikhawatirkan robot tidak seimbang. Dengan mempertimbangkan berat masing – masing alat
atau rangkaian, maka desain robot akan menjadi seperti yang ditunjukkan oleh gambar 3.21.
49
3.8.Perangkat Lunak
Start
L=0
Inisialisasi
L = sensor surat
N = jumlah persimpangan
Deteksi persimpangan
dan berhenti ± 5 detik
N = N+1
Ada surat? N = 5?
A
End L = 1?
Persimpangan pertama
diabaikan (jalan lurus)
Jalan sampai
jalur habis
Jalan sampai
persimpangan
Belok kearah
N = 5?
titik finish
D
C
Gambar 3.22 menunjukkan diagram alir umum perangkat lunak robot yang tiap –
tiap bagian akan dijelaskan. Untuk start awal, robot berada pada titik start (lihat gambar
3.11 pada perancangan loker). Jika start = 1 maka sensor depan akan aktif dan robot akan
bergerak maju mengikuti jalur. Saat sampai pada persimpangan loker pertama, robot akan
berhenti selama 5 detik untuk mendeteksi ada surat atau tidak pada loker. Jika terdapat surat
maka robot akan berbelok kearah surat dan mendekati loker (berhenti jika sudah didepan
loker yang ditandai dengan habisnya jalur). Saat berhenti, lengan robot (slider) akan
bergerak maju mengambil surat. Setelah surat terambil maka sensor depan akan diabaikan
(non-aktif) dan sensor belakang akan dibaca (aktif). Saat menemui persimpangan pertama,
robot akan mengabaikan dan bergerak maju sehingga masuk ke jalur tujuan peletakan surat.
Jika jalur habis maka robot akan berhenti dan akan melakukan proses peletakan surat.
Setelah proses selesai maka sensor depan akan dibaca lagi sedangkan sensor belakang akan
diabaikan dan robot akan bergerak mengikuti jalur (pulang) hingga menemui persimpangan
lagi. Jika jumlah persimpangan yang dilalui sudah lima maka robot akan berbelok kearah
jalur habis (finish) dan akan kembali ke titik start namun jika belum, robot akan berbelok
kearah loker berikutnya dan akan melakukan proses pendeteksian, proses pengambilan,
proses peletakan, dan proses pulang hingga persimpangan terakhir (kelima). Saat robot
mencapai titik start, jika selama proses pertama terdapat surat yang diantar maka robot akan
melakukan proses pengecekan surat sekali lagi. Namun jika selama pengecekan pertama di
kelima loker tidak ada surat maka robot akan berhenti (tidak bergerak lagi).
53
Untuk diagram alir proses pengambilan surat dapat dilihat pada gambar 3.23
Pengambilan Surat
L=1
Return
Pada saat proses pengambilan surat, robot berhenti didepan loker (ditandai dengan
habisnya jalur). Mikro akan menggerakan motor DC pengendali slider untuk bergerak maju
ke arah loker sehingga kedua segitiga yang berada pada ujung slider akan mengangkat surat.
Setelah surat berada sepenuhnya di atas slider (diperkirakan waktu yang dibutuhkan adalah 5
detik), mikro akan menghentikan pergerakan slider dan akan mengaktifkan sensor belakang
pada robot. Dan untuk selanjutnya adalah proses pengantaran yang sudah dijelaskan pada
Peletakan Surat
Return
Pada proses peletakan surat, setelah robot berhenti maka mikro akan menggerakan
motor DC penggerak body lengan agar berputar ccw 90o. Perputaran akan berhenti setelah
menekan limit switch 2 yang dipasang di samping body robot. Setelah limit switch 2 tertekan
maka mikro akan menggerakan slider untuk masuk ke body (bergerak masuk) sehingga surat
akan jatuh karena efek kedua segitiga yang berada diujung slider. Setelah slider masuk
sepenuhnya maka limit switch 3 akan tertekan dan mikro akan menggerakkan motor DC
penggerak body lengan untuk berputar cw untuk kembali ke posisi semula (sampai limit
switch 1 tertekan). Dan untuk selanjutnya adalah proses pulang yang sudah dijelaskan pada
BAB IV
HASIL DAN PEMBAHASAN
mikrokontroler AT89S51, dilakukan pengujian dari tiap-tiap unit bagian rangkaian pada
pengukuran masukan dan keluaran rangkaian untuk mendapatkan hasil apakah alat yang
dirancang sesuai dengan yang diharapkan. Pengujian rangkaian yang utama adalah
Selain pengujian utama, untuk mendukung kebenaran data – data yang diperoleh
dilakukan pengujian sebagai berikut : pengujian rangkaian sensor pendeteksi jalur hitam,
Pengujian dilakukan dengan menggunakan surat dengan bobot sebesar 200 gr, catu
daya baterai Ni-Cd 9,6V/700mAh untuk rangkaian sensor dan modul mikrokontroler,
adaptor 9V/1200mA untuk driver motor, dan robot dijalankan di atas kain nafa. Untuk
pengujian kinerja robot secara keseluruhan, dari posisi awal, pengecekan loker, pengambilan
surat hingga meletakkan surat didapat data seperti pada tabel 4.1.
56
Loker 1, 3,
6 3 Berhasil Berhasil Berhasil Ya
5
Gagal pada loker Gagal di
7 5 Semua loker Berhasil 1 karena posisi lintasan 1 Ya
slider tidak benar karena roda slip
Untuk mengetahui besar persentase keberhasilan robot dalam mengambil surat dalam
loker maka dilakukan pengujian sebanyak 5 (lima) kali pada setiap loker. Data tingkat
keberhasilan robot dalam mengambil surat akan ditunjukkan oleh tabel 4.2 sedangkan
Dari hasil pengujian pada tabel 4.2, diketahui bahwa keberhasilan robot dalam
a. Posisi loker. Posisi loker yang benar adalah loker searah dengan robot yang akan
berhenti di depan loker. Posisi yang salah dapat menyebabkan surat tersangkut saat
ditarik keluar. Gambar 4.2 menunjukkan posisi yang loker yang benar dan yang
salah.
58
Gambar 4.2 Posisi Loker yang Benar (Kiri) dan Salah (Kanan)
b. Posisi lengan mekanik pada robot. Saat robot bergerak menuju loker, ada
kemungkinan posisi lengan mekanik juga bergerak (berputar). Bila lengan berputar
cukup jauh dari posisi semula maka saat mengambil surat, slider tidak akan masuk ke
lubang dalam loker, melainkan akan mendorong loker. Gambar 4.3 menunjukkan
Gambar 4.3 Posisi Lengan Mekanik yang Benar (Kiri) dan Salah (Kanan)
tempat tujuan maka dilakukan pengujian sebanyak 5 (lima) kali pada setiap loker. Data
keberhasilan robot dalam mengantarkan surat disetiap jalur, dimulai saat robot berada di
59
depan loker sampai robot meletakkan surat di tempat tujuan akan ditunjukkan oleh tabel 4.3,
Dari tabel 4.3, secara keseluruhan dapat dinyatakan bahwa robot dapat mengantar
surat meskipun keberhasilannya tidak mencapai 100%. Adanya kegagalan yang terjadi
disebabkan oleh :
a. Mati-nya (loss) sensor pendeteksi jalur secara tiba – tiba, dibuktikan dengan LED
indikator pada sensor jalur yang mati pada kondisi yang seharusnya menyala. Hal ini
b. Seringnya terjadi slip pada roda sehingga memperlambat kecepatan gerak robot.
60
Jika robot keluar jalur (loss) maka robot akan melakukan gerakan sebelum loss.
Misal, jika saat belok kiri robot keluar jalur, maka robot akan bergerak belok kiri, dan jika
robot keluar jalur saat bergerak lurus maka robot akan bergerak lurus.
Untuk mengetahui kecepatan kerja robot dalam mengantar surat maka dilakukan
pengujian sebanyak 5 (lima) kali untuk mengetahui waktu tempuh yang diperlukan. Tabel
4.4 merupakan data pengujian robot yang dilakukan selama 5 kali untuk waktu yang
diperlukan untuk proses pengantaran surat sedangkan gambar 4.5 menunjukkan bentuk
Perbedaan waktu tempuh tempuh disetiap percobaan disebabkan karena sering terjadi slip
pada roda saat robot bergerak. Dari tabel 4.4 dapat diketahui data kecepatan robot
menggunakan persamaan
Kecepatan / V (cm/s)
No. Loker
1 2 3 4 5 Rata - Rata
1 2,86 2,69 2,92 2,86 2,92 2,85
2 4,27 3,85 3,92 4,12 4,27 4,086
3 5,35 5,75 6,22 5,9 5,9 5,824
4 4,03 4,11 4,03 4,03 4,18 4,076
5 3,05 2,93 2,99 2,99 2,93 2,978
Dari tabel 4.5 dapat dinyatakan bahwa robot dapat mengantarkan surat lebih cepat
jika berjalan pada lintasan yang lurus daripada berjalan pada lintasan yang banyak tikungan.
Semakin banyak tikungan pada lintasan maka kecepatan robot akan semakin lambat, hal ini
dibuktikan dengan kecepatan robot pada lintasan 1 lebih lambat daripada kecepatan robot
pada lintasan 2, sedangkan kecepatan robot pada lintasan 2 lebih lambat daripada kecepatan
Tabel 4.6 merupakan hasil pengukuran konsumsi arus yang dibutuhkan untuk sistem
elektronik robot menggunakan multimeter digital. Arus yang diukur merupakan arus
konsumsi total untuk rangkaian sensor, modul mikrokontroller dan rangkaian driver motor.
Dari hasil pengukuran arus total maka dapat diketahui daya total yang diserap dari
Dari tabel 4.6 terlihat bahwa perbedaan daya pada rangkaian sensor dan rangkaian
mikrokontroller memiliki perbedaan yang cukup besar. Pada rangkaian sensor, secara teoritis
besar daya yang diserap oleh rangkaian sensor adalah 700m W dan besar daya yang diserap
oleh rangkaian mikrokontroler sebesar 125m W (lihat bab 3 sub-bab 3.7). Penyebab
dengan dasar teori, sedangkan pada pengukuran, nilai tegangan LED inframerah 1,33
2. Perbedaan besar sumber tegangan. Pada perancangan, semua nilai Vcc adalah 5 V.
pada hasil pengukuran, nilai Vcc berbeda – beda di setiap sumber meskipun tidak
3. Adanya toleransi resistor. Perubahan nilai resistor juga mempengaruhi besar arus
yang melewatinya.
4. Daya total secara teoritis teracu pada datasheet dimana nilai besaran yang digunakan
merupakan data secara rata – rata (typical) sehingga kemungkinan besar berbeda
untuk arus maksimal (Icc = 25m A), sedangkan pada pengukuran, kondisi mikrokontroller
tidak aktif secara maksimal ,sebagai salah satu contohnya yaitu port 0 pada port I/O
menimbulkan perbedaan yang cukup besar antara perhitungan daya secara teoritis dengan
Pada rangkaian driver motor, secara teoritis (datasheet) arus max yang diserap oleh
motor sebesar 102,5m A sehingga untuk 2 motor maka arus total yang diserap sebesar 205m
A. Jika catu daya secara teoritis sebesar 5 V maka daya total yang diserap kedua motor
sebesar 1025m W. Sedangkan pada pengukuran daya total yang diserap sebesar 1003m W
dengan catu daya terukur 5,04 V, sehingga untuk satu motor menyerap arus sebesar 99,5m
A. Perbedaan 3m A ini disebabkan karena data pada datasheet merupakan data secara rata –
sensor dan modul mikrokontroler maka dapat bertahan hingga 9 jam 21 menit. Dan sebagai
catu daya rangkaian driver motor dapat bertahan hingga 6 jam 42 menit.
Dalam pengujian rangkaian sensor pendeteksi jalur hitam, alat ukur yang digunakan
untuk mengukur besaran tegangan menggunakan Multimeter digital. Ini dilakukan untuk
64
mengetahui apakah rangkaian sensor pendeteksi jalur hitam dapat menghasilkan tegangan
sesuai yang diharapkan, yaitu sebesar 5 V saat terpantul benda hitam / tidak terpantul dan 1,5
V saat terpantul benda berwarna putih. Gambar 4.7 merupakan gambar rangkaian yang
Perhatikan gambar 4.8 yang merupakan rancangan skematik sensor pendeteksi jalur
hitam untuk satu sisi, karena sensor di kedua sisi (depan dan belakang) dibuat identik.
Gambar 4.8 Skematik Rangkaian Sensor Pendeteksi Jalur Hitam Satu Sisi
Pada gambar 4.8, untuk pengujian sensor pendeteksi jalur hitam pada bagian sisi
depan robot, dilakukan pengujian pada titik VA, VB, VC, VD, VE, VF, VG, VH, VI, VJ, dan VK.
Secara teori atau perancangan, tegangan pada titik A (VA) memiliki besar yang sama dengan
65
VCC yaitu 5 V. Sedangkan tegangan pada titik VB, VC, VD, VE, VF sebesar 1,5 V yang
merupakan tegangan jatuh LED inframerah dan tegangan pada titik VG, VH, VI, VJ, VK
merupakan tegangan keluaran dari fotodioda yang bernilai 5 V saat terpantul benda hitam /
Secara pengukuran didapat tegangan pada masing – masing titik. Tegangan pada titik
A sebesar 4,79 V sama dengan tegangan pada Vcc, tegangan rata - rata pada titik VB, VC,
VD, VE, VF sebesar 1,33 V, dan tegangan rata – rata pada titik VG, VH, VI, VJ, VK sebesar 4,6
V saat terpantul benda hitam / tidak terpantul dan 1,7 V saat terpantul benda berwarna putih .
Dari hasil pengukuran, dapat diketahui persentase galat (error) dengan menggunakan
persamaan :
"
#
% ! 100%
"
Untuk pengujian sensor pendeteksi jalur hitam bagian sisi belakang robot dilakukan
cara yang sama dengan pengujian sisi depan. Sehingga didapat hasil perbandingan data
seperti pada tabel 4.7 untuk sisi depan dan tabel 4.8 untuk sisi belakang.
Dari tabel 4.7 dan 4.8, diketahui bahwa keluaran komparator LM324 saat high /
berlogika 1 adalah 3,5 V sesuai datasheet LM324. Meskipun kurang dari nilai tegangan
logika tinggi pada umunya (5 V) tetapi hal ini tidak mempengaruhi keberhasilan alat, karena
tinggi. Mikrokontroller AT89S51 membaca logika tinggi dengan jangkauan tegangan antara
2,8 V sampai 5,5 V (datasheet). Begitu juga saat kondisi low / rendah, meskipun keluaran
komparator LM324 bertegangan 0,6 V (pada datasheet LM324 saat logika rendah adalah 5
66
mV dan pada umumnya 0 V/ground) namun mikrokontroller AT89S51 masih bisa membaca
Tabel 4.7 Perbandingan Data Hasil Pengukuran dan Data Teoritis Pada Sensor
Pendeteksi Jalur Hitam Sisi Depan
Tabel 4.8 Perbandingan Data Hasil Pengukuran dan Data Teoritis Pada Sensor
Pendeteksi Jalur Hitam Sisi Belakang
Dalam pengujian rangkaian sensor tegangan referensi, alat ukur yang digunakan
untuk mengukur besaran tegangan menggunakan Multimeter digital. Ini dilakukan untuk
mengetahui apakah rangkaian sensor tegangan referensi dapat menghasilkan tegangan sesuai
yang diharapkan, yaitu sebesar 3,2 V dengan resistansi Potensiometer sebesar 4,33k Ohm
68
dan resistansi LDR sebesar 7,69k Ohm. Gambar 4.9 merupakan gambar rangkaian yang
Secara pengukuran didapat nilai tegangan referensi yang dihasilkan yaitu 3,75 V
dengan nilai resistansi potensiometer 4,2k Ohm, nilai resistansi LDR 12,2k Ohm dan dengan
Vcc terukur sebesar 4,92 V. Maka didapat data perbandingan hasil pengukuran dengan hasil
Tabel 4.9 Data Perbandingan Hasil Pengukuran Dengan Hasil Perancangan Untuk Sensor
Tegangan Referensi
Dari tabel 4.9 tampak sekali perbedaan nilai tegangan keluaran yang dihasilkan
antara hasil perancangan dengan hasil pengukuran. Hal ini disebabkan karena tegangan
keluaran yang dihasilkan sangat tergantung dari nilai resistansi LDR dan nilai resistansi
LDR sangat tergantung dari intensitas cahaya pada ruangan tersebut. Semakin tinggi nilai
resistansinya maka tegangan keluarannya akan semakin mendekati Vcc, sebaliknya jika
semakin kecil nilai resistansi LDR maka tegangan keluarannya akan mendekati 0 (ground).
69
Nilai resistansi Potensiometer sebenarnya juga dapat mempengaruhi nilai tegangan keluaran,
namun karena nilai 4,33k Ohm pada perancangan sudah dianggap nilai konstan maka tidak
diubah – ubah lagi nilai resistansinya, sedangkan nilai pada pengukuran adalah 4,2k Ohm
karena susah sekali untuk meng-set nilai potensiometer agar menjadi 4,33k Ohm (sangat
peka). Besar nilai tegangan keluaran masih diperbolehkan selama pada jangkauan yaitu
Dalam pengujian rangkaian sensor indikator surat, alat ukur yang digunakan untuk
mengetahui apakah rangkaian sensor indikator surat dapat menghasilkan tegangan sesuai
yang diharapkan, yaitu sebesar 3,75 V untuk tegangan referensi, keluaran komparator
bernilai Vcc (5 V) untuk kondisi menerima sinyal indikator surat (logika tinggi) dan ground
(0 V) saat tidak menerima sinyal indikator surat (logika rendah). Gambar 4.10 merupakan
Secara pengukuran didapat nilai tegangan referensi yang dihasilkan yaitu 3,71 V,
besar tegangan keluaran komparator saat LDR menerima cahaya dari indikator surat adalah
3,5 V, besar tegangan keluaran komparator saat LDR tidak menerima cahaya dari indikator
70
surat adalah 0 V, dengan tegangan Vcc terukur 4,89 V. Maka didapat data perbandingan
Tabel 4.10 Data Perbandingan Hasil Pengukuran Dengan Hasil perancangan Sensor
Indikator Surat
Sama seperti pada pengujian sensor pendeteksi jalur hitam, tegangan saat logika
tinggi kurang dari tegangan logika tinggi pada umumnya (5 V) namun hal ini tidak menjadi
masalah bagi keberhasilan alat, karena mikrokontroller masih bisa membaca bahwa keluaran
Subrutin seperti pada gambar 4.11 merupakan program untuk waktu tunda dan juga
Terdapat tiga subrutin waktu tunda yang paling utama dan yang digunakan untuk
menghasilkan PWM. PWM yang digunakan terdapat dua variasi, yaitu 50% dan 25%. Yang
dimaksud 50% adalah tegangan yang dihasilkan berkurang hingga setengah dari tegangan
keluaran yang seharusnya, sama halnya dengan 25% yaitu tegangan yang dihasilkan
berkurang hingga 25% dari tegangan keluaran yang seharusnya. Dengan frekuensi saklar
yang ditentukan sebesar 1000 Hz (periode pulsa sebesar 1 ms), maka waktu ON dan OFF
untuk PWM 50% sebesar 0,5 ms, dan untuk PWM 25% , waktu ON sebesar 0,25 ms dan
menggunakan multimeter digital. Catu daya (Vcc) modul mikrokrontroler yang terukur
sebesar 4,5 V saat berlogika tinggi. Sehingga didapat data seperti pada tabel 4.11
Dari tabel 4.11 diketahui program subrutin untuk menghasilkan PWM dan hardware-
nya sudah benar. PWM yang dihasilkan sesuai dengan yang diharapkan dengan persentase
Subrutin ini digunakan saat robot berjalan dengan sensor jalur sebagai pendeteksi
jalur hitam. Subrutin untuk berjalan dengan sensor jalur bagian depan sebagai kepalanya
sama dengan subrutin untuk berjalan dengan sensor jalur bagian belakang. Untuk
membedakannya, digunakan port 1.5 dan port 2.5 sebagai acuan sensor bagian mana yang
bekerja. Port 1.5 dan port 2.5 diprogram untuk tidak berlogika 1 atau 0 secara bersama –
73
sama untuk menghindari error. Gambar 4.12 merupakan penggalan program untuk
menentukan sensor mana yang dipakai dan gambar 4.13 merupakan penggalan subrutin
Subrutin ini digunakan saat sensor jalur mendeteksi adanya persimpangan. Untuk
tiap – tiap persimpangan memiliki arti tersendiri. Gambar 4.14 merupakan penggalan
subrutin saat menghadapi persimpangan. Persimpangan pertama (case 0) robot akan diam
sejenak untuk mendeteksi apakah loker mengirim sinyal indicator surat atau tidak, jika ya
maka robot akan bergerak ke arah loker , jika tidak robot akan berjalan lurus ke loker
berikutnya. Persimpangan kedua (case 1) kondisi jika robot menuju loker untuk proses ambil
surat. Persimpangan ketiga (case 2) kondisi saat robot mau mengantar surat ke tempat
tujuan. Persimpangan keempat (case 3) kondisi saat robot melakukan proses peletakan surat.
Persimpangan kelima (case 4) kondisi saat robot bergerak menuju jalur utama untuk
pengecekan loker berikutnya (setelah robot melakukan peletakan surat). Gambar 4.15
Menunjukkan robot saat maju melewati persimpangan karena tidak ada surat pada loker dan
gambar 4.16 Menunjukkan robot saat berbelok ke arah loker karena menerima sinyal dari
Gambar 4.15 Robot Melewati Loker Gambar 4.16 Robot Bergerak ke Arah Loker
75
Subrutin ini digunakan saat robot akan mengambil surat dari loker. Gambar 4.17
Subrutin ini digunakan saat robot akan meletakanl surat ke tempat tujuan. Gambar
4.18 merupakan penggalan subrutin proses peletakan surat ini dan gambar 4.19
Subrutin ini digunakan saat robot telah mengecek kelima loker (baik ada atau tidak
ada surat). Jika terdapat surat yang diantar di salah satu loker maka setelah kembali ke posisi
start / awal, robot akan berjalan lagi untuk melakukan pengecekan loker. Namun jika tidak
ada surat di kelima loker maka robot akan kembali ke posisi awal dan diam / mati, dan
diperlukan untuk menekan tombol reset untuk mengaktifkan kembali. Gambar 4.20
BAB V
5.1 Kesimpulan
a. Secara elektronis robot dapat bekerja dengan baik. Terbukti dengan nilai tegangan
dan arus rangkaian antara hasil pengukuran dengan perancangan tidak berbeda jauh.
b. Keberhasilan robot dalam suatu proses pengantaran surat sudah cukup baik. Dengan
tingkat keberhasilan mengambil surat sebesar 80% dan tingkat keberhasilan dalam
c. Keberhasilan robot dalam mengambil surat dari lokernya tergantung dari posisi loker
d. Keberhasilan robot dalam mengantarkan surat tergantung dari slip roda dan kinerja
sensor jalur.
e. Kecepatan robot untuk satu proses pengantaran surat tergantung kondisi lintasannya.
5.2 Saran
Dengan mengacu pada kekurangan yang dimiliki oleh robot pengantar surat ini,
disarankan kepada rekan yang lain jika akan merancang robot sejenis maupun lainnya :
untuk menghindari halangan saat mengantarkan surat atau robot dapat mencari tahu
[4] Malvino, Albert Paul, Ph.D., 1994, Prinsip – Prinsip Elektronika. Penerjemah:
[5] http://optical-
components.globalspec.com/SpecSearch/Suppliers?QID=12397578&Comp=1028&n
[6] Joseph A. Edminister. M.S.T., Ir. Sahat Pakpahan, Teori dan Soal – Soal
[7] Hawkes. Nigel, 1986, Robot dan Otomasi Industri, Grolier Internasional, INC - PT
Widyadara
[8] Boylestad. Robert et al, 1996, Electronic Devices and Circuit Theory, New Jersey :
Prentice Hall.
[9] http://www.discovercircuits.com/H/hbridge.htm
[10] http://www.alldatasheet.com
80
L1
1
R2 330b 2 R17 330g
3 ke LED IR belakang
1 14 4
5 R3 330c 2 13 5 R18 330h 1
4 3 12 2
3 4 11 3
2 R4 330d 5 10 R19 330i 4
1 6 9 5
7 8
ke LED IR depan R5 330e lm324a R20 330j
5
4
3
2
1
3 3
2 R14 330 id out opamp ke indikator blk R29 330 ii 4
1 out opamp ke indikator dpn 5
ke indikator blk
ke indikator R15 330 ie R30 330 ij
5
4
3
2
1
5
4
3
2
1
ke mikro port 1.0 - 1.4 ke mikro port 2.0 - 2.4
Dari LDR
L2
1k 1k 43 9
2 44 P1.3 P3.3/INT1 10 6 11 2
1 1 P1.4 P3.4/TO 11 7 10
2 P1.5 P3.5/T1 12 8 9
33pF 3 P1.6 P3.6/WR 13 L293a
P1.7 P3.7/RD
15k 15 26
14 XTAL1 PSEN
4 XTAL2 27
RST ALE/PROG motor slider
33pF 29
EA/VPP 1 16 1
2 15 2
AT89S51/FP 3 14
LDR 3k 4 13
5 12
LS1 6 11
1 2 7 10
LS2 8 9
1
1 2 L293b
Vcc LS3
R1 1 2
1 14 100 1uF
2 13
3 12 1
4 11 2
5 10 motor pemutar
6 9 tombol reset R2
7 8
Lm324d 10k
1
Gnd
L3
1 2 1 1 2 1 1 2
3 4 2 3 4 2 LED indikator 1d
opto dpn 1 3 3
opto blkng 1
4 4
5 5 ke out opamp depan 1 2
1 2 ke LED IR dpn 1 2 ke LED IR blkng LED indikator 2d
3 4 3 4 5 1
4 2
opto dpn 2 opto blkng 2
1 3 1 2 3
2 2 4
LED indikator 3d
1 2 3 1 2 1 5
3 4 4 3 4
5 opto blkng 3 1 2 ke indikator dpn
opto dpn 3
RANGKAIAN SENSOR BAGIAN 2
1 2
LED indikator 2b
5 1
1 4 2
ke opamp dari LDR 3 1 2 3
2 LED indikator 3b 4
Vcc Rpot 10k 1 5
3 1 ke out opamp blkng
1 1 2 ke indikator blkng
LDR LED indikator 4b
2
1 2
LED indikator 5b
1
Gnd
L4
#include <at89x51.h>
int i;int j;int n=0; int s; int b;
void timer25( ) // 0,25ms
{
TMOD = 0x10;
TH1 = 255;
TL1 = 6;
TR1 = 1;
while (!TF1)
{;}
TF1 = 0;
TR1 = 0;
}
void timer75( ) // 0,75ms
{
TMOD = 0x10;
TH1 = 253;
TL1 = 18;
TR1 = 1;
while (!TF1)
{;}
TF1 = 0;
TR1 = 0;
}
void timer50() // 0,5ms
{
TMOD = 0x10;
TH1 = 254;
TL1 = 12;
TR1 = 1;
while (!TF1)
{;}
TF1 = 0;
TR1 = 0;
}
void lurus() // Jalan lurus (depan)
{
P1_6=1;
P2_7=1;
}
void kiri1() // Belok kiri (depan)
{
timer50();
P1_6 = 0;
timer50();
P1_6 = 1;
P2_7 = 1;
}
void kiri2() // Belok sangat kiri (depan)
{
timer25();
P1_6 = 0;
timer75();
L5
P1_6 = 1;
P2_7 = 1;
}
void kanan1() // Belok kanan (depan)
{
timer50();
P2_7 = 0;
timer50();
P2_7 = 1;
P1_6 = 1;
}
void kanan2() // Belok sangat kanan (depan)
{
timer25();
P2_7 = 0;
timer75();
P2_7 = 1;
P1_6 = 1;
}
void lurusb() // Jalan lurus (belakang)
{
P2_6=1;
P1_7=1;
}
void kiri1b() // Belok kiri (belakang)
{
timer50();
P1_7 = 0;
timer50();
P1_7 = 1;
P2_6 = 1;
}
void kiri2b() // Belok sangat kiri (belakang)
{
timer25();
P1_7 = 0;
timer75();
P1_7 = 1;
P2_6 = 1;
}
void kanan1b() // Belok kanan (belakang)
{
timer50();
P2_6 = 0;
timer50();
P2_6 = 1;
P1_7 = 1;
}
void kanan2b() // Belok sangat kanan (belakang)
{
timer25();
P2_6 = 0;
timer75();
L6
P2_6 = 1;
P1_7 = 1;
}
void ambil() // Proses ambil surat
{
P1 = 0x1F;
P2_7 = 0;P2_6=0;
P3_2 = 0;
for(i=0;i<5000;i++) // Slider maju
{for(j=0;j<45;j++)
{P3_1 = 1;}}
P3_1 = 0; // Slider berhenti
P2 = 0x7B; // Sensor belakang aktif
}
void letak() // Proses peletakan surat
{
P2_6=0;P2_7=0;P1_7=0;
P3_4=0;
while(P3_6==1) // Lengan berputar sampai LS2 tersentuh
{ P3_3=1;}
P3_3=0;
P3_1=0;
while(P3_7==1) // Saat LS2=0 maka slider masuk hingga LS3=0
{ P3_2=1;}
P3_2=0;
while (P3_5==1) // Saat LS3=0; lengan diputar ke kondisi awal
{ P3_4=1;}
P3_4=0; // Atau sampai LS1=0
P2_5=0;
P1=0x7B;
}
void surat() // Saat berhenti di persimpangan 1 depan
{
switch (P3_0) // Jika loker mengeluarkan cahaya (indikator)
{
case 0 : for(i=0;i<5000;i++) // Jika tidak ada surat maka maju ke loker
{for(j=0;j<15;j++) // Berikutnya, hingga n=6 (finish)
{lurus();}}
b = 0;
break;
case 1 : for(i=0;i<5000;i++) // Jika ada surat maka berbelok ke kiri
{for(j=0;j<20;j++) // Ke arah loker
{P1_6=1;P1_7=0;P2_6=0;P2_7=0;}}
s = 1;b = 1;
break;
}
}
void Stop()
{
P1=0x00;
P2=0x00;
P3=0x00;
while (1)
L7
{;}
}
void pulang() // Program pulang saat mencapai garis finish
{
P1_5 = 0; // Sensor depan non aktif
P2_7 = 0;
P1_6 = 0;
P2 = 0x7B; // Sensor belakang aktif sebagai kepala
while (n>0)
{
switch(P2)
{
case 0x7B : lurusb(); break;
case 0X79 : kanan1b(); break;
case 0X7D : kanan1b(); break;
case 0x78 : kanan2b(); break;
case 0x7C : kanan2b(); break;
case 0x7E : kanan2b(); break;
case 0x73 : kiri1b(); break;
case 0x77 : kiri1b(); break;
case 0x63 : kiri2b(); break;
case 0x67 : kiri2b(); break;
case 0x6F : kiri2b(); break;
case 0x60 : n--;
if (n==0) // Saat sampai di garis start
{ if (s==0) // Jika sebelumnya tidak mengantar surat
{Stop();break;} // Maka robot akan berhenti
else // Jika sebelumnya pernah mengantar surat
{P1_5 = 1; // Robot akan mengecek kembali kelima loker
P2 = 0xFF; // Atau kembali ke main program
P2_5 = 0;
P3 = 0xFF;
P3_3 = 0;
P3_4= 0;
P0 = 0x00;
s = 0;break;}
}
for(i=0;i<5000;i++) // Semua persimpangan loker diabaikan
{for(j=0;j<15;j++) // Jalan lurus hingga prsimpangan start
{P2_6=1;P1_7=1;P2_7=0;P1_6=0;}} // Atau hingga n = 0 (tiap persimpangan n=n-1)
P2=0x7B;break;
default : P2=P2;break;
}
}
}
switch(P2)
{
case 0x7B : lurusb(); break;
case 0X79 : kanan1b(); break;
case 0X7D : kanan2b(); break;
case 0x7A : kanan2b(); break;
case 0x78 : kanan2b(); break;
case 0x7C : kanan2b(); break;
case 0x7E : kanan2b(); break;
case 0x73 : kiri1b(); break;
case 0x77 : kiri2b(); break;
case 0x6B : kiri2b(); break;
case 0x63 : kiri2b(); break;
case 0x67 : kiri2b(); break;
case 0x6F : kiri2b(); break;
case 0x60 : simpang();break;
default : P2=P2;break;
}
}
void main()
{
for (i=0;i<5000;i++)
{ for (j=0;j<30;j++)
{
P1_5 = 1;
P2 = 0xFF;
P2_5 = 0;
P3 = 0xFF;
P3_3 = 0;
P3_4= 0;
P0 = 0x00;
s = 0;
}
}
while(1)
{
while (P1_5==1)
{ depan(); }
while (P2_5==1)
{ belakang();}
}
}
L10
L11
L12
L13
L14
L15