PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI TUGAS AKHIR
TEMPAT SAMPAH BERJALAN TERKENDALI JARAK JAUH Diajukan Untuk Memenuhi Salah Satu Syarat Memperoleh Gelar SarjanaTeknik Program Studi Teknik Elektro
Oleh: YOSAPHAT SAMODRA NIM: 085114013
PROGRAM STUDI TEKNIK ELEKTRO FAKULTAS SAINS DAN TEKNOLOGI UNIVERSITAS SANATA DHARMA YOGYAKARTA 2012
i
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI FINAL PROJECT
MOBILE REMOTE CONTROLLED TRASH CAN Presented as Partial Fullfillment of Requirements To Obtain the SarjanaTeknik Degree In Electrical Engineering Study Program
YOSAPHAT SAMODRA NIM: 085114013
ELECTRICAL ENGINEERING STUDY PROGRAM SCIENCE AND TECHNOLOGY FACULTY SANATA DHARMA UNIVERSITY YOGYAKARTA 2012
ii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
HALAMAN PERSEMBAHAN DAN MOTTO HIDUP
MOTTO Jadikanlah Ilmu Berguna Bagi Diri Sendiri dan Orang Lain
Dengan ini kupersembahkan karyaku ini untuk..... Yesus Kristus Pembimbingku yang setia, Keluargaku tercinta, Teman-teman seperjuanganku, Dan semua orang yang mengasihiku Terima Kasih untuk semuanya.......
vi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
HALAMAN PERNYATAAN PERSETUJUAN PUBLIKASI KARYA ILMIAH UNTUK KEPENTINGAN AKADEMIS Yang bertanda tangan di bawah ini, saya mahasiswa Universitas Sanata Dharma : Nama
: Yosaphat Samodra
Nomor Mahasiswa
: 085114013
Demi pengembangan ilmu pengetahuan, saya memberikan kepada Perpustakaan Universitas Sanata Dharma karya ilmiah saya yang berjudul :
TEMPAT SAMPAH BERJALAN TERKENDALI JARAK JAUH beserta perangkat yang diperlukan (bila ada). Dengan demikian saya memberikan kepada Perpustakaan Universitas Sanata Dharma hak untuk menyimpan, mengalihkan dalam bentuk media lain, mengelolanya dalam bentuk pangkalan data, mendistribusikan secara terbatas, dan mempublikasikannya di internet atau media lain untuk kepentingan akademis tanpa perlu meminta ijin dari saya maupun memberikan royalty kepada saya selama tetap mencantumkan nama saya sebagai penulis.
Demikian pernyataan ini yang saya buat dengan sebenarnya. Yogyakarta, 25 Oktober 2012
Yosaphat Samodra vii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
INTISARI Kebiasaan seseorang membuang sampah tidak pada tempatnya sering kali membuat pencemaran atau rasa tidak nyaman. Teknologi robot pada masa kini sangat berkembang. Salah satu pengembangan fungsi robot adalah sebagai pengangkut barang atau sampah. Tempat sampah berjalan terkendali jarak jauh memberikan solusi agar setiap orang dapat membuang sampah pada tempatnya. Pada penelitian ini, tempat sampah berjalan terkendali jarak jauh menggunakan modul XBee Pro sebagai komunikasi serial dengan jarak jangkau 100 meter. Jenis robot yang digunakan pada penelitian adalah line follower. Setiap orang yang ingin membuang sampah hanya perlu menekan tombol yang berada pada ruangan tertentu (pos), kemudian robot akan menghampiri dengan membawa kotak sampah. Dengan batasan berat dan tinggi sampah tertentu, robot akan kembali ke tempat semula (base) secara otomatis. Tempat sampah berjalan terkendali jarak jauh dapat berfungsi dengan baik. Tingkat keberhasilan robot dalam menuju pos dan kembali lagi ke base mencapai 90%.
Kata kunci: tempat sampah berjalan, XBee Pro, line follower, komunikasi serial.
viii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
ABSTRACT People’s habit about throwing away trash on improper place often make pollution or discomfort feeling. Nowadays, robotic technology is highly developed. One of that robotic technology development is as carrier of goods or rubbish. Mobile remote controlled trash offer solution so that everyone can dispose trash in proper place. In this thesis, mobile remote controlled trash can is using XBee Pro module as the serial communication within 100 meter range. Typical robot used in this thesis is line follower robot. Someone who wants to dispose trash only need to press a button at the certain room (point), then robot will come bring trash can to that point. With certain limit of weight and height, robot will return to starting place (base) automatically. Mobile remote controlled trash is well functioned. Robot’s successful rate on going to the certain point and return to base reach 90%. Keyword : trash can, XBee Pro, line follower, serial communication.
ix
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
KATA PENGANTAR Puji dan Syukur penulis panjatkan kepada Tuhan Yesus Kristus karena telah memberikan berkat-Nya sehingga penulis dapat menyelesaikan laporan akhir ini dengan baik. Laporan akhir ini disusun untuk memenuhi syarat memperoleh gelar sarjana. Penulis mengucapkan terima kasih kepada : 1. Dekan Fakultas Sains dan Teknologi Universitas Sanata Dharma Yogyakarta. 2. Ketua Program Studi Teknik Elektro Universitas Sanata Dharma Yogyakarta. 3. Damar Widjaja, S.T., M.T., dosen pembimbing yang dengan penuh pengertian dan ketulusan hati memberi bimbingan, kritik, saran, serta motivasi dalam penulisan skripsi ini. 4. Martanto, S.T., M.T., Ir. Tjendro, M.Kom., dosen penguji yang telah memberikan masukan, bimbingan, saran dalam merevisi skripsi ini. 5. Kedua orang tua dan kakak-kakak saya, atas dukungan, doa, cinta, perhatian, kasih sayang yang tiada henti. 6. Kekasihku atas dukungan, doa, cinta, perhatian, kasih sayang yang tiada henti. 7. Staff sekretariat Teknik Elektro, atas bantuan dalam melayani mahasiswa. 8. Kawan-kawan seperjuangan angkatan 2008 Teknik Elektro, kawan-kawan kos, dan semua kawan yang mendukung saya dalam mendukung dalam menyelesaikan tugas akhir ini. 9. Semua pihak yang tidak dapat disebutkan satu persatu atas semua dukungan yang telah diberikan dalam penyelesaian skripsi ini. Penulis menyadari bahwa dalam penyusunan laporan akhir ini masih mengalami kesulitan dan tidak lepas dari kesalahan. Oleh karena itu, penulis mengharapkan masukan, kritik dan saran yang membangun agar skripsi ini menjadi lebih baik. Dan semoga skripsi ini dapat bermanfaat sebagaimana mestinya. Penulis
Yosaphat Samodra
x
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
DAFTAR ISI HALAMAN JUDUL ................................................................................................ i HALAMAN PERSETUJUAN ............................................................................. iii HALAMAN PENGESAHAN ............................................................................... iv PERNYATAAN KEASLIAN KARYA ............................................................. v HALAMAN PERSEMBAHAN DAN MOTTO HIDUP............................. vi LEMBAR PERNYATAAN PERSETUJUAN PUBLIKASI KARYA ILMIAH UNTUK KEPENTINGAN AKADEMIS ...................................... vii INTISARI .................................................................................................................... viii ABSTRACT ................................................................................................................ ix KATA PENGANTAR ............................................................................................. x DAFTAR ISI .............................................................................................................. xi DAFTAR GAMBAR ............................................................................................... xv DAFTAR TABEL ..................................................................................................... xviii DAFTAR LAMPIRAN ........................................................................................... xix BAB I PENDAHULUAN 1.1.
Latar Belakang.................................................................................................. 1
1.2.
Perumusan Masalah.......................................................................................... 2
1.3.
Tujuan Penelitian.............................................................................................. 2
1.4.
Manfaat Penelitian............................................................................................ 2
1.5.
Batasan Masalah ............................................................................................... 2
1.6.
Metodologi Penelitian ...................................................................................... 3
BAB II DASAR TEORI 2.1.
Frequency Band 2,4 GHz ................................................................................. 6
2.2.
XBee Pro .......................................................................................................... 7
2.3
LCD .................................................................................................................. 9
2.4.
Mikrokontroler ATmega8535........................................................................... 11 xi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
2.4.1. Konfigurasi Pin ...................................................................................... 12 2.4.2. Peta Memori ........................................................................................... 13 2.4.3. Stack Pointer .......................................................................................... 14 2.4.4. Reset dan Osilator Eksternal................................................................... 14 2.4.5. Timer ATmega8535................................................................................ 15 2.4.5.1. Timer/Counter 1 ........................................................................ 15 2.4.5.2. Register Pengendali Timer/Counter 1 ....................................... 15 2.4.5.3. Mode Operasi ............................................................................ 21 2.4.5.4. Interupsi ..................................................................................... 25 2.4.6. Osilator Mikrokontroler.......................................................................... 26 2.4.7. Analog to Digital Converter ................................................................... 26 2.5.
Rangkaian Pembagi Tegangan ......................................................................... 28
2.6.
Operational Amplifier ......................................................................................... 28
2.7.
Komparator....................................................................................................... 29
2.8.
Penguat Non - Inverting ................................................................................... 30
2.9.
IC LM339........................................................................................................... 30
2.10.
Keypad .............................................................................................................. 31
2.11.
IC Driver L298 ................................................................................................... 32
2.12.
Sensor Flexiforce ................................................................................................ 32
2.13.
Sensor Jarak Ultrasonik PING .............................................................................. 33
2.14.
Motor DC ........................................................................................................... 34
2.15.
Fotodioda ........................................................................................................... 35
2.16.
Light Emiting Diode (LED).................................................................................. 36
2.17.
Optocoupler........................................................................................................ 36
BAB III PERANCANGAN 3.1.
Diagram Blok ......................................................................…………………. 38
3.2.
Perancangan Perangkat Keras .............................................…………………. 40 3.2.1. Robot Line Follower dan Letak Sensor...................…………………. 40 3.2.2. Track Robot.............................................................…………………. 41 3.2.3. Rangkaian Pemancar XBee PRO.................................…………………. 42 3.2.4. Rangkaian Penerima Xbee PRO ..................................…………………. 44 3.2.5. Rangkaian Minimum Sistem Line Follower .................…………………. 46 xii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
3.2.6. Rangkaian LCD .........................................................…………………. 48 3.2.7. Sensor Jalur ...............................................................…………………. 49 3.2.8. Rangkaian Komparator ...............................................…………………. 51 3.2.9. Rangkaian Driver .......................................................…………………. 55 3.2.10. Rangkaian Pembagi Tegangan Sensor Berat.................…………………. 57 3.2.11. Perhitungan Nilai ADC...............................................…………………. 58 3.3.
Perancangan Perangkat Lunak.......................................................................... 59 3.3.1. Flowchart Utama……………………………………………………..... 59 3.3.2. Flowchart Pengiriman Data ......................................…………………. 60 3.3.3. Flowchart Penerima Data..........................................…………………. 61 3.3.4. Flowchart Pos1, Pos 2 dan Pulang ............................…………………. 62 3.3.5. Flowchart Pengecekan Sampah.................................…………………. 65
BAB IV HASIL DAN PEMBAHASAN 4.1.
Hasil Implementasi Robot ................................................................................ 67 4.1.1. Hasil Konstruksi Robot ........................................................................ 67 4.1.2. Denah Jalur ........................................................................................... 68
4.2.
Pengujian Keberhasilan .................................................................................... 68 4.2.1. Pengujian Tanpa Beban ........................................................................ 69 4.2.2. Pengujian dengan Berat 2Kg dan Tinggi 25cm.................................... 69 4.2.3. Pengujian dengan Berat 2Kg dan Tinggi 30cm.................................... 70 4.2.4. Pengujian dengan Berat 2,2Kg dan Tinggi 25cm................................. 70
4.3.
Analisa Pengujian Beban.................................................................................. 71
4.4.
Ilustrasi Kegagalan Robot ................................................................................ 72
4.5.
Pengujian Rangkaian Pemancar dan Penerima XBee Pro................................ 73
4.6.
Pengujian Sensor Jalur ..................................................................................... 74
4.7.
Pengujian Rangkaian Komparator.................................................................... 75
4.8.
Pengujian Rangkaian Driver ............................................................................ 76
4.9.
Pengujian Sensor Ultrasonik Ping .................................................................... 76
4.10.
Pengujian Sensor Berat Flexyforce .................................................................. 77
4.11.
Pembahasan Software ....................................................................................... 78 4.11.1. Program Utama.................................................................................. 78 4.11.2. Program Pos 1.................................................................................... 79 xiii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
4.11.3.
Program Pos 2.................................................................................. 80
4.11.4.
Program Pengecekan Sampah ......................................................... 81 4.11.4.1. Program Pengaturan Timer............................................. 82 4.11.4.2. Program Pengaturan ADC .............................................. 82 4.11.4.3. Program Ketinggian Sampah.......................................... 83
4.11.5.
Pengujian Program Pos1, Pos 2 dan Pulang .................................... 84
4.11.6.
Program Pemancar XBee Pro .......................................................... 86
4.11.7.
Program Penerima XBee Pro........................................................... 87
BAB IV KESIMPULAN DAN SARAN 5.1.
Kesimpulan....................................................................................................... 88
5.2.
Saran ................................................................................................................. 88
DAFTAR PUSTAKA .............................................................................................. 89 LAMPIRAN ............................................................................................................... 90
xiv
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
DAFTAR GAMBAR Halaman Gambar 1.1.
Blok Diagram Pemancar.......................................................................... 3
Gambar 1.2.
Blok Diagram Penerima .......................................................................... 4
Gambar 1.3.
Blok Diagram Robot Line Follower ........................................................ 4
Gambar 2.1. Konfigurasi pin XBee PRO ..................................................................... 7 Gambar 2.2. Komunikasi XBee PRO........................................................................... 9 Gambar 2.3. Konstruksi LCD....................................................................................... 9 Gambar 2.4.
LCD 2 x 16 .............................................................................................. 10
Gambar 2.5. Konfigurasi ATmega8535 ....................................................................... 12 Gambar 2.6. Peta memori program .............................................................................. 14 Gambar 2.7. Rangkaian reset ....................................................................................... 14 Gambar 2.8. Pulsa fast PWM ....................................................................................... 23 Gambar 2.9. Pulsa phase correct PWM ........................................................................... 24 Gambar 2.10. Rangkaian pembagi tegangan .................................................................. 28 Gambar 2.11. Op-amp .................................................................................................... 28 Gambar 2.12. Op-amp komparator dan karakteristik tegangan output (Vo).................. 29 Gambar 2.13. Grafik Vout dan Vin yang sudah dibandingkan dengan Vref ................. 30 Gambar 2.14. Non – inverting amplifier ........................................................................ 30 Gambar 2.15. Konfigurasi IC LM339 ............................................................................ 31 Gambar 2.16. Keypad 4x4 .............................................................................................. 31 Gambar 2.17. IC driver L298 ......................................................................................... 32 Gambar 2.18. Skema pin IC LM324 .............................................................................. 32 Gambar 2.19. Sensor flexiforce ...................................................................................... 33 Gambar 2.20. Grafik perbandingan hambatan dengan gaya .......................................... 33 Gambar 2.21. Instalasi sensor ping................................................................................. 34 Gambar 2.22. Grafik prinsip kerja sensor ping .............................................................. 34 Gambar 2.23. Konstruksi motor DC............................................................................... 35 Gambar 2.24. Simbol dan rangkaian fotodioda.............................................................. 36 Gambar 2.25. Simbol LED ............................................................................................. 36 Gambar 2.26. Rangkaian optocoupler............................................................................ 37 xv
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Gambar 3.1. Diagram blok pemancar........................................................................... 38 Gambar 3.2. Diagram blok penerima ........................................................................... 39 Gambar 3.3. Diagram blok line follower...................................................................... 39 Gambar 3.4. Rancangan robot line follower................................................................. 40 Gambar 3.5. Track robot .............................................................................................. 41 Gambar 3.6. Rangkaian osilator pemancar XBee PRO................................................ 42 Gambar 3.7. Rangkaian reset pemancar XBee PRO .................................................... 43 Gambar 3.8. Rangkaian pemancar Xbee PRO ............................................................. 43 Gambar 3.9. Rangkaian osilator penerima XBee PRO ................................................ 44 Gambar 3.10. Rangkaian reset penerima XBee PRO..................................................... 45 Gambar 3.11. Rangkaian penerima Xbee PRO .............................................................. 45 Gambar 3.12. Rangkaian osilator minimum sistem ....................................................... 46 Gambar 3.13. Rangkaian reset minimum sistem............................................................ 47 Gambar 3.14. Rangkaian minimum sistem .................................................................... 48 Gambar 3.15. Interface LCD mode 4 bit........................................................................ 49 Gambar 3.16. Rangkaian sensor jalur............................................................................. 51 Gambar 3.17. Rangkaian komparator............................................................................. 52 Gambar 3.18. Rangkaian pembagi tegangan .................................................................. 54 Gambar 3.19. Rangkaian driver ..................................................................................... 56 Gambar 3.20. Rangkaian pembagi tegangan sensor berat.............................................. 58 Gambar 3.21. Alur pemrograman utama ........................................................................ 60 Gambar 3.22. Alur pemrograman pengiriman data........................................................ 61 Gambar 3.23. Alur pemrograman penerima data ........................................................... 62 Gambar 3.24. Alur pemrograman pos 1 ......................................................................... 63 Gambar 3.25. Alur pemrograman pengecekan sampah.................................................. 65 Gambar 4.1.
Mekanik robot.......................................................................................... 67
Gambar 4.2. Track robot .............................................................................................. 68 Gambar 4.3.
Tampilan hasil pengujian tanpa beban .................................................... 69
Gambar 4.4.
Tampilan hasil pengujian dengan berat 2Kg dan tinggi 25cm ................ 69
Gambar 4.5.
Tampilan hasil pengujian dengan berat 2Kg dan tinggi 30cm ................ 70
Gambar 4.6.
Tampilan hasil pengujian dengan berat 2,2Kg dan tinggi 25cm ............. 71
Gambar 4.7.
Ilustrasi sensor jalur................................................................................. 72
Gambar 4.8.
Ilustrasi kegagalan robot.......................................................................... 72 xvi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Gambar 4.9. Pemancar dan penerima XBee Pro .......................................................... 73 Gambar 4.10. Program utama......................................................................................... 78 Gambar 4.11. Program pos 1 .......................................................................................... 80 Gambar 4.12. Program pos 2 .......................................................................................... 81 Gambar 4.13. Program pengaturan timer ....................................................................... 82 Gambar 4.14. Program pengaturan ADC ....................................................................... 83 Gambar 4.15. Program ketinggian sampah .................................................................... 84 Gambar 4.16. Program pemancar XBee Pro .................................................................. 86 Gambar 4.17. Program penerima XBee Pro ................................................................... 87
xvii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
DAFTAR TABEL Halaman Tabel 2.1. Pembagian frequency band ISM menurut ITU – R...................................... 6 Tabel 2.2. Lebar frekuensi XBee PRO .......................................................................... 8 Tabel 2.3. Spesifikasi XBee PRO.................................................................................. 8 Tabel 2.4. Fungsi pin-pin LCD...................................................................................... 10 Tabel 2.5. Deskripsi pin ATmega8535.......................................................................... 13 Tabel 2.6. Register TCCR1A ......................................................................................... 15 Tabel 2.7. Normal dan CTC .......................................................................................... 16 Tabel 2.8. Mode fast PWM ........................................................................................... 16 Tabel 2.9. Mode phase correct dan phase & frekuensi correct PWM.......................... 16 Tabel 2.10. Mode operasi ................................................................................................ 17 Tabel 2.11. Register TCCR1B ........................................................................................ 18 Tabel 2.12. Prescaler timer/counter1............................................................................. 19 Tabel 2.13. Register 1A.................................................................................................. 19 Tabel 2.14. Register 1 B ................................................................................................. 19 Tabel 2.15. Register 1..................................................................................................... 19 Tabel 2.16. Register TIMSK .......................................................................................... 20 Tabel 2.17. Register TIFR .............................................................................................. 20 Tabel 2.18. Sumber interupsi.......................................................................................... 25 Tabel 2.19. Konfigurasi bit-bit ADMUX ....................................................................... 27 Tabel 2.20. Konfigurasi bit-bit ADPS ............................................................................ 27 Tabel 3.1. Penggunaan port-port pada mikrokontroler 1 ............................................. 44 Tabel 3.2. Penggunaan port-port pada mikrokontroler 2 ............................................. 46 Tabel 3.3. Penggunaan port-port pada mikrokontroler 3 ............................................. 47 Tabel 3.4. Kondisi sensor jalur..................................................................................... 64 Tabel 3.5. Kondisi sensor jalur dan pergerakan robot.................................................. 65 Tabel 4.1. Persentase keberhasilan pengujian untuk tiap beban yang diuji ................. 71 Tabel 4.2. Pengujian rangkaian pemancar dan penerima ............................................. 73 Tabel 4.3. Pengujian jangkauan pemancar dan penerima Xbee Pro ............................ 74 Tabel 4.4. Pengukuran tegangan output sensor jalur.................................................... 74 Tabel 4.5. Hasil pengujian rangkaian komparator........................................................ 75 Tabel 4.6. Hasil pengujian rangkaian driver ................................................................ 76 xviii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Tabel 4.7. Hasil pengujian sensor ultrasonik ping........................................................ 76 Tabel 4.8. Hasil pengujian sensor berat flexyforce....................................................... 77 Tabel 4.9. Perbandingan program utama dengan pengukuran pin yang digunakan..... 79 Tabel 4.10. Pengujian program pos 1, pos2 dan pulang................................................. 85
xix
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
DAFTAR LAMPIRAN L.1.
Tabel Pengujian Robot.......................................................................................... L1
L.2.
Program................................................................................................................. L4
L.3.
Rangkaian Keseluruhan ........................................................................................ L22
xx
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
BAB I PENDAHULUAN 1.1.
Latar Belakang Seiring dengan tingginya aktivitas manusia seiring pula dengan peningkatan jumlah
sampah sebagai produk sekunder. Meningkatnya jumlah sampah dan kecenderungan sifat manusia yang pada umumnya malas membuang sampah dapat menimbulkan berbagai masalah, diantaranya masalah estetika, gangguan kesehatan, bahkan pencemaran lingkungan. Pada penelitian dengan judul “Robot Pengantar Barang Berbasis Kontrol Proporsional Deferensial (PD) Digital, robot pengantar barang berjalan mengikuti garis dengan lima titik pemberhentian dan dikendalikan secara jarak dekat [1]. Robot mampu membawa beban kurang dari 200 gram dengan tingkat keberhasilan pengantaran barang 88,3%. Berdasarkan permasalahan tersebut, penulis berusaha mengembangkan sebuah sistem tempat sampah yang dapat berjalan ke tempat yang diinginkan dalam wilayah tertentu dengan kontrol yang dilakukan dengan mekanisme panggilan jarak jauh menggunakan jaringan nirkabel. Dengan adanya tempat sampah berjalan tersebut banyak orang akan dengan mudah menjangkau tempat sampah pada suatu ruangan tanpa menghampiri. Asumsi yang seperti ini akan lebih membuat manusia untuk lebih peka dengan keberadaan sampah dan lingkungan sekitarnya. Dengan hadirnya suatu teknologi jaringan nirkabel yang dinamakan ZigBee maka komunikasi data jarak jauh pun dapat dilakukan. ZigBee termasuk dalam lingkup jaringan Wireless Personal Area Network (WPAN) seperti halnya dengan Bluetooth [2]. Penulis lebih memilih teknologi ini dibandingankan dengan Bluetooth karena jarak jangkauan ZigBee yang lebih jauh dibandingkan dengan Bluetooth. ZigBee juga memiliki kecepatan pengiriman data yang tinggi apabila dibandingkan dengan Bluetooth dan Ultra Wide Band (UWB) [2]. Tempat sampah berjalan ini menggunakan robot line follower sebagai prasarana untuk membawa kotak sampah. Robot line follower berjalan dengan mengikuti garis, sehingga tidak memerlukan biaya banyak biaya untuk pembuatan track dan mudah dalam pengoperasiannya. Robot line follower akan dilengkapi dengan sensor pendeteksi benda
1
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
2
dan sensor berat. Sensor pendeteksi benda berfungsi untuk mengetahui sampah yang masuk ke kotak sampah sehingga setiap orang yang membuang sampah dapat mengetahuinya. Sensor berat berfungsi untuk mengetahui beban maksimal yang dapat dibawa oleh robot. Sensor berat ini juga berfungsi untuk membatasi berat yang dapat dibawa, agar robot tidak cepat rusak dan dapat bertahan dalam waktu yang lama.
1.2.
Perumusan Masalah 1. Bagaimana menciptakan robot line follower dengan membawa tempat sampah? 2. Bagaimana menetukan volume maksimum tempat sampah? 3. Bagaimana menentukan titik-titik pemberhentian robot line follower?
1.3.
Tujuan Penelitian Tujuan dari penelitian ini adalah menciptakan sebuah robot tempat sampah berjalan
yang dapat dikendalikan jarak jauh.
1.4.
Manfaat Penelitian 1. Bagi industri jasa, penelitian ini dapat dipakai sebagai salah satu solusi untuk menjawab kebutuhan peralatan di industri, sebagai contoh bagi industri bahanbahan kimia yang berbahaya. 2. Bagi masyarakat, penelitian ini dapat dimanfaatkan dalam kehidupan sehari-hari agar dapat meningkatkan kedisiplinan untuk membuang sampah pada tempatnya. 3. Bagi peneliti, penelitian ini dapat dipakai sebagai sarana belajar tentang penelitian ilmiah dan penulisan karya ilmiah, serta merepresentasikan ilmu-ilmu yang didapat di Teknik Elektro. 4. Bagi dunia pendidikan, penelitian ini dapat dipakai sebagai modul pembelajaran, khususnya untuk mata kuliah robotika, pemrograman dan mikrokontroler.
1.5.
Batasan Masalah 1. Menggunakan dua titik pemberhentian dan satu titik untuk base. 2. Menggunakan track hitam di atas putih. 3. Kontroller yang digunakan adalah ATmega8535. 4. Menggunakan sensor ultrasonik sebagai pendeteksi sampah.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
3
5. Berat maksimal yang mampu dibawa robot adalah 2Kg dengan ketinggian maksimal 25cm. 6. Sampah yang dapat ditampung berupa limbah padat. 7. Menggunakan modul XBee PRO yang ada di pasaran sebagai komunikasi serial.
1.6.
Metodologi Penelitian Penelitian ini dilakukan menggunakan metode: 1. Bahan-bahan referensi berupa website, buku-buku dan jurnal-jurnal. 2. Perancangan subsistem berupa hardware dan software. Tahap ini bertujuan mencari bentuk model yang optimal dari sistem yang akan dibuat dengan mempertimbangkan dari berbagai faktor-faktor permasalahan dan kebutuhan yang telah ditentukan. 3. Pembuatan subsistem hardware dan software. Penelitian ini menggunakan tiga buah mikrokontroler. Mikrokontroler 1 digunakan pada rangkaian XBee pengirim, mikrokontroler 2 digunakan pada rangkaian XBee penerima, dan mikrokontroler 3 digunakan pada robot line follower. Berdasarkan Gambar 1.1., keypad berfungsi memberikan input ke mikrokontroler 1 kemudian mikrokontroler 1 akan mengolah input tombol sebagai input XBee. Penelitian ini menggunakan modul XBee yang sudah ada di pasaran. XBee berfungsi untuk mengirimkan data dari mikrokontroler 1 ke XBee penerima. Berdasarkan Gambar 1.2., setelah XBee penerima mendapatkan data dari XBee pengirim kemudian data diolah oleh mikrokontroler 2. Data dari mikrokontroler 2 akan digunakan sebagai pengontrol robot line follower melalui mikrokontroler 3. Gambar 1.3. menunjukkan blok diagram robot line follower.
Tombol 1 Mikrokontroler 1
Tombol 2
Modul XBee Pemancar
Gambar 1.1. Blok diagram pemancar
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Modul XBee Penerima
4
Robot Line Follower Mikrokontroler 2
Tempat Sampah
Gambar 1.2. Blok diagram penerima
Sensor proximity
Mikrokontroler 2
Komparator
Mikrokontroler 3
Sensor ultrasonik
Sensor berat
Pengondisi sinyal
Driver
Motor DC
Gambar 1.3. Blok diagram robot line follower Berdasarkan Gambar
1.3., mikrokontroler 3 akan menerima data dari
mikrokontroler 2 sebagai input data untuk penentuan pos 1 atau pos 2. Sensor jalur berfungsi mendeteksi garis hitam dan putih pada track. Komparator berfungsi membandingkan data 0 atau 1 yang dikirim oleh sensor jalur dan kemudian mengirimkan data tersebut ke mikrokontroler 3 yang berada pada robot. Sensor ultrasonik dan sensor berat berfungsi sebagi pendeteksi sampah yang dibuang ke dalam kotak sampah. Driver berfungsi untuk menggerakkan motor DC pada robot yang dikontrol oleh mikrokontroler 3.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
5
4. Proses pengambilan data. Pengambilan data dilakukan dengan cara mengubah-ubah input keypad sebagai pengendali robot. Setelah itu dilakukan pengukuran pada sensor berat yang diletakan pada robot line follower sebagai pendeteksi berat maksimal beban yang dibawa. Robot line follower juga akan dilengkapi sensor ultrasonik sebagai pendeteksi sampah yang masuk ke dalam tempat sampah.
5. Analisa dan penyimpulan hasil percobaan. Analisa data dilakukan dengan membandingkan data hasil percobaan dengan perhitungan teori dan spesifikasi
yang telah ditentukan terlebih dahulu.
Penyimpulan hasil percobaan dapat dilakukan dengan menghitung presentase error yang terjadi.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
BAB II DASAR TEORI 2.1.
Frequency Band 2,4 GHz Sistem Wireless sangat terkenal untuk jaringan data di tingkat lokal dan komunikasi
antara beberapa alat komunikasi dengan jarak 10 meter (komunikasi telepon seluler dengan computer menggunakan Bluetooth), yang disebut Wireless Local Area Network (WLAN) dan Wireless Personal Area Network (WPAN) [2]. Namun, sebagian besar sistem yang ada merupakan
sistem
bebas
lisensi,
baik
perencanaan
sumber
daya
atau
alokasi
bandwidth. Sampai saat ini, sistem yang paling sering digunakan dalam frequency band industrial, scientific and medical (ISM) 2,4 GHz adalah IEEE802.11 dan Bluetooth. ZigBee dan IEEE 802.15.4 adalah dua standar mendatang untuk jaringan nirkabel jarak pendek yang menggunakan frequency band ISM [3]. Aplikasi keduanya diterapkan dalam otomatisasi rumah, industri, dan medis. Aplikasi medis memerlukan keandalan tertinggi di media transmisi. Frequency band ISM untuk Eropa adalah 868 MHz , untuk Amerika adalah 915 MHz, dan untuk digunakan di seluruh dunia adalah 2,4 GHz [3]. Frekuensi 2,4 GHz menyediakan bandwidth tertinggi per saluran dan jumlah saluran terbesar. Frequency band 2,4 GHz adalah band yang umum digunakan untuk chip RF IEEE 802.15.4. Dengan demikian, dalam beberapa bulan atau tahun ke depan, akan ada tiga sistem nirkabel dalam satu frequency band dengan skema modulasi dan saluran akses yang berbeda. Tabel 2.1. memperlihatkan pembagian frequency band ISM menurut International Telecommunication Union Radiocommunication Sector (ITU – R). Tabel 2.1. Pembagian frequency band ISM menurut ITU – R [3] Frekuensi tengah
Frekuensi (Hz)
(Hz)
24–24.25 GHz
24.125 GHz
61–61.5 GHz
61.25 GHz
122–123 GHz
122.5 GHz
244–246 GHz
245 GHz
6
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
7
Tabel 2.1. (Lanjutan) Pembagian frequency band ISM menurut ITU – R [3] Frekuensi (Hz)
2.2.
Frekuensi tengah (Hz)
6.765–6.795 MHz
6.780 MHz
13.553–13.567 MHz
13.560 MHz
26.957–27.283 MHz
27.120 MHz
40.66–40.70 MHz
40.68 MHz
433.05–434.79 MHz
433.92 MHz
902–928 MHz
915 MHz
2.400–2.500 GHz 5.725–5.875 GHz
2.450 GHz 5.800 GHz
XBee PRO Modul XBee dan XBee PRO dirancang untuk memenuhi standar ZigBee / IEEE
802.15.4 dan mendukung kebutuhan daya rendah pada pengaplikasian sensor yang menggunakan jaringan nirkabel [4]. Modul ini memerlukan daya minimal dan dapat diandalkan dalam pengiriman data kritis antar perangkat. XBee PRO beroperasi dalam frequency band ISM 2,4 GHz. Gambar 2.1. memperlihatkan konfigurasi pin XBee PRO. Tabel 2.2. memperlihatkan lebar frekuensi XBee PRO. Tabel 2.3. memperlihatkan spesifikasi XBee PRO.
Gambar 2.1. Konfigurasi pin XBee PRO [4]
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
8
XBee PRO mempunyai beberapa keunggulan dalam hal keamanan jaringan, yaitu : 1.
Setiap saluran urutan langsung mempunyai 65.000 alamat yang berbeda.
2.
Mendukung pelaksanaan komunikasi point-to-point, point-to-multipoint, dan topologi peer-to-peer.
3.
Enkripsi hingga 128 bit.
4.
Menggunakan arus yang rendah yaitu a) Arus Tx : 270 mA ( @ 3.3 v) b) Arus Rx : 55 mA (@ 3.3 v)
5.
Tidak memerlukan konfugurasi selain di dalam modul XBee PRO
Tabel 2.2. Lebar frekuensi XBee PRO [4] Frequency Band
Channel Numbering
2.4-2.4835 GHz
11 to 26
Spreading Parameters Chip Modulati Rate on 2.0 Mchips
O-QPSK
Data Paramaters Bit Rate
Symbol Rate
Modulation
250 kb/s
62,5 kbaud
16-ary Orthogonal
Tabel 2.3. Spesifikasi XBee PRO [4]
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
9
Komunikasi secara serial digunakan untuk berkomunikasi dengan perangkat lain menggunakan media kabel serial. Komunikasi serial ini menggunakan metode asinkronus serial. Gambar 2.2. memperlihatkan komunikasi XBee PRO.
Gambar 2.2. Komunikasi XBee PRO [4]
2.3.
LCD Liquid Crystal Display (LCD) adalah komponen yang berfungsi untuk menampilkan
suatu karakter pada suatu tampilan (display) dengan bahan utama yang digunakan berupa Liquid Crystal [5]. Apabila diberi arus listrik sesuai dengan jalur yang telah dirancang pada konstruksi LCD, Liquid Crystal akan berpendar menghasilkan suatu cahaya dan cahaya tersebut akan membentuk suatu karakter tertentu. Konstruksi LCD disajikan pada Gambar 2.3.
Gambar 2.3. Konstruksi LCD [5] LCD yang sering digunakan adalah jenis LCD M1632. M1632 merupakan modul LCD dengan tampilan 2 x 16 (2 baris, 16 kolom) dengan konsumsi daya rendah. Modul tersebut
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
10
dilengkapi dengan mikrokontroler yang didesain khusus untuk mengendalikan LCD. Mikrokontroler HD44780 buatan Hitachi yang berfungsi sebagai pengendali LCD memiliki CGROM (Character General Read Only Memory), CGRAM (Character General Random Access Memory), dan DDRAM (Display Data Random Access Memory). LCD bertipe ini memungkinkan pemrogram untuk mengoperasikan komunikasi data 8 bit atau 4 bit. Jika menggunakan jalur data 4 bit, maka akan ada 7 jalur data (3 untuk jalur kontrol & 4 untuk jalur data). Jika menggunakan jalur data 8 bit, maka akan ada 11 jalur data (3 untuk jalur kontrol & 8 untuk jalur data). Tiga jalur kontrol ke LCD ini adalah EN (Enable), RS (Register Select) dan R/W (Read/Write). LCD 2 x 16 disajikan pada Gambar 2.4.
Gambar 2.4. LCD 2 x 16 [5] LCD jenis M1623 memiliki jumlah pin sebanyak 16 yang memiliki fungsi berbedabeda. Fungsi pin-pin tersebut disajikan pada Tabel 2.4.
Tabel 2.4. Fungsi pin-pin LCD [5] Nomor
Simbol
Pin
Nomor
Simbol
Pin
1
GND
9
DB2
2
Vcc (5V)
10
DB3
3
Vled
11
DB4
4
RS
12
DB5
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
11
Tabel 2.4. (Lanjutan) Fungsi pin-pin LCD [5] Nomor
Simbol
Pin
Nomor
Simbol
Pin
5
R/W
13
DB6
6
E
14
DB7
7
DB0
15
A
8
DB1
16
K
Fungsi pin LCD pada Tabel 2.4. adalah : 1. Vlcd merupakan pin yang digunakan untuk mengatur tebal tipisnya karakter yang tertampil dengan cara mengatur tegangan masukan. 2. DB0 s/d DB7 merupakan jalur data yang dipakai untuk menyalurkan kode ASCII maupun perintah pengatur LCD. 3. Register Select (RS) merupakan pin yang dipakai untuk membedakan jenis data yang dikirim ke LCD. Jika RS berlogika ‘0’, maka data yang dikirim adalah perintah untuk mengatur kerja LCD. Jika RS berlogika ‘1’, maka data yang dikirimkan adalah kode ASCII yang ditampilkan. 4. Read/Write (R/W) merupakan pin yang digunakan untuk mengaktifkan pengiriman dan pengembalian data ke dan dari LCD. Jika R/W berlogika ‘1’, maka akan diadakan pengambilan data dari LCD. Jika R/W berlogika ‘0’, maka akan diadakan pengiriman data ke LCD. 5. Enable (E) merupakan sinyal singkronisasi. Saat E berubah dari logika ‘1’ ke ‘0’, data di DB0 s/d DB7 akan diterima atau diambil diambil dari port mikrokontroler. 6. Anoda (A) dan Katoda (K) merupakan pin yang digunakan untuk menyalakan backlight dari layar LCD.
2.4.
Mikrokontroler ATmega8535 Mikrokontroler merupakam chip cerdas yang menjadi tren dalam pengendalian dan
otomatisasi, terutama di kalangan mahasiswa [6]. Dengan banyak jenis keluarga, kapasitas
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
12
memori, dan berbagai fitur, mikrokontroler menjadi pilihan dalam aplikasi prosesor mini untuk pengendalian skala kecil. Mikrokontroler Alf and vegard’s Risc processor (AVR) dari Atmel menggunakan arsitektur Reduced Instruction Set Computer (RISC) yang artinya prosesor tersebut memiliki set instruksi program yang lebih sedikit dibandingkan dengan MCS-51 yang menerapkan arsitektur Complex Instruction Set Computer (CISC). Hampir semua instruksi prosesor RISC adalah instruksi dasar (belum tentu sederhana), sehinggga instruksi-instruksi ini umumnya hanya memerlukan 1 siklus mesin untuk menjalankannya, kecuali instruksi percabangan membutuhkan 2 siklus mesin. RISC biasanya dibuat dengan arsitektur Harvard, karena arsitektur ini memungkinkan untuk membuat eksekusi instruksi selesai dikerjakan dalam satu atau dua siklus mesin, sehingga semakin cepat dan handal. Proses downloading program relatif lebih mudah karena dapat dilakukan langsung pada sistem. Sekarang ini, AVR dapat dikelompokkan menjadi 6 kelas, yaitu keluarga ATtiny, keluarga AT90Sxx, keluarga ATmega, keluarga AT90CAN, keluarga AT90PWM dan AT86RFxx. Pada dasarnya perbedaan kelas tersebut membedakan masing-masing kelas adalah peripheral, dan fungsinya, sedangkan dari segi arsitektur dan instruksi yang digunakan, mereka hampir sama. Sebagai pengendali utama dalam pembuatan sistem ini digunakan salah satu produk ATMEL dari keluarga ATmega yaitu ATmega8535.
2.4.1. Konfigurasi Pin ATMega8535 terdiri atas 40 pin dengan konfigurasi seperti pada Tabel 2.5. dan Gambar 2.5.
Gambar 2.5. Konfigurasi ATmega8535 [6]
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
13
Tabel 2.5. Deskripsi pin ATmega8535 [6]
2.4.2. Peta Memori Arsitektur AVR terdiri atas dua memori utama, yaitu Data Memori dan Program Memori. Sebagai tambahan fitur dari ATmega8535, terdapat EEPROM 512 byte sebagai memori data dan dapat diprogram saat operasi [6]. ATmega8535 terdiri atas 8 Kbyte On-chip In-System Reprogrammable Flash Memory untuk menyimpan program. Karena seluruh instruksi AVR dalam bentuk 16 bit atau 36 bit, flash dirancang dengan kompisisi 4K x 16. Untuk mendukung keamanan software atau program, flash program memori dibagi menjadi dua bagian yaitu bagian Boot Program dan bagian Application Program. Gambar 2.6 mengilustrasikan susunan memori program flash ATmega8535.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
14
Gambar 2.6. Peta memori program [6]
2.4.3. Stack Pointer Stack pointer merupakan suatu bagian dari AVR yang berguna untuk menyimpan data sementara, variabel lokal, dan alamat kembali dari suatu interupsi ataupun subrutin [6]. Stack pointer diwujudkan sebagai dua unit register, yaitu Stack Pointer High (SPH) dan Stack Pointer Low (SPL). Saat awal, SPH dan SPL akan bernilai 0, sehingga perlu diinisialisasi terlebih dahulu. SPH merupakan byte atas / Most Significant Bit (MSB), sedangkan SPL merupakan byte bawah / Least Significant Bit (LSB). Hal ini hanya berlaku untuk AVR dengan kapasitas SRAM lebih dari 256 byte.
2.4.4. Reset dan Osilator Eksternal Chip akan reset jika tegangan catu nol atau pin RST dipaksa 0 [6]. Jika membutuhkan tombol reset, dapat ditambah dengan rangkaian reset seperti pada Gambar 2.7.
Gambar 2.7. Rangkaian reset [6]
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
15
2.4.5. Timer ATmega8535 AVR ATMega8535 memiliki 3 buah timer, yaitu Timer/Counter0 (8 bit), Timer/Counter1 (16 bit), dan Timer/Counter2 (8 bit) [6].
2.4.5.1.
Timer/Counter1 Timer/Counter1 adalah Timer/Counter 8 bit yang multifungsi [6]. Fitur-fitur dari
Timer/Counter1 pada ATmega8535 adalah sebagai berikut. a. Counter 1 kanal. b. Timer di-nol-kan saat proses pembanding tercapai (compare match). c. Sebagai pembangkit gelombang PWM. d. Sebagai pembangkit frekuensi. e. Clock prescaler 10 bit. f. Sumber interupsi dari compare match (OCF0) dan overflow (TOV0).
2.4.5.2. 1.
Register Pengendali Timer/Counter1
Timer/Counter 1 Control Register A – TCCR1A
Tabel 2.6. Register TCCR1A [6]
Bit 7:6 – COM1A1:0: Compare Output Mode for channel A Bit 5:4 – COM1B1:0: Compare Output Mode for channel B Bit-bit ini bertugas mengendalikan sifat/kelakuan pin OC1A atau OC1B yang berhubungan dengan mode operasi yang digunakan .
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
16
Tabel 2.7. Normal dan CTC [6]
Tabel 2.8. Mode fast PWM [6]
Tabel 2.9. Mode phase correct dan phase & frekuensi correct PWM [6]
Bit 3 – FOC1A: Force Output Compare for channel A Bit 2 – FOC1B: Force Output Compare for channel B Bit – FOC1A/FOC1B hanya dapat digunakan ketika menggunakan mode operasi nonPWM. Jika bit-bit ini di-set maka akan memaksa terjadinya compare match. Bit 1:0 – WGM11:0: Waveform Generator Mode Kedua bit ini bersamaan dengan bit WGM13:12 dalam register TCCR1B berguna untuk memilih mode operasi yang akan kita gunakan [6].
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
17
Tabel 2.10. Mode operasi [6] WGM WGM
WGM
WGM
Mode
13
12
11
10
Operasi
0
0
0
0
Normal
TOP
Update
Set flag
OCR1x
TOV1
0xFFFF
immidiet
MAX
0x03FF
TOP
BOTTOM
OCR1A
immidiet
MAX
0x00FF
BOTTOM
TOP
0x01FF
BOTTOM
TOP
0x03FF
BOTTOM
TOP
ICR1
BOTTOM
BOTTOM
OCR1A
BOTTOM
BOTTOM
ICR1
TOP
BOTTOM
OCR1A
TOP
BOTTOM
PWM Phase 0
0
1
1
Correct 10bit
0
1
0
0
CTC Fast PWM
0
1
0
1
8-bit Fast PWM
0
1
1
0
9-bit Fast PWM
0
1
1
1
10-bit PWM Phase
1
0
0
0
& Frequency Correct PWM Phase
1
0
0
1
& Frequency Correct
1
0
1
0
PWM Phase Correct
1
0
1
1
PWM Phase Correct
1
1
0
0
CTC
ICR1
immidiet
MAX
1
1
1
0
Fast PWM
ICR1
BOTTOM
TOP
1
1
1
1
Fast PWM
OCR1A
BOTTOM
TOP
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
18
2. Timer/Counter 1 Control Register B – TCCR1B Tabel 2.11. Register TCCR1B [6]
Bit 7 – INC1: Input Capture Noise Canceler Penge-set-an bit ini akan mengaktifkan Input Capture Noise Canceler pada saat menggunakan mode normal yang capture event [6]. Di mana noise canceler akan memfilter triger yang masuk ke pin ICP1 akan disaring selama 4 siklus clock, jika selama 4 siklus clock tersebut trigernya berubah maka akan diabaikan. Bit 6 – ICES1: Input Capture Edge Select Bit ini mendefinisikan triger yang masuk ke pin ICP1 (PB0) yang digunakan untuk menangkap kejadian (capture event). Jika ICES1=0 maka falling edge (perpindahan dari 1 ke 0) digunakan sebagai triger dan jika ICES1=1 maka rising edge (perpindahan dari 0 ke 1) digunakan sebagai triger. Ketika ada triger pada pin ICP1 (PB0) maka secara otomatis oleh CPU isi register pencacah TCNT1 akan disalin ke register penangkap ICR1 dan juga berkebalikan pada flag status ICF1 yang digunakan untuk interupsi capture event. Bit 5 – Reserved Bit Tidak digunakan Bit 4:3 – WGM13:2: Waveform Generator Mode Lihat tabel Mode Operasi Bit 2:0 – CS12:0: Clock Select Bit-bit ini bertugas untuk memilih/mendefinisikan/prescaler pulsa/clock yang masuk ke dalam register TCNT1.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
19
Tabel 2.12. Prescaler timer/counter1 [6]
3. Output Compare Register 1 A – OCR1AH and OCR1AL Tabel 2.13. Register 1A [6]
4. Output Compare Register 1 B – OCR1BH and OCR1BL Tabel 2.14. Register 1 B [6]
Register ini bertugas sebagai register pembanding yang bisa kita tentukan besarnya sesuai dengan kebutuhan [6]. Dalam praktiknya pada saat TCNT1 (TCNT1H:TCNT1L) mencacah maka otomatis oleh CPU akan dibandingkan dengan isi OCR1 (OCR1H:OCR1L) secara kontinyu dan jika isi TCNT1 sama dengan isi OCR1 maka akan terjadi compare match yang dapat dimanfaatkan untuk mode CTC dan PWM. 5. Input Capture Register 1 –ICR1H and ICR1L Tabel 2.15. Register 1 [6]
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
20
Register ICR1 (ICR1H:ICR1L) akan selau diperbarui dengan isi register pencacah TCNT1 (pada saat tersebut) sewaktu terjadi triger (capture event) pada pin ICP1 [6]. Register ICR1 juga mempunyai fungsi lain untuk mendefinisikan TOP value pada mode tertentu (lihat tabel mode operasi). 6. Timer/Counter Interrupt Mask Register – TIMSK Tabel 2.16. Register TIMSK [6]
Bit 5 – TICIE1: T/C1, Input Capture Interrupt Enable Bit ini berguna untuk meng-aktif-kan interupsi input capture (penangkap kejadian pada pin ICP1/PB0) ketika bit di-set [6]. Bit 4 – OCIE1A: T/C1, Output Compare A Match Interrupt Enable Bit ini berguna untuk meng-aktif-kan interupsi Output Compare A Match ketika bit ini di-set. Bit 3 – OCIE1B: T/C1, Output Compare B Match Interrupt Enable Bit ini berguna untuk meng-aktif-kan interupsi Output Compare B Match ketika bit ini di-set. Bit 2 – TOIE1: Timer/Counter1, Overflow Interrupt Enable Bit ini berguna untuk meng-aktifkan interupsi overflow TCNT1 ketika bit ini di-set. 7. Timer/Counter Interrupt Flag Register – TIFR Tabel 2.17. Register TIFR [6]
Bit 5 – ICP1: T/C1, Input Capture Flag
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
21
Bit ini akan set secara otomatis ketika menagkap triger pada pin ICP [6]. Bit ini akan clear juga secara otomatis ketika mengeksekusi vektor interupsi input capture. Untuk meng-clear secara manual bit ini maka bit ini harus di-set. Bit 4 – OCF1A: T/C1, Output Compare A Match Flag Bit ini akan set secara otomatis ketika terjadi compare match a. Bit ini akan clear juga secara otomatis ketika mengeksekusi vektor interupsi output compare A. Untuk mengclear secara manual bit ini hars di-set. Bit 3 – OCF1B: Timer/Counter1, Output Compare B Match Flag Bit ini akan set secara otomatis ketika terjadi compare match b. Bit ini akan clear juga secara otomatis ketika mengeksekusi vektor interupsi output compare B. Untuk mengclear secara manual bit ini maka bit ini harus di-set. Bit 2 – TOV1: Timer/Counter1, Overflow Flag Bit ini akan set secara otomatis ketika terjadi overflow pada register pencacah TCNT1. Bit ini akan clear juga secara otomatis ketika mengeksekusi vektor overflow timer/counter 1. Untuk meng-clear secara manual bit ini maka bit ini harus di-set.
2.4.5.3.
Mode Operasi
1. Mode Normal Normal Overflow: Dalam
mode
ini
register
pencacah
TCNT1
bekerja
secara
normal
selalu
mencacah/menghitung ke-atas atau counting-up hingga mencapai nilai maksimal 0xFFFF lalu 0x0000 lagi atau yang disebut overflow yang menyebabkan flag-TOV1 secara otomatis set yang menandakan terjadinya interupsi jika interupsi timer/counter1 overflow diaktifkan [6]. Nilai TCNT1 tidak harus selalu 0x0000 namun bisa kita tentukan misalnya 0xF89 atau berapapun sesuai kebutuhan. Normal compare match: Dalam mode ini register TCNT1 bekerja seperti mode normal overflow, hanya jika kita isi register OCR1x(x= A atau B) maka ketika TCNT1==OCR1x maka akan terjadi compare
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
22
match yang menyebabkan flag OCF1x secara otomatis set yang menandakan terjadinya interupsi jika interupsi timer1 compare match x diaktifkan. Ketika compare match dalam mode ini TCNT1 akan terus menghitung hingga overflow dan mulai dari nol lagi. Kita dapat mengaktifkan ketiga interupsi ini secara bersamaan (overflow, compare match A dan B). Mode normal input capture: Pada mode ini timer selalu mencacah ke atas (counting-up) dari BOTTOM (0x0000) hingga MAX (0xFFFF) lalu mulai dari BOTTOM lagi. Jika meng-aktif-kan interupsi input capture ketika pada saat ada triger pada pin ICP1 maka CPU akan menyalin (copy) isi TCNT1 pada saat itu ke register pengkap ICR1. 2. Mode CTC (Clear Timer on Compare match) Dalam mode ini register pencacah TCNT1 mencacah naik (counting-up) hingga mencapai TOP (nilai TCNT1 sama dengan nilai OCR1 yang kita tentukan) lalu kemudian TCNT1 nol lagi yang akan otomatis men-set flag OCF1 dan akan membangkitkan interupsi timer/counter1 compare match jika diaktifkan. Frekuensi CTC dihitung dengan menggunakan persamaan berikut:
=
.
.(
_ /
)
(2.1)
Dimana F clk_i/o adalah frekuensi clock chip yang kita gunakan. N adalah prescaler sumber clock yang kita gunakan (1, 8, 64, 256, 1024). 3. Fast PWM Mode Timer/counter1 dalam mode fast PWM digunakan untuk mengendalikan lama t on dan t off melaui isi register pembanding OCR1A atau OCR1B yang akan berakibat kepada besar duty cycle yang dihasilkan. Untuk chanel (saluran) PWM timer/counter1 adalah pin OC1A atau OC1B sebagai keluaran saluran PWM. Dalam mode fast PWM sifat cacahan register pencacah TCNT1 mencacah dari BOTTOM (0x0000) terus mencacah naik (counting-up) hingga mencapai TOP (nilai maksimal yang ditentukan sesuai resolusi yang diinginkan,
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
23
misalnya resolusinya 10 – bit maka nilai TOP=0x01FF) kemudian mulai dari BOTTOM lagi dan begitu seterusnya atau yang dinamakan single slope (satu arah cacahan). Resolusi fast PWM dapat ditentukan dengan resolusi yang sudah tetap seperti 8-, 9-, 10bit atau bisa kita tentukan melalui register ICR1 atau OCR1A. Resolusi minimal yang diizinkan adalah 2-bit (ICR1 atau OCR1A diisi 0x0003), dan resolusi maksimal yang diizinkan adalah 16-bit (ICR1 atau OCR1A diisi 0xFFFF). Resolusi dapat dihitung dengan menggunakan persamaan berikut: (
=
( )
)
(2.2)
Dalam mode non-inverting saluran keluaran PWM pin OC1x di-clear pada saat compare match (TCNT1==OCRx) dan di-set ketika BOTTOM (TCNT1=0x0000).
Gambar 2.8. Pulsa fast PWM [6] Dalam mode inverting saluran keluaran PWM pin OC1x di-set pada saat compare match (TCNT1==OCRx) dan di-clear ketika BOTTOM (TCNT1=0x0000). Secara kasar kita bedakan non-inverting dengan inverting dalam mode fast PWM yaitu dilihat dari bentuk pulsanya, di mana PWM non-inverting yang kita kendalikan adalah lama t on – nya melalui isi OCR1x, sedangkan PWM inverting yang kita kendalikan adalah lama t off – nya melalui isi OCR1x. Frekuensi fast PWM dihitung dengan menggunakan persamaan berikut:
=
.(
_ /
)
Dimana F clk_i/o adalah frekuensi clock chip yang kita gunakan.
(2.3)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
24
N adalah prescaler sumber clock yang kita gunakan (1, 8, 64, 256, 1024). 4. Phase Correct PWM Mode Pada mode ini sama dengan “phase & frequency correct PWM” pada cara operasi cacahan register TCNT1 menggunakan dual slope (dua arah/bolak-balik) di mana TCNT1 mencacah dari BOTTOM (0x0000) counting-up hingga mencapai TOP (resolusi yang digunakan) kemudian counting-down hingga BOTTOM (0x0000) dan begitu seterusnya. Resolusi mode phase correct PWM dapat kita tentukan secara tetap 8-, 9-, 10-bit atau kita tentukan menggunakan register ICR1 atau OCR1A dimana resolusi minimal yang diizinkan adalah 2-bit (ICR1/OCR1A diisi dengan 0x0003) dan maksimal 16-bit (ICR1/OCR1A diisi dengan 0xFFFF). Rumus untuk menentukan resolusi mode phase correct PWM.
=
(
( )
)
(2.4)
Dalam mode non-inverting saluran keluaran PWM pin OC1x di-clear pada saat compare match (TCNT1=OCRx) ketika counting-up dan di-set pada saat compare match ketika counting down.
Gambar 2.9. Pulsa phase correct PWM [6] Dalam mode inverting saluran keluaran PWM pin OC1x di-set pada saat compare match (TCNT1=OCRx) ketika counting-up dan di-clear pada saat compare match ketika counting-down. Frekuensi mode phase correct PWM ditentukan dengan rumus:
=
.
_ /
.
(2.5)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
25
5. Phase and Frequency Correct PWM Mode Mode ini sama dengan mode phase correct PWM, hanya berbeda pada waktu pengupdate-tan register OCR1x, di mana mode “phase & frequency correct PWM” register OCR1x disangga (buffer) sehingga berakibat pada pulsa awal peng-update-tan menjadi simetrik. Pada mode phase correct PWM pada pulsa awal peng-update-tan tidak simetrik tapi pulsa selanjutnya simetrik (normal). Untuk semua mode PWM yang perlu diperhatikan dalam mengubah-ubah nilai TOP adalah tidak boleh di bawah nilai compare match (register pembanding OCR1x), jika hal ini terjadi maka tidak akan terjadi compare match untuk periode cacahan TCNT1 selanjutnya. Begitu pula untuk mengubah nilai compare match, tidak boleh di atas nilai TOP, jika hal ini terjadi maka tidak akan terjadi compare match untuk periode cacahan TCNT1 selanjutnya. Untuk flag-flag status akan set berhubungan dengan register-register yang digunakan, misalnya OCF1x berhubungan dengan compare match OCR1x, ICF1 berhubungan dengan nilai TOP, dan flag TOV1 akan set ketika TCNT1 mencacah kembali ke BOTTOM. Flagflag tersebut dapat kita manfaatkan untuk membangkitkan interupsi yang berhubungan.
2.4.5.4.
Interupsi ATmega8535 memiliki 21 buah sumber interupsi [6]. Interupsi tersebut bekerja
jika bit 1 pada Register status atau Status Register (SREG) dan bit pada masing-masing register bernilai 1. Penjelasan sumber interupsi terdapat pada Tabel 2.18. Tabel 2.18. Sumber interupsi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
26
2.4.6. Osilator Mikrokontroler Rangkaian osilator adalah rangkaian pembangkit frekuensi untuk menentukan besarnya waktu untuk tiap siklus pada mikrokontroler [6]. Waktu yang dibutuhkan tiap satu siklus dapat dicari dengan persamaan : TCycle = dengan
(2.6)
adalah frekuensi osilator pada mikrokontroler.
2.4.7. Analog to Digital Converter Analog To Digital Converter (ADC) pada ATmega8535 terhubung ke sebuah multiplekser analog yang diperlukan untuk memilih kanal ADC yang akan digunakan [6]. ATmega8535 memiliki 8 kanal ADC. ADC ATmega8535 dapat diaktifkan dengan memberikan supply tegangan pada port ADC. ADC memiliki dua jenis mode yang dapat digunakan, yaitu mode single conversion dan mode free running [6]. Pada mode single conversion, ADC harus diaktifkan setiap kali akan digunakan. Pada mode free running, ADC cukup diaktifkan sekali dan selanjutnya ADC akan terus mengkonversi tanpa henti. Pada saat mengakses ADC, register-register I/O yang terlibat dalam ADC akan mengalami beberapa proses pengaturan. Proses-proses pengaturan tersebut antara lain [6]: a. Menentukan sumber tegangan referensi Tegangan referensi pada ADC merupakan batas rentang representasi nilai digital hasil konversi. Hasil konversi pada mode single ended cenversion dirumuskan sebagai berikut: ADC
VIN 1024 VREF
(2.7)
dengan VIN adalah tegangan masukkan analog pada kanal ADC yang aktif dan VREF adalah tegangan referansi yang dipilih.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
27
Tabel 2.19. Konfigurasi bit-bit ADMUX [6] MUX4 0 0 0 0 0 0 0 0
MUX3 0 0 0 0 0 0 0 0
MUX2 0 0 0 0 1 1 1 1
MUX1 0 0 1 1 0 0 1 1
MUX0 0 1 0 1 0 1 0 1
Kanal aktif ADC0 ADC1 ADC2 ADC3 ADC4 ADC5 ADC6 ADC7
b. Memilih kanal yang aktif Kanal yang aktif ditentukan oleh bit-bit MUX4-MUX0 pada register ADMUX. Tabel 2.19. menunjukkan konfigurasi bit-bit tersebut. c. Menentukan prescaler Prescaler (clock ADC) merupakan faktor pembagi yang diterapkan pada clock mikrokontroler. ADC mikrokontroler harus menerima frekuensi clock yang tepat agar data hasil konversi cukup valid. Nilai prescaler ditentukan oleh bit-bit ADC Prescaler Select Bits (ADPS). Tabel 2.20. menunjukkan konfigurasi bit-bit ADPS. Tabel 2.20. Konfigurasi bit-bit ADPS [6] ADPS2
ADPS2
ADPS2
0 0 0 0 0 0 1 1 1 1
0 0 0 0 1 1 0 0 1 1
0 1 0 1 0 1 0 1 0 1
Nilai Prescaler 2 2 2 2 4 8 16 32 64 128
d. Inisialisasi ADC Untuk mengaktifkan ADC, bit ADC Enable (ADEN) harus diberi logika ‘1’ (set). Untuk memulai ADC, logika ‘1’ juga harus diberikan pada bit ADC Start Conversion (ADSC).
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
28
Waktu yang diperlukan untuk konversi adalah 25 siklus clock ADC pada konversi pertama dan 13 siklus clock ADC untuk konversi berikutnya.
2.5.
Rangkaian Pembagi Tegangan Rangkaian
pembagi tegangan digunakan untuk memperoleh
tegangan yang
diinginkan dari suatu sumber tegangan yang besar [7]. Gambar 2.10. memperlihatkan bentuk rangkaian pembagi tegangan.
Gambar 2.10.Rangkaian pembagi tegangan [7] Rumus dari rangkaian pembagi tegangan : =
(2.8)
dimana Vout dalah tegangan output yang diinginkan.
2.6.
Operational Amplifier Operational amplifier (op-amp) pada dasarnya adalah sebuah differential amplifier
(penguat differential) yang memiliki 2 buah terminal input [8]. Terminal input op-amp terdiri dari input inverting (-) dan input non-inverting (+). Gambar 2.11. menunjukkan simbol dan rangkaian pengganti dari op-amp.
(a). Simbol op-amp (b). Rangkaian pengganti op-amp Gambar 2.11. Op-amp[8]
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
29
Karakteristik dari op-amp ideal adalah sebagai berikut: a. Op-amp ideal memiliki open loop gain (penguatan loop terbuka) yang besarnya tak terhingga. Penguatan yang besar ini membuat op-amp menjadi tidak stabil dan penguatannya menjadi tidak terukur (infinite). Untuk membuat op-amp menjadi aplikasi yang memiliki nilai penguatan yang terukur (finite), op-amp memerlukan rangkaian umpan balik negatif (negative feedback). b. Besarnya impedansi input op-amp ideal adalah tak terhingga, sehingga tidak ada arus yang masuk pada kedua terminal input.
2.7.
Komparator Rangkaian dengan op-amp dapat digunakan sebagai pembanding tegangan yang akan
membandingkan tegangan masukan (Vin) dengan tegangan referensi (Vref) [8]. Tegangan keluaran (Vo) tergantung besarnya Vin apakah lebih besar daripada Vref atau lebih kecil dari Vref.
Gambar 2.12. Op-amp komparator dan karakteristik tegangan output (Vo) [8] Gambar 2.12. memperlihatkan 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.13. menunjukkan grafik antara Vin, Vout, dan Vref.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
30
Gambar 2.13. Grafik Vout dan Vin yang sudah dibandingkan dengan Vref [8]
2.8.
Penguat Non – Inverting Rangkaian non – inverting ini hampir sama dengan rangkaian inverting hanya
perbedaannya adalah terletak pada tegangan inputnya dari masukan non inverting [8]. Gambar 2.14. menunjukan rangkaian penguat non – inverting.
Gambar 2.14. Non – inverting amplifier [8] Rumus perhitungan penguat non – inverting : = 1+ dimana
adalah tegangan output dari penguat non – inverting dan
(2.9) adalah tegangan input
yang akan dikuatkan.
2.9.
IC LM339 IC LM339 biasa disebut sebagai komparator. IC LM339 memiliki 4 buah op-amp di
dalamnya [9]. Satu buah komparator terdiri dari 2 input, yaitu Vin (input dari sensor) dan Vref (tegangan referensi). IC LM339 berfungsi untuk membandingkan antara Vin dan Vref pada
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
31
op-amp. Pada dasarnya, jika tegangan Vin lebih besar dari Vref, maka Vo akan mengeluarkan logika 1 yang berarti 5 Volt atau setara dengan Vcc. Sebaliknya, jika tegangan Vin lebih kecil dari Vref, maka output Vo akan mengeluarkan logika 0 yang berarti 0 Volt. Gambar 2.15. menunjukkan konfigurasi IC LM339.
Gambar 2.15. Konfigurasi IC LM339 [9]
2.10. Keypad Keypad 4x4 memiliki konfigurasi tombol-tombol yang tersusun secara matrik 4x4 sehingga hanya dibutuhkan 4 pin masukan dan 4 pin keluaran dengan 16 variasi keadaan [6]. Antarmuka keypad 4x4 pada program dilakukan dengan sistem scanning. Gambar 2.16. menunjukkan skema data keypad dari baris dan kolom yang akan diproses oleh mikrokontroler.
Gambar 2.16. Keypad 4x4 [6]
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
32
2.11. IC Driver L298 IC driver L298 memiliki kemampuan menggerakkan motor DC sampai arus 4A dan tegangan maksimum 46V DC untuk satu kanalnya [10]. Rangkaian driver motor DC dengan IC L298 diperlihatkan pada Gambar 2.17. Pin Enable A dan B untuk mengendalikan jalan atau kecepatan motor, pin input 1 sampai 4 untuk mengendalikan arah putaran. Pin enable diberi VCC 5V untuk kecepatan penuh dan Pulse Width Modulation (PWM) untuk kecepatan rotasi yang bervariasi tergantung dari levelnya.
Gambar 2.17. IC driver L298 [10]
2.12. Sensor Flexiforce Sensor flexiforce merupakan sebuah sensor gaya (force) atau beban (load), sensor ini berbentuk printed circuit yang sangat tipis dan fleksibel [11]. Sensor flexiforce sangat mudah diimplementasikan untuk mengukur gaya tekan antara dua permukaan dalam berbagai aplikasi. Sensor flexiforce bersifat resistif dan nilai konduktansinya berbanding lurus dengan gaya/beban yang diterimanya. Semakin besar beban yang diterima sensor flexiforce, nilai hambatan output akan semakin menurun. Pada keadaan tanpa beban, resistansi sensor ini sebesar kurang lebih 20MΩ . Ketika diberi beban maksimum, resistansi sensor akan turun hingga kurang lebih 20KΩ. Rating beban maksimum sensor flexiforce bermacam-macam, yaitu 1 lb. (4,4 N), 25 lb. (110 N) dan 100 lb. (440N). Persamaan untuk memperoleh tegangan output sensor (Vo) sebagai berikut : = −
∗( )
(2.10)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
33
dengan Rf adalah hambatan tegangan referensi pada op-amp dan Rs adalah hambatan pada tegangan masukan pada op-amp, dan VT adalah tegangan input sensor. Gambar 2.18. menunjukkan bentuk dari sensor flexyforce. Gambar 2.19. menunjukkan nilai resistansi keluaran flexiforce berbanding terbalik dengan gaya yang diterima. Jika sensor mendapatkan gaya semakin besar, maka nilai resistansi akan semakin kecil. Jika sensor mendapatkan gaya semakin kecil, maka nilai resistansi akan semakin besar.
Gambar 2.18. Sensor flexiforce [12]
Gambar 2.19. Grafik perbandingan hambatan dengan gaya [11]
2.13. Sensor Jarak Ultrasonik PING Sensor jarak ultrasonik ping adalah sensor 40 Khz produksi Parallax yang banyak digunakan untuk aplikasi atau kontes robot cerdas [12]. Kelebihan sensor ini adalah hanya
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
34
membutuhkan 1 sinyal (SIG) selain jalur 5V dan ground. Gambar 2.20. menunjukkan gambar dan instalasi sensor ping.
Gambar 2.20. Instalasi sensor ping [12] Sensor ping mendeteksi jarak objek dengan cara memancarkan gelombang ultrasonik (40 KHz ) selama t = 200us kemudian mendeteksi pantulannya. Sensor ping memancarkan gelombang ultrasonik sesuai dengan kontrol dari mikrokontroler pengendali (pulsa trigger dengan tout mininimal 2us). Gambar 2.21. menunjukkan grafik prinsip kerja sensor ping.
Gambar 2.21. Grafik prinsip kerja sensor ping [12]
2.14. Motor DC Motor DC merupakan jenis motor yang menggunakan tegangan searah sebagai sumber tenaganya [13]. Dengan memberikan beda tegangan pada kedua terminal tersebut, motor akan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
35
berputar pada satu arah, dan bila polaritas dari tegangan tersebut dibalik maka arah putaran motor akan terbalik pula. Polaritas dari tegangan yang diberikan pada dua terminal menentukan arah putaran motor sedangkan besar dari beda tegangan pada kedua terminal menentukan kecepatan motor. Gambar 2.22. menunjukkan konstruksi motor DC.
Gambar 2.22. Konstruksi motor DC [13] Motor DC memiliki 2 bagian dasar : 1. Bagian yang tetap/stasioner yang disebut stator. Stator ini menghasilkan medan magnet, baik yang dibangkitkan dari sebuah koil (elektro magnet) ataupun magnet permanen. 2. Bagian yang berputar disebut rotor. Rotor ini berupa sebuah koil dimana arus listrik mengalir.
2.15. Fotodioda (Photodiode) Fotodioda adalah salah satu alat yang dibuat untuk berfungsi paling baik berdasarkan kepekaannya terhadap cahaya [14]. Pada dioda 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 dalam material transparan, sehingga memungkinkan cahaya mengenainya (sedangkan pada dioda biasa, kotaknya berupa logam atau plastik). Pada saat dihubungkan dengan rangkaian listrik, fotodioda dapat digunakan untuk menghasilkan sinyal listrik yang besarnya tergantung pada jumlah cahaya yang mengenainya. Gambar 2.23. menunjukan lambang skematis fotodioda. Panah yang mengarah ke dalam melambangkan cahaya yang datang. Sumber dan tahanan seri
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
36
memberikan prategangan balik pada fotodioda. Bila cahaya makin cerah, arus balik naik. Dalam fotodioda yang lazim, arus balik tersebut besarnya berkisar pada nilai puluhan mikroamper.
Gambar 2.23. Simbol dan rangkaian fotodioda [14]
2.16. Light Emiting Diode (LED) LED adalah dioda berprategangan maju, dimana elektron bebas melintasi sambungan dan jatuh ke dalam lubang (hole) [14]. Ketika elektron jatuh dari tingkat energi tinggi ke rendah, 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 2.24. menunjukkan simbol LED.
Gambar 2.24. Simbol LED [14]
2.17. Optocoupler Optocoupler disebut juga optoisolator adalah komponen yang terdiri dari dioda pemancar radiasi sinar inframerah (LED) dan fotodioda atau fototransistor sebagai penerima dalam satu kemasan [14]. Dengan LED pada sisi masukan dan fotodioda pada sisi keluaran. Perhatikan Gambar 2.25., tegangan sumber V1 dan tahanan seri R1 menghasilkan arus melalui
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
37
LED. Sebagai gantinya, cahaya dari LED mengenai fotodioda, dan ini menyebabkan timbulnya arus balik I2.
Gambar 2.25. Rangkaian optocoupler [14] Persamaan dari rangkaian optocoupler : −
− =
atau
=0
(2.11)
−
dengan Vo adalah tegangan output dari fotodioda, I2 adalah arus yang mengalir pada fotodioda.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
BAB III PERANCANGAN Sistem ini akan menggunakan kendali jarak jauh dengan memanfaatkan suatu frekuensi bebas 2,4 Ghz untuk pengiriman data. Perancangan sistem tempat sampah berjalan menggunakan sistem komunikasi radio dengan frekuensi 2,4 GHz terdiri dari 2 bagian utama, yaitu: bagian perancangan perangkat keras (rangkaian pengirim, rangkaian penerima, dan line follower) dan bagian perancangan perangkat lunak. Bagian perangkat keras terdiri atas: sensor jalur, sensor berat, sensor ultrasonik, rangkaian pengondisi sinyal, rangkaian komparator, rangkaian driver, mikrokontroler ATmega8535, modul XBee PRO, tombol, dan LCD sebagai penampil informasi yang telah dikirimkan. Sistem menggunakan sensor ultrasonik sebagai pendeteksi benda yang masuk ke tempat sampah dan sensor berat sebagai pembatas maksimal beban yang dapat dibawa oleh robot. Mikrokontroler memproses hasil keluaran dari sensor yang bekerja dan melanjutkan kepada driver untuk mengatur kecepatan putar motor. Robot akan dikendalikan secara jarak jauh menggunakan jaringan nirkabel. Jika user telah membuang sampah, maka robot akan kembali ke base. Jika berat melebihi batas maksimum, maka robot tidak akan berjalan. Penelitian ini menggunakan tiga buah mikrokontroler. Mikrokontroler 1 digunakan pada rangkaian XBee pengirim, mikrokontroler 2 digunakan pada rangkaian XBee penerima, dan mikrokontroler 3 digunakan pada robot line follower.
3.1.
Diagram Blok Diagram blok pengendali jarak jauh dalam perancangan ini terdiri dari 2 bagian yaitu
modul pemancar dan modul penerima. Diagram blok modul pemancar ditunjukkan pada Gambar 3.1., diagram blok modul penerima ditunjukkan pada Gambar 3.2., dan diagram blok robot line follower ditunjukkan pada Gambar 3.3. Tombol 1 Mikrokontroler 1
Tombol 2
Modul XBee Pemancar
Gambar 3.1. Diagram blok pemancar 38
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Modul XBee Penerima
39
Robot Line Follower Mikrokontroler 2
Tempat Sampah
Gambar 3.2. Diagram blok penerima
Sensor proximity
Mikrokontroler 2
Komparator
Sensor ultrasonik
Sensor berat
Mikrokontroler 3
Pengondisi sinyal
Driver
Motor DC
Gambar 3.3. Diagram blok line follower Diagram blok modul pemancar terdiri dari tombol, IC mikrokontroler ATmega8535 sebagai IC pengatur pengiriman data, dan modul XBee PRO sebagai pemancar sinyal. Keypad sebagai input untuk menentukan titik pemberhentian, dan output berupa 1 buah LCD sebagai penampil untuk user. Diagram blok modul penerima terdiri dari modul XBee PRO sebagai penerima sinyal, IC mikrokontroler ATmega8535 sebagai pengolah data untuk menentukan titik pemberhentian robot, dan LCD sebagai penampil untuk user.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
40
Sistem ini akan bekerja jika mikrokontroler 1 pada modul pemancar menerima data dari tombol dan kemudian mikrokontroler 1 akan megolah data tersebut sebagai input untuk modul XBee PRO. Kemudian modul XBee PRO akan mengirimkan data sesuai data yang dikirim oleh mikrokontroler 1. Setelah modul pemancar mengirimkan data melalui frekuensi 2,4 Ghz, modul penerima akan menerima data yang dikirim. Data yang telah diterima kemudian akan diolah oleh mikrokontroler 2 sebagai data titik pemberhentian line follower. Line follower yang telah menerima data dari mikrokontroler 2 akan langsung menuju titik pemberhentian. Ketika robot telah sampai pada titik pemberhentian, buzzer akan berbunyi sebagai penanda bahwa robot telah sampai. Ketika user memasukkan sampah, mikrokontroler 3 akan mengolah data tersebut dan buzer akan berhenti menyala. Jika sampah yang diterima tidak melebihi batas maksimum kemampuan robot, maka robot akan segera kembali menuju base.
3.2.
Perancangan Perangkat Keras
3.2.1. Robot Line Follower dan Letak Sensor Gambar 3.4. memperlihatkan model line follower dan sensor pada robot line follower. Sensor flexyforce yang digunakan pada perancangan ini diletakkan di bawah kotak sampah. Sensor ultrasonik diletakkan di dalam kotak sampah.
Gambar 3.4. Rancangan robot line follower
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
41
Keterangan gambar : 1. Sensor flexy force 2. Sensor ping 3. Tempat sampah
3.2.2. Track Robot Perancangan track robot pada penelitian ini menggunakan garis hitam diatas putih. Pada track robot terdapat dua buah pos yaitu Pos 1 dan Pos 2 sebagai titik pemberhentian robot. Start robot akan dimulai dari base yang ditentukan sebagai titik awal robot dan titik pemberhentian terakhir robot.
Gambar 3.5. Track robot Gambar 3.5. menunjukkan perancangan track robot. Track robot akan dirancang dengan lebar 1,5m dan panjang 2m. Jalur hitam robot akan dibuat dengan lebar 3cm menggunakan selotip berwara hitam. Lebar jalur pada setiap pos adalah 3cm dengan panjang 6cm, sedangkan lebar jalur pada base adalah 3cm dengan panjang 10cm.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
42
3.2.3. Rangkaian Pemancar Xbee PRO Rangkaian
pemancar
XBee
PRO
berfungsi
menjalankan
mikrokontroler
1
ATmega8535 yang telah diprogram untuk pengendalian sistem pada rangkaian pemancar. Mikrokontroler 1 ATmega8535 mengolah data input yang berasal dari tombol, modul XBee PRO, indikator LED, dan penampil LCD. Mikrokontroler 1 membutuhkan sistem minimum yang terdiri dari rangkaian eksternal, yaitu resistor pulldown, rangkaian osilator, dan rangkaian reset. Rangkaian pemancar XBee PRO berfungsi sebagai komunikasi serial dengan rangkaian penerima XBee PRO. Nilai baudrate yang digunakan dalam penelitian ini adalah 9600. Pengaturan nilai baudrate dilakukan menggunakan software XCTU. Mikrokontroler 1 ATmega8535 memiliki rangkaian osilator internal (On Chip Osilator) yang dapat digunakan sebagai sumber clock bagi CPU. Untuk dapat menggunakan osilator internal, harus ditambahkan sebuah kristal dan dua buah kapasitor pada pin XTAL 1 dan pin XTAL 2. Rangkaian osilator pada perancangan ini menggunakan kristal 11.0592 MHz dan dua buah kapasitor 22 pF seperti yang ditunjukkan oleh Gambar 3.6 [16].
Gambar 3.6. Rangkaian osilator pemancar XBee PRO Selain itu, tersedia juga fasilitas reset yang bertujuan untuk memaksa proses kerja pada mikrokontroler diulang dari awal. Bila tombol reset ditekan, maka pin reset akan mendapat input logika rendah, sehingga mikrokontroler 1 akan mengulang proses eksekusi program dari awal. Gambar 3.7. menunjukkan rangkaian reset untuk pemancar XBee PRO.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
43
Gambar 3.7. Rangkaian reset pemancar XBee PRO [6]
Gambar 3.8. Rangkaian pemancar Xbee PRO Gambar 3.8. menunjukkan rangkaian pemancar Xbee PRO. Rangkaian pemancar Xbee PRO berfungsi sebagai pemancar untuk komunikasi serial dengan rangkaian penerima. Rangkaian ini menggunakan tombol sebagai input untuk mengirimkan data. Jika tombol ditekan, maka mikrokontroler 1 akan mengolah data tersebut dan mengirimkan data melalui
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
44
Xbee PRO dengan komunikasi nirkabel frekuensi 2,4 Ghz. Tombol yang digunakan adalah tombol 1 dan 2, sebagai penentu titik pemberhentian. Data yang dikirim merupakan data digital yang dikirim melalui sinyal carrier dari Xbee PRO. Tabel 3.1. menunjukkan penggunaan port-port pada mikrokontroler 1. Tabel 3.1. Penggunaan port-port pada mikrokontroler 1 No Nama Port
Keterangan
1
PortA.0 - PortA.7
LCD
2
PortC.0 - PortC.7
Tombol atau Keypad
3
PortD.0
XBee (RX)
4
PortD.1
XBee (TX)
3.2.4. Rangkaian Penerima Xbee PRO Rangkaian penerima Xbee PRO berfungsi sebagai penerima data digital yang dikirimkan oleh rangakaian pemancar Xbee PRO. Data yang diterima kemudian diolah oleh mikrokontroler 2 sebagai penentu titik pemberhentian robot yang ditampilkan LCD. PortD.0 dan portD.1 digunakan sebagai komunikasi serial antara mikrokontroler 2 dan Xbee PRO. Gambar 3.9. menunjukkan rangkaian osilator penerima Xbee PRO. Rangkaian osilator pada penerima XBee PRO dengan menggunakan kristal 11.059 MHz dan dua buah kapasitor 22 pF [16].
Gambar 3.9. Rangkaian osilator penerima XBee PRO
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
45
Pada rangkaian penerima XBee PRO terdapat juga rangkaian reset. Bila tombol reset ditekan, maka pin reset akan mendapat input logika rendah, sehingga mikrokontroler 2 akan mengulang proses eksekusi program dari awal. Gambar 3.10. menunjukkan rangkaian reset untuk penerima XBee PRO.
Gambar 3.10. Rangkaian reset penerima XBee PRO [6].
Gambar 3.11. Rangkaian penerima Xbee PRO
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
46
Gambar 3.11. menunjukkan rangkaian penerima Xbee PRO. Rangkaian penerima Xbee PRO berfungsi sebagai penerima untuk komunikasi serial dengan rangkaian pemancar. Rangkaian ini menggunakan LCD sebagai penampil data yang diterima. Data yang diterima berupa data penentuan pos atau titik pemberhentian robot. Tabel 3.2. menunjukkan penggunaan port-port pada mikrokontroler 2 ATmega8535. Nilai baudrate yang digunakan sama dengan rangkaian pemancar yaitu 9600. Tabel 3.2. Penggunaan port-port pada mikrokontroler 2 No Nama Port
Keterangan
1
PortA.0 - PortA.7
LCD
2
PortC.0
Output Data Tombol 1
3
PortC.1
Output Data Tombol 2
4
PortD.0
XBee (RX)
5
PortD.1
XBee (TX)
3.2.5. Rangkaian Minimum Sistem Line follower Rangkaian minimum sistem berfungsi sebagai pengontrol rangkaian lain pada robot line follower. Mikrokontroler 3 yang digunakan adalah IC ATmega8535. Mikrokontroler 3 akan mengolah data 8 bit dari komparator dan kemudian digunakan sebagai input dari rangkaian driver sebagai penggerak motor. Selain itu, mikrokontroler juga berfungsi sebagai pengolah data dari sensor ultrasonik dan sensor berat. Mikrokontroler ATmega8535 sudah memiliki rangkaian osilator internal (On Chip Osilator) yang dapat digunakan sebagai sumber clock bagi CPU. Untuk dapat menggunakan osilator internal, harus ditambahkan sebuah kristal dan dua buah kapasitor pada pin XTAL 1 dan pin XTAL 2. Rangkaian osilator pada perancangan ini menggunakan kristal 12 MHz dan dua buah kapasitor 22 pF seperti yang ditunjukkan oleh Gambar 3.12 [16].
Gambar 3.12. Rangkaian osilator minimum sistem
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
47
Pada rangkaian minimum sistem line follower tersedia juga fasilitas reset sama sengan rangkaian pemancar dan penerima yang bertujuan untuk memaksa proses kerja pada mikrokontroler diulang dari awal. Bila tombol reset ditekan, maka pin reset akan mendapat input logika rendah, sehingga mikrokontroler akan mengulang proses eksekusi program dari awal. Gambar 3.13. menunjukkan rangkaian reset untuk minimum sistem.
Gambar 3.13. Rangkaian reset minimum sistem [6] Secara keseluruhan gambar minimum sistem mikrokontroler 3 ATmega8535 ditunjukkan oleh Gambar 3.14 dan penggunaan port–port pada mikrokontroler 3 robot line follower ditunjukan pada Tabel 3.3. Tabel 3.3. Penggunaan port-port pada mikrokontroler 3 No Nama Port
Keterangan
1
PortA.0
Sensor Berat
2
PortB.0 - PortB.7
Komparator
3
PortC.0
Data Tombol 1
4
PortC.1
Data Tombol 2
5
PortC.5
Sensor Ultrasonik
6
PortD.0 - PortD.3
Data Driver
7
PortD.4
PWM Motor Kanan
8
PortD.5
PWM Motor Kiri
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
48
Gambar 3.14. Rangkaian minimum sistem
3.2.6. Rangkaian LCD LCD ini digunakan sebagai penampil keluaran mikrokontroler khusus untuk mode tampilan pesan. LCD yang digunakan adalah LCD yang menggunakan chip kontroler Hitachi HD44780,
misalnya
M1632.
LCD
bertipe
ini
memungkinkan
pemrogram
untuk
mengoperasikan komunikasi data secara 8 bit atau 4 bit. Jika menggunakan jalur data 4 bit, maka akan ada 7 jalur data (3 untuk jalur kontrol dan 4 untuk jalur data). Jika menggunakan jalur data 8 bit, maka akan ada 11 jalur data (3 untuk jalur kontrol dan 8 untuk jalur data). Tiga jalur kontrol ke LCD ini adalah EN (Enable), RS (Register Select), dan R/W (Read/Write).
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
49
Interface LCD merupakan sebuah parallel bus, untuk memudahkan dan mempercepat pembacaan dan penulisan data dari atau ke LCD [10]. Kode ASCII yang ditampilkan sepanjang 8 bit dikirim ke LCD secara 4 atau 8 bit pada satu waktu. Jika mode 4 bit yang digunakan, maka 2 nibble data dikirim untuk membuat menjadi 8 bit (pertama dikirim 4 bit MSB lalu 4 bit LSB dengan pulsa clock EN setiap nibblenya). Pengiriman data secara paralel baik 4 atau 8 bit merupakan 2 mode operasi primer. Penentuan mode operasi merupakan hal yang paling penting. Mode 8 bit sangat baik digunakan ketika kecepatan menjadi keutamaan dalam sebuah aplikasi dan setidaknya minimal tersedia 11 pin I/O (3 pin untuk kontrol, 8 pin untuk data). Sedangkan mode 4 bit minimal hanya membutuhkan 7 bit (3 pin untuk kontrol, 4 untuk data). Penelitian ini menggunakan mode 4 bit agar tidak terlalu banyak menggunakan port pada mikrokontroler. Interface LCD dengan mode 4 bit dapat dilihat pada Gambar 3.15.
Gambar 3.15. Interface LCD mode 4 bit
3.2.7. Sensor Jalur Sensor jalur berfungsi sebagai pendeteksi garis pada track. Sensor ini menggunakan LED sebagai pemancar dan fotodioda sebagai penerima. Pada saat sensor membaca garis
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
50
putih, sensor akan mengirim data ke komparator dengan logika high dan ketika sensor mendeteksi garis hitam, sensor akan mengirim data ke komparator dengan logika low. Sensor ini berfungsi sebagai pengendali robot agar selalu mengikuti garis hitam. Robot ini menggunakan 8 buah sensor jalur, 7 buah sensor terletak di depan, dan 1 buah sensor terletak di belakang. Rangkaian sensor jalur dapat dilihat pada Gambar 3.16. Penentuan nilai komponen resistor pada LED : Diketahui :
iLED
= 20mA
Vs
= 5V
VLED = 2,4V Sehingga :
RLED
= =
( (
, )
)
(3.1)
= 130Ω dengan iLED adalah arus yang dibutuhkan LED oleh satu buah LED agar dapat bekerja, V LED adalah tegangan yang dibutuhkan oleh satu buah LED agar dapat bekerja, dan Vs adalah tegangan sumber untuk 8 buah LED. Resistor pada LED (RLED) yang diperoleh melalui persamaan 3.1 adalah 130Ω, namun tidak terdapat dipasaran sehingga menggunakan resistor 220Ω. Jika digunakan resistor 220Ω, maka arus yang mengalir adalah 11,8mA, sehingga LED dapat menyala karena arus minimal yang dibutuhkan oleh LED adalah 10mA. Berdasakan persamaan 2.11, tegangan pada fotodioda pada saat terdeteksi garis hitam, dengan Vin (V2) = 5V, I2 = 5nA dan R2 = 10KΩ adalah : =
−
= 5 − (5 . 10 ) = 4,5V
Pada saat terdeteksi garis putih, nilai tegangan output akan berkebalikan dengan nilai pada saat terdeteksi garis hitam yaitu dengan logika low (0V).
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
51
Gambar 3.16. Rangkaian sensor jalur Berdasarkan gambar 3.16., pada saat cahaya LED belum mengenai fotodioda atau terdeteksi garis hitam, resistansi pada fotodioda sangat besar atau bisa diasumsikan tak hingga atau bagaikan saklar terbuka sehingga tidak ada arus yang mengalir, sehingga tegangan keluaran bernilai 0V. Ketika cahaya LED mengenai fotodioda atau terdeteksi garis putih, arus mengalir, sehingga tegangan keluaran bernilai sekitar 5V seperti pada perhitungan.
3.2.8. Rangkaian Komparator Komparator berfungsi sebagai pembanding antara output sensor jalur dengan tegangan referensi, tegangan referensi yang digunakan adalah 2,5V. IC yang digunakan adalah LM339. Ketika komparator menerima tegangan lebih dari 2,5V dari sensor jalur, komparator akan mengirimkan data ke mikrokontroler 3 dengan logika high (5V) dan ketika komparator menerima tegangan kurang dari 2,5V, komparator akan mengirimkan data kepada mikrokontroler 3 dengan logika low (0V). Penentuan 2,5V sebagai tegangan pembanding
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
52
diatur melalui trimpot yang berada pada rangkaian komparator atau bisa disesuaikan dengan keinginan. Gambar 3.17. menunjukkan rangkaian komparator pada bagian sebelah kanan. Rangkaian komparator bagian kanan berfungsi untuk menerima input dari sensor jalur. Rangkaian komparator bagian kiri akan menunjukkan garis putih atau garis hitam yang dideteksi oleh sensor jalur bagian kiri, dengan menggunakan indikator LED. Rangkaian komparator bagian kanan akan menerima input dari sensor jalur 1 – 4, kemudian mengeluarkan tegangan ke portB.0 – portB.3 mikrokontroler 3 pada robot.
Gambar 3.17. Rangkaian komparator
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
53
Gambar 3.17. (Lanjutan) menunjukkan rangkaian komparator pada bagian sebelah kiri. Rangkaian komparator bagian kiri berfungsi untuk menerima input dari sensor jalur. Rangkaian komparator bagian kana akan menunjukkan garis putih atau garis hitam yang dideteksi oleh sensor jalur bagian kiri, dengan menggunakan indikator LED. LED akan menyala pada saat sensor jalur mendeteksi garis putih dan LED akan mati pada saat sensor mendeteksi garis hitam. Rangkaian komparator bagian kiri akan menerima input dari sensor jalur 5 – 8, kemudian mengeluarkan tegangan ke portB.4 – portB.7 mikrokontroler 3 pada robot. Gambar 3.18. menunjukkan rangkaian pembagi tegangan dalam rangkaian komparator.
Gambar 3.17. (Lanjutan) Rangkaian komparator
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
54
Gambar 3.18. Rangkaian pembagi tegangan Penentuan komponen resistor pada rangkaian komparator : Diketahui :
Komponen
=5
ditentukan yaitu 10KΩ dan tegangan keluaran
berdasarkan persamaan 2.8 akan diperoleh nilai komponen
yang diinginkan adalah 2,5V, sebagai berikut :
= 2,5 = 2,5 = 5
2,5 ( 5
2,5 5
10 Ω 5 + 10 Ω
10 Ω + 10 Ω
+ 10 Ω) = 10 Ω +
2,5 10 Ω = 10 Ω 5
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 2,5 5
55
= 10 Ω − 5 Ω =
10 Ω − 5 Ω 0,5
= 10 Ω
Jika tidak ada arus yang mengalir dari rangkaian sensor jalur ke rangkaian komparator, maka tegangan input untuk rangkaian ini adalah 0 Volt, akibatnya pada IC tegangan di terminal (+) lebih besar dari terminal (-), maka LED menyala. Jika ada arus yang mengalir dari rangkaian sensor jalur ke rangkaian komparator, maka tegangan masukan untuk rangkaian ini mendekati Vcc, akibatnya pada IC
tegangan di
terminal (+) lebih kecil dari terminal (-), maka LED mati.
3.2.9. Rangkaian Driver Rangkaian driver berfungsi sebagai pengendali kecepatan motor menggunakan IC driver L298. Port-port yang digunakan sebagai pengendali kecepatan motor adalah PortD.4 dan port D.5. PortD.0 - portD.3 pada mikrokontroler digunakan sebagai komunikasi antara mikrokontroler dengan driver. Pin Enable diberi VCC 5 Volt untuk kecepatan penuh dan PWM (Pulse Width Modulation) untuk kecepatan rotasi yang bervariasi antara 00h – 3FFh (10 bit). Gambar 3.19. menunjukkan rangkaian driver. Motor DC membutuhkan pulsa PWM dan pengaturan OCR1A/OCR1B untuk menentukan arah putaran motor. Pengaturan program ini bertujuan untuk membangkitkan pulsa PWM yang digunakan untuk mengendalikan putaran motor. Progam ini menggunakan fasilitas Timer/Counter1 pada mikrokontroler 3. Untuk memperoleh lebar pulsa yang akan digunakan pada mode fast PWM dilakukan pengaturan register sebagai berikut : 1. TCCR1A = 0b11100000 Bit 7:6 dan bit 4:3 merupakan pengaturan keluaran pada pin OCR1A/OCR1B pada mode fast PWM.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
56
2. TCCR1B = 0b00001001 Bit 4:3 dilikukan untuk menentukan mode operasi Timer/Counter1 yaitu fast PWM. Bit 2:0 merupakan bit pengatur prescaler clock yang masuk ke dalam register TCNT1. Clock osilator yang digunakan sama dengan clock CPU yaitu 12Mhz.
.
Gambar 3.19. Rangkaian driver
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
57
Untuk menentukan frekuensi fast PWM dapat diperoleh menggunakan persamaan 2.5 sehingga diperoleh nilai sebagai berikut :
= =
. (1 +
/
)
12 ℎ 256. (1 + 1024) = 45,73
Nilai frekuensi yang diperoleh adalah 45,73 Hz, nilai frekuensi selalu berbanding terbalik dengan waktu, sehingga dapat diperoleh lebar pulsa untuk satu siklus dengan perhitungan sebagai berikut : =
=
(3.2)
.
= 21,86
Penelitian ini menggunakan 2 buah IC driver L298, hal tersebut untuk menghindari kerusakan pada IC. Kapasitas arus IC L298 adalah 4A, sedangkan kedua motor yang digunakan membutuhkan arus masing-masing adalah 2A.
3.2.10. Rangkaian Pembagi Tegangan Sensor Berat Nilai hambatan pada sensor berat pada saat beban 2Kg adalah 1MΩ, tegangan input yang digunakan adalah 5V, dan tegangan output yang diinginkan dari sensor berat adalah 1,5V. Nilai hambatan diperoleh dengan melakukan pengukuran langsung pada sensor berat yang diberi beban 2Kg. Dengan menggunakan rumus pembagi tegangan seperti persamaan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 2.8, diperoleh nilai
58
= 100KΩ. Gambar 3.20. menunjukkan rangkaian pembagi tegangan
pada sensor berat.
Gambar 3.20. Rangkaian pembagi tegangan sensor berat
3.2.11. Perhitungan Nilai ADC Pada perancangan tugas akhir ini digunakan ADC Mikrokontroler 3 ATmega8535 yang memiliki 8 kanal. ADC mikrokontroler ATmega8535 terletak di portA.0 sampai dengan portA.7 dengan tegangan masukan dari pin AVCC sebesar 5V dan tegangan referensi (
)
dari pin AREF sebesar 5V. Resolusi yang digunakan pada perancangan tugas akhir ini adalah 10 bit. Contoh perhitungan nilai ADC dengan resolusi 10 bit sebagai berikut: Tegangan masukan dari sensor sebesar 5V, tegangan referensi sebesar 5V. Nilai ADC yang akan dihasilkan berdasarkan persamaan 2.7 adalah 1024.
Nilai ADC = =
x 1024
5 x 1024 5
= 1024
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 3.3.
59
Perancangan Perangkat Lunak
3.3.1. Flowchart Utama Dalam perancangan sistem ini, perangkat lunak yang digunakan sebagai programmer mikrokontroler adalah Code Vision AVR. Code Vision AVR adalah program yang menggunakan bahasa basic dan dirancang untuk compiler bahasa mikrokontroler AVR. Program utama berisi gambaran umum tentang cara kerja sistem utama. Program utama terdiri dari program pengiriman data, data diterima, pos 1, pos 2, menyalakan buzzer, pengecekan sampah, dan proses pulang. Gambar 3.21. menunjukkan alur program utama. Sistem dimulai dengan menekan tombol pada rangkaian pemancar dan robot akan mulai berjalan. Jika yang ditekan adalah tombol 1 pada keypad, maka robot akan berjalan menuju ke pos 1. Jika tombol 2 yang ditekan, maka robot akan berjalan menuju ke pos 2. Jika robot telah sampai pada pos yang telah ditentukan, maka proses selanjutnya adalah menyalakan buzzer. Buzzer akan menyala sebagai indikator bahwa robot telah sampai pada pos yang telah ditentukan. Setelah buzzer menyala, berlanjut pada proses pengecekan sampah. Sensor ultrasonik akan mendeteksi apakah user telah memasukkan sampah atau belum. Jika user telah memasukkan sampah, maka buzzer akan berhenti menyala. Sensor berat dan sensor ultrasonik berfungsi untuk menentukan apakah robot mampu membawa sampah yang dibuang user. Jika kondisi sensor ultrasonik mendeteksi ketinggian sampah kurang dari 25cm dan sensor berat mendeteksi beban kurang dari 2Kg, maka berlanjut pada proses pulang dan robot akan berjalan kembali ke base. Jika sensor ultrasonik dan sensor berat mendeteksi kondisi yang lain, maka robot tidak akan berjalan menuju ke base.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
60
Gambar 3.21. Alur pemrograman utama
3.3.2. Flowchart Pengiriman data Alur pemrograman pengiriman data berfungsi untuk mengirimkan data yang telah diproses kepada port serial mikrokontroler. Mikrokontroler akan mendeklarasikan port-port serial, register, dan baudrate. Data yang telah siap untuk dikirim akan dikeluarkan pada port serial. Gambar 3.22. menunjukkan diagram alir pengiriman data.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
61
Gambar 3.22. Alur pemrograman pengiriman data
3.3.3. Flowchart Penerima data Alur pemrograman penerima data berfungsi untuk menampilkan informasi yang diperlukan oleh user. Mikrokontroler akan mendeklarasikan port dari modul Xbee PRO dan mendeklarasikan port untuk LCD. Mikrokontroler akan menerima data yang telah diterima oleh modul Xbee PRO penerima. Data yang telah diolah oleh mikrokontroler akan dikirimkan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
62
ke LCD secara serial sebagai informasi yang diperlukan oleh robot line follower. Gambar 3.23. menunjukkan diagram alur penerima data.
Gambar 3.23. Alur pemrograman penerima data
3.3.4. Flowchart Pos 1, Pos 2, dan Pulang Alur pemrograman pos 1,pos 2, dan pulang akan dikerjakan setelah mikrokontroler 3 menerima data dari rangkaian penerima XBee Pro. Jika tombol pada tombol rangkaian pemancar XBee Pro ditekan, maka robot akan menuju pos 1 atau pos 2, setelah itu dilanjutkan dengan mengerjakan pengecekan sampah dan terakhir mengerjakan fungsi pulang untuk kembali ke base. Gambar 3.24. menunjukkan alur pemrograman pos 1, pos 2, dan pulang.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
63
Gambar 3.24. Alur pemrograman pos 1 Kondisi state menunjukkan data yang diterima oleh sensor jalur. Dalam alur pemrograman ini terdapat tujuh state, penjelasan kondisi sensor jalur terdapat pada Tabel 3.4.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
64
Tabel 3.4. Kondisi sensor jalur Kondisi State
Kondisi Sensor Jalur 00000001
1
00000011 00000110 10000000
2
11000000 01100000 11100000 00011000 00111100
3
00010000 00001100 00110000
4
00111000 00110000
5
00011100 00001100
6
00000000 Pos 1 : 00111111 01111111
7
Pos 2 : 11111110 11111100 Pulang : 11111111
Untuk kondisi selain yang tertera pada tabel (else), robot akan menjalankan proses maju. Perbedaan kondisi stop pada proses pos 1, pos 2, dan pulang ditunjukkan pada state 7. Pengaturan nilai kecepatan motor pada masing-masing proses ditunjukkan pada Tabel 3.5.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
65
Tabel 3.5. Kondisi sensor jalur dan pergerakan robot Proses Pergarakan Robot
Kecepatan Putar Motor (% duty cycle) Kanan
Kiri
Mundur
100%*
100%*
Kanan banting
0%
100%
Kiri banting
100%
0%
Maju
100%
100%
Kiri banyak2
50%*
50%
Kanan banyak2
50%
50%*
Stop
0%
0%
Tanda * melambangkan bahwa motor bergerak mundur.
3.3.5. Flowchart Pengecekan Sampah Proses pengecekan sampah akan dilakukan setelah user membuang sampah. Sampah yang telah dibuang akan dideteksi oleh sensor berat dan sensor ultrasonik. Gambar 3.25. menunjukkan alur pemrograman pengecekan sampah.
Gambar 3.25. Alur pemrograman pengecekan sampah
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
66
Sensor berat akan dihubungkan ke portA.1 yang memiliki fungsi ADC. Sensor ultrsonik akan dihubungkan pada portC.5. Jika kondisi sensor ultrasonik mendeteksi ketinggian sampah kurang dari 25cm dan sensor berat mendeteksi beban kurang dari 2Kg, maka robot akan berjalan kembali ke base. Jika sensor ultrasonik dan sensor berat mendeteksi kondisi yang lain, maka robot tidak akan berjalan menuju ke base (stop).
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
BAB IV HASIL DAN PEMBAHASAN 4.1.
Hasil Implementasi Robot
4.1.1. Hasil Konstruksi Robot Hasil akhir perancangan tempat sampah berjalan terkendali jarak jauh ditunjukkan pada Gambar 4.1. Peletakan sensor berat dan sensor ultasonik diperlihatkan pada Gambar 4.1.(a). Rangkaian sensor berat terdapat di bagian bawah tempat sampah. Sensor jalur yang digunakan pada perancangan ini berjumlah 6 buah. Pada perancangan tugas akhir ini, penampil LCD untuk rangkaian penerima XBee Pro dan data dari sensor berat dan ultrasonik yang digunakan diperlihatkan pada Gambar 4.1.(b). Gambar 4.1.(c) menunjukkan posisi robot tampak dari samping.
(a) Tampak Atas
(b) Tampak Depan
(c) Tampak Samping
Gambar 4.1. Mekanik robot 67
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
68
4.1.2. Denah Jalur Track yang digunakan dalam perancangan ini menggunakan selotip berwarna hitam. Lebar selotip yang digunakan sebesar 3cm mengikuti lebar selotip yang tersedia di pasaran.
Gambar 4.2. Track robot Hasil implementasi track robot ditunjukkan pada Gambar 4.2. Jarak antara base dengan pos 1 terukur sebesar 1,5m, jarak antara pos 1 dengan pos 2 terukur sebesar 2m, dan jarak antara pos 2 dengan base terukur sebesar 1,5m.
4.2.
Pengujian Keberhasilan Pengujian dilakukan dengan cara melakukan 4 jenis percobaan dengan beban yang
bervariasi sesuai dengan track robot. Pengujian dilakukan di dalam ruangan dengan lampu menyala. Hasil pengujian dapat dilihat secara lengkap pada tabel percobaan yang tertera pada lampiran L1.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
69
4.2.1. Pengujian Tanpa beban Pengujian tanpa beban dilakukan dengan cara menekan salah satu pos yang dituju. Pada saat robot telah sampai di pos timer akan aktif. Jika timer sama dengan 20 detik dan user belum membung sampah, maka robot akan langsung kembali ke base. Pada pengujian tanpa beban, robot memiliki tingkat keberhasilan 95% dalam menuju pos dan kembali ke base. Gambar 4.3. menunjukkan tampilan hasil pengujian tanpa beban.
Gambar 4.3. Tampilan hasil pengujian tanpa beban
4.2.2. Pengujian dengan Berat 2Kg dan Tinggi 25cm PP
Pengujian dengan berat 2Kg dan tinggi 25cm dilakukan dengan cara menekan salah satu pos yang dituju. Pada saat robot telah mencapai pos yang dituju timer akan aktif. Jika timer kurang dari 20 detik dan user memasukkan sampah dengan berat 2Kg dan tinggi 25cm atau berat dan tinggi sampah memenuhi, maka robot akan kembali ke base. Pengujian ini memiliki tingkat keberhasilan sebesar 90%. Gambar 4.4. menunjukkan tampilan pada pengujian dengan berat 2Kg dan tinggi 25cm.
Gambar 4.4. Tampilan pada pengujian dengan berat 2Kg dan tinggi 25cm
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
70
Berdasarkan Gambar 4.4. angka 290 yang tertampil pada LCD menunjukkan nilai desimal ADC untuk beban 2Kg dan angka 10 menunjukkan bahwa tinggi sampah 25cm sehingga tidak terdeteksi oleh sensor ultrasonik.
4.2.3. Pengujian dengan Berat 2Kg dan Tinggi 30cm Pengujian dengan berat 2Kg dan tinggi 30cm dilakukan dengan cara menekan salah satu pos yang dituju. Pada saat robot telah mencapai pos yang dituju timer akan aktif. Jika timer kurang dari 20 detik dan user memasukkan sampah dengan berat 2Kg dan tinggi 30cm (terlalu tinggi), maka robot tidak akan kembali ke base sampai user mengurangi tinggi beban. Gambar 4.5. menunjukkan tampilan pada pengujian dengan berat 2Kg dan tinggi 30cm.
Gambar 4.5. Tampilan pada pengujian dengan berat 2Kg dan tinggi 30cm Berdasarkan Gambar 4.5. angka 247 yang tertampil pada LCD menunjukkan nilai desimal ADC untuk beban 2Kg dan angka 3 menunjukkan bahwa sensor ultrasonik mendeteksi sampah terlalu tinggi. Ketinggian melebihi batas maksimal 25cm yaitu 30cm. Tingkat keberhasilan dalam pengujian ini mencapai 90%.
4.2.4. Pengujian dengan Berat 2,2Kg dan Tinggi 25cm Pengujian dengan berat 2,2Kg dan tinggi 25cm dilakukan dengan cara menekan salah satu pos yang dituju. Pada saat robot telah mencapai pos yang dituju, timer akan aktif. Jika timer kurang dari 20 detik dan user memasukkan sampah dengan berat 2,2Kg dan tinggi 25cm (terlalu berat), maka robot tidak akan kembali ke base sampai user mengurangi berat beban. Gambar 4.6. menunjukkan tampilan pada pengujian dengan berat 2,2Kg dan tinggi 25cm. Berdasarkan Gambar 4.6. angka 320 menunjukkan nilai desimal ADC melebihi batas maksimal beban yang ditentukan yaitu 300d. Setelah sensor berat mendeteksi beban yang melebihi batas maksimal, mikrokontroler tidak akan melakukan pengecekan ketinggian
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
71
sampah sebelum beban dikurangi dari batas maksimal yaitu 2Kg. Tingkat keberhasilan dalam pengujian ini mencapai 85%.
Gambar 4.6. Tampilan pada pengujian dengan berat 2,2Kg dan tinggi 25cm
4.3.
Analisa Hasil Pengujian Beban Persentase
keberhasilan robot dalam proses menuju ke pos secara keseluruhan
ditunjukkan pada Tabel 4.1. Berdasarkan Tabel 4.1. kondisi robot tanpa membawa beban memiliki persentase keberhasilan paling besar dalam menuju ke pos. Jika user memasukkan sampah melebihi batas maksimal yang telah ditentukan, maka robot tidak akan kembali ke base, sehingga user harus mengurangi beban atau ketinggian sampah. Tabel 4.1. Persentase keberhasilan pengujian untuk tiap beban yang diuji Berat (Kg) dan Tinggi (cm)
Total Persentase (%)
Tanpa beban
95
Berat 2Kg dan Tinggi 25cm
90
Berat 2Kg dan Tinggi 30cm
90
Berat 2,2Kg dan Tinggi 25cm
85
Perhitungan persentase rata-rata keberhasilan robot : (
Persentase rata-rata = = 90%
)
%
Berdasarkan tabel persentase keberhasilan robot, diperoleh persentase rata-rata keberhasilan yaitu 90%. Nilai persentase rata-rata 90% menunjukkan bahwa tempat sampah berjalan terkendali jarak jauh telah dapat bekerja dengan baik.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 4.4.
72
Ilustrasi Kegagalan Robot Gambar 4.7. menunjukkan ilustrasi sensor jalur yang digunakan. Simbol S
menunjukkan sensor jalur S1-S6. Jarak antara sensor yaitu 1.5cm. Gambar ilustrasi sensor jalur ini bertujuan untuk mempermudah pembaca untuk memahami kegagalan robot dalam mendeteksi jalur pada pos. Pada pembuatan tugas akhir ini, sensor jalur yang digunakan adalah 6 buah. Hal tersebut dikarenakan adanya penambahan rangkaian penampil LCD, sehingga mengurangi port yang digunakan sebagai input sensor jalur.
Gambar 4.7. Ilustrasi sensor jalur Gambar 4.8. menunjukkan ilustrasi kegagalan robot dalam mendeteksi jalur pada pemberhentian pos 1. Kegagalan tersebut dikarenakan sensor yang seharusnya mendeteksi kondisi 111100 tidak tepat, yaitu robot mendeteksi kondisi 111000 atau kondisi yang lain. Ilustrasi tersebut berlaku juga untuk pemberhentian pos 2, namun kondisi yang dideteksi oleh sensor jalur berbeda yaitu 001111.
(Kondisi salah)
(Kondisi benar)
Gambar 4.8. Ilustrasi kegagalan robot
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 4.5.
73
Pengujian Rangkaian Pemancar dan Penerima XBee Pro Pengujian terhadap rangkaian pemancar dan penerima XBee Pro dilakukan dengan
cara melakukan pengiriman dan penerimaan data yang ditampilkan melalui LCD. Gambar 4.9. menunjukkan hasil perancangan rangkaian pemancar dan rangkaian penerima XBee Pro. Pengujian rangkaian pemancar dilakukan dengan menekan tombol keypad 1 dan 2. Tombol keypad 1 berfungsi untuk menentukan tujuan pos 1 dan tombol keypad 2 berfungsi untuk menentukan tujuan pos 2. Pada perancangan ini pemancar dan penerima XBee Pro sudah dapat bekerja dengan baik. Pada saat tombol keypad rangkaian pemancar ditekan, rangkaian telah dapat mengirimkan data melalui modul XBee Pro dan dapat menampilkannya pada LCD. Setelah rangkaian pemancar mengirimkan data, rangkaian penerima juga telah dapat menerima data yang dikirimkan dan menampilkan pada LCD. Setelah rangkaian pemancar dan penerima diaktifkan, dibutuhkan waktu sekitar 5 detik agar komunikasi serial dapat terjadi. Data hasil pengujian yang ditampilkan pada LCD ditunjukkan pada Tabel 4.2. Tabel 4.2. Pengujian pemancar dan penerima XBee Pro Tombol yang ditekan
Pemancar
Penerima
1
“Pos 1”
“Pos 1”
2
“Pos 2 “
“Pos 2”
(a) P e n e r i m a (a) Penerima
(b) Pemancar
Gambar 4.9. Pemancar dan penerima XBee Pro
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
74
Tabel 4.3. Pengujian jangkauan pemancar dan penerima XBee Pro Jarak (meter)
Keterangan
10
Terdeteksi
20
Terdeteksi
30
Terdeteksi
40
Terdeteksi
50
Terdeteksi
60
Terdeteksi
70
Tidak terdeteksi
Tebel 4.3. menunjukkan jarak jangkauan antara pemancar dan penerima XBee Pro. Pengujian dilakukan pada area yang terhalang oleh bangunan disekitarnya. Berdasarkan data sheet XBee Pro, jarak jangkau maksimal yang mampu terdeteksi adalah 100 meter [4], namun berdasarkan hasil percobaan yang dilakukan, jarak jangkau maksimal yang mampu terdeteksi adalah 60 meter.
4.6.
Pengujian Sensor Jalur Pengujian ini meliputi pengukuran tegangan output sensor jalur ketika berada pada
permukaan putih atau hitam. Tujuan dari pengamatan ini untuk mengetahui karakteristik sensor fotodioda pada robot. Pengujian dilakukan dengan cara mengukur tegangan output pada sensor fotodioda dengan menggunakan multimeter. Tabel 4.4. menunjukkan hasil pengukuran tegangan output sensor jalur. Simbol S merupakan sensor jalur yang digunakan. Tabel 4.4. Pengukuran tegangan output sensor jalur Tegangan output sensor (Volt) Sensor Jalur
S1
S2
S3
S4
S5
S6
Permukaan Hitam
2,4
2,5
2,6
2,5
2,3
2,4
Permukaan Putih
0,2
0,4
0,3
0,3
0,2
0,3
Beda Tegangan
2,2
2,1
2,3
2,2
2,1
2,1
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
75
Tabel 4.4. menunjukkan hasil pengukuran tegangan output sensor jalur. Hasil dari pengukuran menunjukkan tegangan output yang tidak sama untuk semua sensor, sehingga perlu ditambahkan rangkaian komparator sebagai pembanding antara tegangan output sensor jalur dengan tegangan referensi. Pada perhitungan teoritis, tegangan referensi yang digunakan adalah 2,5V. Pada hasil pengukuran yang dilakukan terhadap tegangan output sensor jalur,
nilai rata-rata yang
diperoleh kurang dari 2,5V, sehingga perlu dilakukan kalibrasi menggunakan trimpot pada rangkaian komparator.
4.7.
Pengujian Rangkaian Komparator Pengujian rangkaian komparator dilakukan dengan cara mengatur trimpot pada
rangkaian, agar tegangan output yang menuju ke mikrokontroler 3 berlogika high atau low. Berdasarkan hasil pengujian sensor jalur pada Tabel 4.4. tegangan output untuk permukaan hitam berkisar 2,3V – 2,5V, sehingga tegangan yang menuju ke mikrokontroler 3 melalui trimpot diatur 2V. Tegangan 2V digunakan sebagai tegangan referensi. Pada saat tegangan output sensor jalur di bawah 2V, rangkaian komparator akan membandingkan dengan tegangan referensi dan kemudian mengirim tegangan tersebut dengan logika low. Tabel 4.5. menunjukkan hasil pengujian rangkaian komparator. Tabel 4.5. Hasil pengujian rangkaian komparator Sensor
Permukaan
Output Komparator
Permukaan
Output Komparator
Jalur
Hitam (Volt)
(Volt)
Putih (Volt)
(Volt)
S1
2,4
4,89
0,2
0,2
S2
2,5
4,89
0,4
0,2
S3
2,6
4,89
0,3
0,2
S4
2,5
4,89
0,3
0,2
S5
2,3
4,89
0,2
0,2
S6
2,4
4,89
0,3
0,2
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 4.8.
76
Pengujian Rangkaian Driver Pengujian rangkaian driver dilakukan dengan cara memberikan nilai duty cycle pada
portD.4 dan portD.5 yang berfungsi sebagai PWM pada mikrokontroler 3. Hasil pengujian rangkaian driver ditunjukkan pada Tabel 4.6. Tabel 4.6. Hasil pengujian rangkaian driver Nilai Duty Cycle (%) 0
Teoritis (Volt)
Heksa (h)
0
0
Hasil Pengujian (Volt) 0
25
2,1
ff
2,1
50
4,2
1ff
4
100
8,4
3ff
8,6
Hasil pengujian rangkaian driver mendekati teori yang sebenarnya. Perbedaan tegangan dikarenakan suplai yang digunakan tidak tepat 8,4V yaitu 8,6V. Perbedaan tegangan yang terjadi tidak mempengaruhi kerja sistem secara keseluruhan. Rangkaian driver yang dibuat dapat bekerja dengan baik. Rangkaian ini dapat berfungsi untuk mengontrol putaran motor kanan atau motor kiri pada robot.
4.9.
Pengujian Sensor Ultrasonik Ping Pengujian sensor ultrasonik ping dilakukan dengan cara mengukur jarak yang dideteksi
oleh sensor ping dengan membandingkan dengan jarak yang sebenarnya. Tabel 4.7. menunjukkan hasil pengujian sensor ultrasonik ping. Tabel 4.7. Hasil pengujian sensor ultrasonik ping Jarak
Jarak Terdeteksi di
Jarak Terdeteksi
Sebenarnya
dalam Tempat
di ruangan
(cm)
Sampah (cm)
Terbuka (cm)
5 10 15
2 6 10
6 11 16 Rata-rata
Persentasi Error (%) 20 10 6,67 12,2
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
77
Berdasarkan Tabel 4.7., hasil pengujian sensor ping di dalam kotak sampah dan di ruangan terbuka terdapat perbedaan yang cukup signifikan. Presentasi error antara jarak sebenarnya dengan pengukuran yang dilakukan di ruangan terbuka adalah 12,2%.
4.10. Pengujian Sensor Berat Flexyforce Pengujian sensor berat dilakukan dengan mengukur tegangan output pada rangkaian pembagi tegangan dan nilai hambatan pada sensor flexyforce. Nilai hambatan pada potensiometer ditetapkan sebesar 100KΩ. Hasil pengujian sensor berat ditunjukkan pada Tabel 4.8. Tabel 4.8. Hasil pengujian sensor berat flexyforce Beban (Kg)
Hambatan Sensor (KΩ)
Tegangan Output (V)
Tanpa beban
Tidak terhingga
0
0,5
Tidak terhingga
0,3
1
1670
0,76
1,5
1260
0.9
1.8
1100
1.3
2
945
1,48
2,2
800
1.57
Berdasarkan hasil pengukuran tegangan output pada rangkaian pembagi tegangan, nilai tersebut akan digunakan sebagai perhitungan nilai ADC pada program. Dengan melakukan perhitungan menggunakan persamaan 2.7., diperoleh nilai ADC pada saat beban 2Kg adalah 300d dan nilai ADC pada saat pengukuran menggunakan beban 2,2Kg adalah 320d. Nilai 300d akan dijadikan sebagai batas nilai maksimal pada pengaturan program ADC.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
78
4.11. Pembahasan Software 4.11.1. Program Utama Program utama dan instruksi yang digunakan dapat dilihat pada Gambar 4.10. Program ini akan dieksekusi pada saat user menekan tombol pada rangkaian pemancar. Pada saat tombol 1 ditekan, maka portA.0 pada mikrokontroler 2 akan berlogika low. Pada saat tombol 2 ditekan, maka portA.1 pada mikrokontroler 2 akan berlogika low. Output dari portA.0 dan portA.1 tersebut akan berfungsi sebagai tegangan input mikrokontroler 3 untuk menentukan pos yang dituju pada portB.6 dan portB.7.
Gambar 4.10. Program utama Pada saat tombol tidak ditekan, LCD penampil akan menampilkan tulisan “Tekan Tombol”. Pada saat robot telah mencapai base, user bisa memberikan perintah kembali untuk menuju ke pos. Jika user tidak memberikan perintah, maka robot akan menjalankan fungsi stop dan robot tetap berhenti di base.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
79
Tabel 4.9. Perbandingan program utama dengan pengukuran pin yang digunakan Pin
Kondisi Program
Hasil Pengukuran (V)
Tampilan pada LCD
PinB.7
0
0.1
Pos 1
PinB.6
0
0.1
Pos 2
PinB.7
1
4.89
Tekan Tombol
PinB.6
1
4.89
Tekan Tombol
Berdasarkan Tabel 4.9., kondisi program terdapat pada mikrokontroler 2 rangkaian penerima XBee Pro. Pengukuran dilakukan pada pinB.7 dan pinB.6 yang dihubungkan dengan PinB.4 dan pinB.5 pada mikrokontroler 3 digunakan sebagai penentu titik pemberhentian robot. Pada saat user tidak menekan tombol pada rangkaian pemancar, kondisi pinB.7 dan pinB.6 pada mikrokontroler 2 berlogika high.
4.11.2. Program Pos 1 Program pos 1 akan dieksekusi pada saat tombol 1 ditekan. Pada saat tombol 1 ditekan, portA.0 mikrokontroler 2 pada rangkaian pemancar akan berlogika low. Tegangan output dari portA.0 tersebut akan digunakan sebagai input pada portB.7 mikrokontroler 3 yang terdapat pada robot. Program pos 1 yang digunakan dapat dilihat pada Gambar 4.11. Pembuatan tugas akhir ini hanya menggunakan 6 buah sensor jalur. Hal tersebut dikarenakan adanya penambahan penampil LCD pada robot. Robot akan berhenti di pos 1 ketika mendeteksi kondisi jalur “001111”. Setelah kondisi tersebut terdeteksi, robot secara otomatis akan berhenti dan kemudian akan melakukan proses pengecekan sampah dengan variabel “ping”.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
80
Gambar 4.11. Program pos 1
4.11.3. Program Pos 2 Program pos 2 akan dieksekusi pada saat tombol 2 ditekan. Pada saat tombol 2 ditekan, portA.1 mikrokontroler 2 pada rangkaian pemancar akan berlogika low. Tegangan output dari portA.1 tersebut akan digunakan sebagai input pada portB.6 mikrokontroler 3 yang terdapat pada robot. Program pos 2 yang digunakan dapat dilihat pada Gambar 4.12. Robot akan berhenti di pos 2 ketika mendeteksi kondisi jalur “111100”. Setelah kondisi tersebut terdeteksi, robot secara otomatis akan berhenti dan kemudian akan melakukan proses pengecekan sampah dengan variabel “ping”.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
81
Gambar 4.12. Program pos 2
4.11.4. Program Pengecekan Sampah Program pengecekan sampah akan dieksekusi ketika robot telah mendeteksi pemberhentian pada pos 1 atau pos 2. Mikrokontroler 3 akan melakukan pengecekan terhadap berat sampah terlebih dahulu menggunakan fungsi ADC pada portA.0. Jika nilai ADC yang dideteksi lebih dari 300d, maka robot tidak akan kembali ke base yang menandakan bahwa berat telah melebihi 2Kg. Setelah melakukan pengecekan berat, mikrokontroler 3 akan melakukan pengecekan terhadap ketinggian sampah menggunakan sensor ultrasonik yang terdapat pada portD.7. Ketika ketinggian sampah melebihi 25cm, robot tidak akan kembali ke base. Jika user mengurang beban atau ketinggian dari batas maksimal, maka robot akan kembali ke base.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
82
4.11.4.1. Program Pengturan Timer Program pengaturan timer pada perancangan ini berfungsi untuk menentukan lama waktu robot setelah sampai ke pos. Simbol Z pada program merupakan lama waktu yang digunakan. Pada perancangan ini waktu yang digunakan adalah 20 detik. Jika setelah 20 detik robot berada di pos dan user tidak membuang sampah, maka robot akan memanggil fungsi “PULANG” atau kembali menuju base. Selama waktu 20 detik belum habis, robot akan selalu melakukan pengecekan sampah. Gambar 4.13. menunjukkan program pengturan timer.
Gambar 4.13. Program pengaturan timer
4.11.4.2. Program Pengaturan ADC Program pengaturan ADC pada perancangan tugas akhir ini berfungsi untuk mendeteksi berat sampah yang dibuang oleh user. Sensor yang digunakan yaitu sensor flexyforce. Sensor ini akan bekerja dengan memanfaatkan perubahan hambatan. Semakin berat beban yang digunakan, semakin kecil nilai hambatan yang dikeluarkan.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
83
Gambar 4.14. menunjukkan program pengaturan ADC yang digunakan dalam pembuatan tugas akhir ini. Variabel “data” yang digunakan menunjukkan nilai ADC. Jika nilai ADC lebih dari 300d, maka robot tidak akan kembali ke base karena beban terlalu berat. Nilai ADC 300d menunjukkan berat beban 2Kg. Jika nilai ADC kurang dari 300d, maka robot akan melakukan pengecekan ketinggian sampah.
Gambar 4.14. Program pengaturan ADC
4.11.4.3. Program Ketinggian Sampah Program ketinggian sampah ini berfungsi untuk mendeteksi ketinggian sampah yang dibuang. Pada saat sensor ultrasonik mendeteksi jarak lebih dari 15cm, robot masih
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
84
mampu untuk menampung sampah tersebut. Jika sensor ultrasonik mendeteksi jarak kurang dari 15cm, maka sampah yang dibuang melebihi batas maksimal yaitu ketinggian maksimal 25cm sehingga robot tetap berada di pos sampai user mengurangi ketinggian sampah tersebut.
Gambar 4.15. Program ketinggian sampah Berdasarkan Gambar 4.15. dan Gambar 4.15., jika kondisi beban kurang dari sama dengan 2Kg dengan ketinggian kurang dari sama dengan 25cm, maka mikrokontroler 3 akan mengeksekusi fungsi pulang. Pada fungsi pulang, ketika sensor jalur mendeteksi kondisi 111111 maka robot akan berhenti yang menandakan telah mencapai base.
4.11.5. Pengujian Program Pos 1, Pos2 dan Pulang Pengujian program pos 1, pos 2 dan pulang dilakukan dengan cara membandingkan kondisi program degan pergerakan robot pada track yang digunakan. Tabel 4.10. menunjukkan hasil pengujian pos 1, pos2 dan pulang.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
85
Tabel 4.10. Pengujian program pos 1, pos 2 dan pulang Variabel Program
Pergerakan Robot
Kondisi Pos 1
Pos 2
Pulang
Pos 1
Pos 2
Pulang
Mundur
Mundur
Mundur
Mundur
Mundur
Mundur
Kanan Banting Kanan Banting Kanan Banyak2 Kanan Banyak2
Kanan Banting Kanan Banting Kanan Banyak2 Kanan Banyak2
Kanan Banting Kanan Banting Kanan Banyak2 Kanan Banyak2
Kanan Banting Kanan Banting Kanan Banyak2 Kanan Banyak2
Kanan Banting Kanan Banting Kanan Banyak2 Kanan Banyak2
Kanan Banting Kanan Banting Kanan Banyak2 Kanan Banyak2
Stop
Maju
Maju
Stop
Maju
Maju
Kanan Banyak2 Kanan Banyak2
Kanan Banyak2 Kanan Banyak2
Kanan Banyak2 Kanan Banyak2
Kanan Banyak2 Kanan Banyak2
Kanan Banyak2 Kanan Banyak2
Kanan Banyak2 Kanan Banyak2
Maju
Maju
Maju
Maju
Maju
Maju
Kiri Banting Kiri Banting Kiri Banting Kiri Banyak2 Kiri Banyak2
Kiri Banting Kiri Banting Kiri Banting Kiri Banyak2 Kiri Banyak2
Kiri Banting Kiri Banting Kiri Banting Kiri Banyak2 Kiri Banyak2
Kiri Banting Kiri Banting Kiri Banting Kiri Banyak2 Kiri Banyak2
Kiri Banting Kiri Banting Kiri Banting Kiri Banyak2 Kiri Banyak2
Kiri Banting Kiri Banting Kiri Banting Kiri Banyak2 Kiri Banyak2
111100
Maju
Stop
Maju
Maju
Stop
Maju
111111
Maju
Maju
Stop
Maju
Maju
Stop
000000 000001 000011 000101 000111 001111 000010 000110 000100 001000 100000 110000 101000 111000
Berdasarkan Tabel 4.10., robot dapat melakukan pergerakan sesuai dengan instruksi pada program, dengan kondisi tersebut robot dapat melintasi track yang telah dibuat dengan baik.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
86
4.11.6. Program Pemancar XBee Pro Software pemrograman yang digunakan pada rangkaian pemancar dan penerima XBee Pro adalah Bascom AVR. Gambar 4.16. menunjukkan program yang digunakan pada rangkaian pemancar XBee Pro. Nilai baudrate yang digunakan adalah 9600 yang telah disesuaikan dengan program XC-TU yang digunakan untuk pemrograman modul XBee Pro.
Gambar 4.16. Program pemancar XBee Pro. PortC.0 – portC.3 dalam program ini digunakan sebagai output pada tombol keypad, sedangkan pinC.4 – pinC.6 digunakan sebagai input. Pada perancangan tugas akhir ini, penampil LCD dihubungkan dengan portA. Untuk pemrograman keypad secara jelas ditunjukkan pada lampiran.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
87
4.11.7. Program Penerima XBee Pro Program penerima XBee Pro akan dieksekusi pada saat modul XBee Pro menerima data dari rangkaian pemancar. Port yang digunakan sebagai komunikasi serial antara rangkaian pemancar dengan penerima adalah portD.0 dan portD.1, baik untuk mikrokontroler 1 atau mikrokontroler 2. Gambar 4.17. menunjukkan program rangkaian penerima.
Gambar 4.17. Program penerima XBee Pro Pada saat mikrokontroler 2 yang terletak pada rangkaian penerima memperoleh data dari rangkaian penerima, portC.0 akan berlogika low karena tombol 1 pada rangkaian pemancar ditekan. PortC.1 akan berlogika low pada saat tombol 2 yang ditekan. Tegangan output portC.0 dan portC.1 akan digunakan sebagai input mikrokontroler 3 pada robot untuk penentuan pos.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
BAB V KESIMPULAN DAN SARAN 5.1.
Kesimpulan Dari hasil percobaan dan pengujian sistem tempat sampah berjalan terkendali
jarak jauh dapat disimpulkan bahwa: 1. Sistem yang dirancang telah bekerja dengan baik. 2. Proses robot menuju pos dan kembali ke base memiliki tingkat keberhasilan sebesar 90%. 3. Pemancar XBee Pro dapat mengirimkan data serial dan penerima XBee Pro dapat menerima data yang dikirim oleh pemancar XBee Pro. 4. Sensor ultrasonik ping bekerja dengan persentasi error sebesar 12.2%. 5. Sensor berat flexyforce dapat bekerja dengan baik dalam mendeteksi beban yang digunakan.
5.2.
Saran Saran untuk pengembangan tempat sampah berjalan terkendali jarak jauh adalah
sebagai berikut : 1. Menggunakan jenis track yang berbeda, sebagai contoh wall follower. 2. Penambahan mekanik pada robot agar robot secara otomatis dapat mengosongkan tempat sampah tanpa bantuan manusia.
88
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
DAFTAR PUSTAKA [1]
Pujiyanto, M.R., 2010, Robot Pengantar Barang Berbasis Kontrol PD (Proporsional Deferensial) Digital, Tugas Akhir Prodi Teknik Elektro Universitas Sanata Dharma.
[2]
Hartono Rudi, 2011, http://www.scribd.com/doc/36276348/introduction- wireless, diakses tanggal 24 Januari 2012.
[3]
Nugroho, S.A., 2011, http://www.scribd.com/doc/42556531/jaringan-wireless-di duniaberkembang, diakses tanggal 24 Januari 2012 .
[4]
-----,2005, XBee PRO product manual, Max Stream.
[5]
Andrianto, Heri, 2008, Pemrograman Mikrokontroler AVR ATMEGA 16, Bandung : Informatika.
[6]
Winoto, Ardi, 2008, Mikrokontroler AVR ATmega8/32/16/8535, Bandung : Informatika.
[7]
Edminister, Joseph, 1988, Rangkaian Listrik Edisi 2, Jakarta : Airlangga.
[8]
D. Stanley, William, 1994, Operational Amplifier With Linear Integrated Circuit, New York : Old Dominion University.
[9]
-----, 2004, Data Sheet IC LM339, National Semiconductor.
[10] -----, 2000, Data Sheet IC LM33, SGS-THOMSON Microelectronics. [11] Suprayudi,
Ricky,
2000,
Timbangan
Digital
Berbasis
Sensor
Flexyforce,
http://www.innovativeelectronics.com/innovative...files/.../AN119.pdf, diakses tanggal24 Mei 2012. [12]
-----, 2004, Data Sheet Sensor Ping, Parallax.
[13] Sumanto, 1993, Motor Arus Bolak-Balik, Yogyakarta : Andi Offset. [14] Rashid, Muhammad H., 2003, Power Electronics Circuits, Devices, and Applications, Florida. [15]
-----, 2008, Data Sheet IC ATmega8535, ATmel. 89
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
LAMPIRAN
90
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L1
Lampiran Tabel Hasil Pengujian Robot Simbol √ merupakan kondisi benar dan symbol x merupakan kondisi salah yang dilakukan oleh robot. Tabel L1. Hasil pengujian tanpa beban Pengujian ke
Pos 1
1 2 3 4 5 6 7 8 9 10
Kembali ke base
√ √ √ √ √ √ √ √ √ √
√ √ √ √ √ √ √ √ √ √
Pos 2 √ √ √ √ √ √ √ x √ √
Kembali ke base √ √ √ √ √ √ √ x √ √
Tabel L2. Persentase kegagalan dan keberhasilan robot tanpa beban Total Pengujian
Total Keberhasilan
Total Kegagalan
Persentase
Persentase
(Kali)
(Kali)
(Kali)
Keberhasilan (%)
Kegagalan (%)
20
19
1
95
5
Tabel L3. Hasil pengujian beban 2Kg dengan ketinggian 25cm Pengujian ke
Pos 1
Kembali ke base
Pos 2
Kembali ke base
1
x
x
√
√
2
√
√
√
√
3
√
√
√
√
4
√
√
√
√
5
√
√
√
√
6
√
√
√
√
7
x
x
√
√
8
√
√
√
√
9
√
√
√
√
10
√
√
√
√
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L2
Tabel L4. Persentase kagagalan dan keberhasilan robot dengan beban 2Kg dan ketinggian 25cm Total Pengujian
Total Keberhasilan
Total Kegagalan
Persentase
Persentase
(Kali)
(Kali)
(Kali)
Keberhasilan (%)
Kegagalan (%)
20
18
2
90
10
Tabel L5. Hasil pengujian beban 2Kg dengan ketinggian 30cm Pengujian ke
Pos 1
Tidak kembali ke base
Pos 2
Tidak kembali ke base
1
x
x
√
√
2
√
√
√
√
3
√
√
√
√
4
√
√
√
√
5
√
√
√
√
6
√
√
√
√
7
√
√
√
√
8
√
√
x
x
9
√
√
√
√
10
√
√
√
√
Tabel L6. Persentase kegagalan dan keberhasilan robot dengan beban 2Kg dengan ketinggian 30cm Total Pengujian
Total Keberhasilan
Total Kegagalan
Persentase
Persentase
(Kali)
(Kali)
(Kali)
Keberhasilan (%)
Kegagalan (%)
20
18
2
90
10
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L3
Tabel L7. Hasil pengujian beban 2.2Kg dengan ketinggian 25cm Pengujian ke
Pos 1
Tidak kembali ke base
Pos 2
Tidak kembali ke base
1
√
√
√
√
2
x
x
√
√
3
√
√
√
√
4
√
√
x
x
5
√
√
√
√
6
√
√
√
√
7
x
x
√
√
8
√
√
√
√
9
√
√
√
√
10
√
√
√
√
Tabel L8. Persentase kegagalan dan keberhasilan robot dengan beban 2.2Kg dan ketinggian 25cm Total Pengujian
Total Keberhasilan
Total Kegagalan
Persentase
(Kali)
(Kali)
(Kali)
Keberhasilan (%)
20
17
3
85
Persentase Kegagalan (%)
15
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI Lampiran Program /***************************************************** This program was produced by the CodeWizardAVR V1.25.8 Standard Automatic Program Generator © Copyright 1998-2007 Pavel Haiduc, HP InfoTech s.r.l. http://www.hpinfotech.com
Project : Version : Date
: 10/9/2012
Author : F4CG Company : F4CG Comments:
Chip type Program type
: ATmega8535 : Application
Clock frequency
: 12.000000 MHz
Memory model
: Small
External SRAM size : 0 Data Stack size
: 128
*****************************************************/
#include <mega8535.h> #include <delay.h> #include <stdio.h> // Alphanumeric LCD Module functions #asm .equ __lcd_port=0x15 ;PORTC
L4
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI #endasm #include
#define TE PORTD #define SigOut PORTD.6 #define SigIn PIND.6 #define DirSig DDRD.6 #define Buzzer PORTD.7 unsigned char baris[16],baris1[16],baris2[16]; unsigned int i,x,z,o; unsigned char sensor ; unsigned int counter,distance;
void mundur(void) {TE =0b00000110; // OCR1B=0x3ff;//kanan OCR1A=0x3ff; } void kanan_banyak2 (void) {TE =0b00000101; OCR1B=0x1ff; OCR1A=0x1ff; } void kanan_banting (void) {TE =0b00000101; OCR1B=0x3ff; OCR1A=0x00; } void kiri_banyak2 (void) {TE =0b00001010; OCR1B=0x1ff;
L5
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI OCR1A=0x1ff; } void kiri_banting (void) {TE =0b00001010; OCR1B=0x00; OCR1A=0x3ff; } void maju (void) {TE =0b001001; OCR1B=0x3ff;//kanan OCR1A=0x3ff; } void stop (void) {TE =0b00001010; OCR1B=0x00; OCR1A=0x00; } // Timer 0 overflow interrupt service routine interrupt [TIM0_OVF] void timer0_ovf_isr(void) { // Reinitialize Timer 0 value TCNT0=0x8A; // Place your code here if (x==100) { z++; x=0; } else {
L6
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI x++; } } #define ADC_VREF_TYPE 0x40 unsigned int data; // Read the AD conversion result unsigned int read_adc(unsigned char adc_input) { ADMUX=adc_input | (ADC_VREF_TYPE & 0xff); // Delay needed for the stabilization of the ADC input voltage delay_us(10); // Start the AD conversion ADCSRA|=0x40; // Wait for the AD conversion to complete while ((ADCSRA & 0x10)==0); ADCSRA|=0x10; return ADCW; } void tampil(void) { //lcd_clear(); sprintf(baris,"%3d",z) ;lcd_gotoxy(0,0) ;lcd_puts(baris);
//tampilkan detik
} void ADC(void) { //lcd_clear(); data=read_adc(0); delay_ms(500); sprintf(baris2,"%3d",data) ;lcd_gotoxy(10,0) ;lcd_puts(baris2);//baca data adc 0 sprintf(baris1,"%3d",distance) ;lcd_gotoxy(6,0) ;lcd_puts(baris1); //tampilkan jarak sensor ping
L7
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI } // Declare your global variables here void alarm(void) { Buzzer=1; //buzzer hidup delay_ms(100); Buzzer=0; //buzzer mati delay_ms(100); } void MISI(void) { lcd_clear(); again: i++; delay_ms(100); if (i>=20) { i=0; goto keluar; } else {
TE =0b00001010; OCR1B=0x00; OCR1A=0x00; lcd_gotoxy(0,0); lcd_putsf("Misi Selesai"); Buzzer=1; //buzzer hidup delay_ms(100); Buzzer=0; //buzzer mati delay_ms(100);
L8
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI goto again; } keluar: } void PULANG(void) { while(1) { lcd_gotoxy(0,0); lcd_putsf("Kembali Ke Base"); sensor=PINB; sensor&=0b111111; switch(sensor) { case 0b111111: MISI();goto keluar; break; case 0b000001: kanan_banyak2 (); break; case 0b000010: kanan_banyak2 (); break; case 0b000011: kanan_banyak2 (); break; case 0b001011: kanan_banyak2 (); break; case 0b100000: kiri_banyak2 (); break; case 0b010000: kiri_banyak2 (); break; case 0b110000: kiri_banyak2 (); break;
L9
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L 10
case 0b111000: kiri_banyak2 (); break; case 0b000100: kanan_banyak2 (); //blkng. letak sensor belakang pd hardware kebalik dengan yang depan. break; case 0b000000: kanan_banyak2(); break; case 0b001100: maju (); break; case 0b001000: maju (); //dpn break; case 0b001111: maju (); break; case 0b011111: maju (); break; case 0b111110: maju (); break; case 0b011110: maju (); break; case 0b111100: maju(); break; } } keluar: } void ping(void) { lcd_clear(); z=0; x=0; lagi:
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI o++; if (o>=1) { while(1) { BER =0b00001010; OCR1B=0x00; OCR1A=0x00; Buzzer=1; //buzzer hidup if(z==20) { lcd_clear(); PULANG(); z=0; x=0; goto out; } else { lcd_clear(); Buzzer=1; //buzzer hidup lagi1:
tampil();
cek:
ADC(); //berat=data/2; if ((data>=0)&&(data<=20)) { tampil(); if (z==20) { lcd_clear();
L 11
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI PULANG(); z=0; x=0; goto out; } else { lcd_gotoxy(0,1); lcd_putsf("BUANGLAH SAMPAH"); goto lagi1; } } else if (data>=80)//semakin berat nilai ADC semakin besar { lcd_clear(); z=0; alarm(); BER =0b00001010; OCR1B=0x00; OCR1A=0x00; lcd_gotoxy(0,1); lcd_putsf("TERLALU BERAT"); goto cek; } else { lcd_clear(); lcd_gotoxy(0,1); lcd_putsf("BERAT MEMENUHI"); delay_ms(1000);
L 12
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI putar1:
counter=0; //Initial value DirSig=1; //Set as output SigOut=1; delay_us(5); SigOut=0; DirSig=0; //Set as input SigOut=1; while (SigIn==0) {} while (SigIn==1) { counter++; } distance=(counter*0.034442)/2; delay_ms(10); if (distance<=2) { lcd_clear(); z=0; lcd_gotoxy(0,1); lcd_putsf("TERLALU TINGGI"); delay_ms(1000); ADC(); alarm(); goto cek; } else { z=0; ADC();
L 13
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI delay_ms(5000); lcd_clear(); PULANG(); goto out; } } } } } else { Buzzer=1; //buzzer hidup goto lagi; } Buzzer=0; //buzzer mati lcd_clear(); out: } // Declare your global variables here void POS1(void)
//stop kanan
{ while(1) { sensor=PINB; sensor&=0b111111; switch(sensor) { case 0b000001: kanan_banyak2 (); break; case 0b000010: kanan_banyak2 ();
L 14
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L 15
break; case 0b000011: kanan_banyak2 (); break; case 0b001011: kanan_banyak2 (); break; case 0b100000: kiri_banyak2 (); break; case 0b010000: kiri_banyak2 (); break; case 0b110000: kiri_banyak2 (); break; case 0b111000: kiri_banyak2 (); break; case 0b000100: kanan_banyak2 (); //blkng. letak sensor belakang pd hardware kebalik dengan yang depan. break; case 0b000000: kanan_banyak2(); break; case 0b001100: maju (); break; case 0b001000: maju (); //dpn break; case 0b111100: ping (); goto out; break; case 0b001111: maju (); break; case 0b111111: maju (); break; case 0b011111: maju (); break; case 0b111110: maju ();
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI break; case 0b011110: maju (); break; } } out: } void POS2(void)//stop kiri { while(1) { sensor=PINB; sensor&=0b111111; switch(sensor) { case 0b000001: kanan_banting (); break; case 0b000010: maju (); break; case 0b000011: kanan_ banting (); break; case 0b001011: kanan_banyak2 (); break; case 0b100000: kiri_banyak2 (); break; case 0b010000: kiri_banyak2 (); break; case 0b110000: kiri_ banting (); break; case 0b111000: kiri_ banting ();
L 16
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI break; case 0b000100: kanan_banyak2 (); //blkng break; case 0b000000: kanan_banyak2 (); break; case 0b001100: maju (); break; case 0b001000: maju (); //dpn break; case 0b111100: maju (); break; case 0b001111: ping (); goto out; break; case 0b111111: maju (); break; case 0b011111: maju (); break; case 0b111110: maju (); break; case 0b011110: maju (); break; } } out: } // Declare your global variables here
void main(void) { // Declare your local variables here
L 17
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
// Input/Output Ports initialization // Port A initialization // Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In // State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T PORTA=0x00; DDRA=0x00;
// Port B initialization // Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In // State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T PORTB=0xC0; DDRB=0b00000000;
// Port C initialization // Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In // State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T PORTC=0x00; DDRC=0x00;
// Port D initialization // Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In // State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T PORTD=0x00; DDRD=0b10111111;
// Timer/Counter 0 initialization // Clock source: System Clock // Clock value: 11.719 kHz // Mode: Normal top=FFh
L 18
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI // OC0 output: Disconnected TCCR0=0x05; TCNT0=0x8A; OCR0=0x00;
// Timer/Counter 1 initialization // Clock source: System Clock // Clock value: Timer 1 Stopped // Mode: Normal top=FFFFh // OC1A output: Discon. // OC1B output: Discon. // Noise Canceler: Off // Input Capture on Falling Edge // Timer 1 Overflow Interrupt: Off // Input Capture Interrupt: Off // Compare A Match Interrupt: Off // Compare B Match Interrupt: Off TCCR1A=0xa3; TCCR1B=0x0b; TCNT1=0x0000; OCR1B=0x3ff; OCR1A=0x3ff;
// Timer/Counter 2 initialization // Clock source: System Clock // Clock value: Timer 2 Stopped // Mode: Normal top=FFh // OC2 output: Disconnected ASSR=0x00; TCCR2=0x00;
L 19
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI TCNT2=0x00; OCR2=0x00; // External Interrupt(s) initialization // INT0: Off // INT1: Off // INT2: Off MCUCR=0x00; MCUCSR=0x00; // Timer(s)/Counter(s) Interrupt(s) initialization TIMSK=0x01; // Analog Comparator initialization // Analog Comparator: Off // Analog Comparator Input Capture by Timer/Counter 1: Off ACSR=0x80; SFIOR=0x00; // ADC initialization // ADC Clock frequency: 750.000 kHz // ADC Voltage Reference: AVCC pin // ADC High Speed Mode: Off // ADC Auto Trigger Source: Free Running ADMUX=ADC_VREF_TYPE & 0xff; ADCSRA=0xA4; SFIOR&=0x0F; // LCD module initialization lcd_init(16); // Global enable interrupts #asm("sei") lcd_gotoxy(0,0); lcd_putsf("YOSAPHAT SAMODRA"); lcd_gotoxy(4,1);
L 20
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI lcd_putsf("085114013"); delay_ms(5000); lcd_clear(); while (1) { // Place your code here lcd_gotoxy(0,0); lcd_putsf("Tekan Tombol"); if (PINB.7==0) { lcd_clear(); lcd_gotoxy(0,0); lcd_putsf("Menuju POS 1"); POS1(); } else if (PINB.6==0) { lcd_clear(); lcd_gotoxy(0,0); lcd_putsf("Menuju POS 2"); POS2(); } else { stop(); delay_ms(500); lcd_clear(); } }; }
L 21
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI Rangkaian Keseluruhan
L 22
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L 23