- Bahan yang Dibutuhkan:
- Konsep Line Follower
- Diagram Sirkuit dan Penjelasan:
- Pemrograman Mikrokontroler PIC:
- Pengikut PIC Line beraksi:
Robot Line Follower adalah robot sederhana namun menarik untuk dibuat oleh sebagian besar pelajar / penggemar. Dalam tutorial ini kita akan mempelajari Bagaimana Robot Line Follower Bekerja dan bagaimana kita membuatnya menggunakan Mikrokontroler PIC PIC16F877A. PIC16F877A adalah MCU Serbaguna 40-pin dari Microchip, kami telah menggunakan IC ini dalam seri tutorial PIC lengkap kami. Jika Anda baru, di sini Anda mungkin ingin melihat tutorial PIC ini untuk mempelajari dasar IC ini dan cara mengunggah program ke mikrokontroler. Karena kami telah membahas informasi ini dalam tutorial kami, kami akan melewatkannya dalam penjelasan di bawah ini.
Jika anda tertarik dengan robotika maka anda pasti sudah sangat familiar dengan yang namanya “ Robot Line Follower ”. Robot ini mampu mengikuti suatu garis hanya dengan menggunakan sepasang sensor dan motor. Robot ini memberi Anda ruang untuk pengembangan tanpa batas dan robot seperti Kiva (robot gudang Amazon) adalah contohnya. Anda juga dapat memeriksa Robot Line Follower kami yang lain:
- Robot Line Follower menggunakan Mikrokontroler 8051
- Robot Line Follower menggunakan Arduino
- Robot Line Follower menggunakan Raspberry Pi
Bahan yang Dibutuhkan:
- PIC16F877A
- Sensor IR (2Nos)
- Motor Roda Gigi DC (2Nos)
- Pengemudi Motor L293D
- Chaises (Anda juga bisa membuatnya sendiri menggunakan karton)
- Bank daya (Sumber daya apa pun yang tersedia)
Konsep Line Follower
Robot Line Follower dapat melacak garis dengan bantuan sensor IR. Sensor ini memiliki Pemancar IR dan penerima IR. Pemancar IR (IR LED) memancarkan cahaya dan Penerima (Fotodioda) menunggu cahaya yang ditransmisikan kembali. Lampu IR akan kembali hanya jika dipantulkan oleh suatu permukaan. Padahal, semua permukaan tidak memantulkan cahaya IR, hanya permukaan warna putih yang dapat sepenuhnya memantulkannya dan permukaan warna hitam akan sepenuhnya mengamatinya seperti yang ditunjukkan pada gambar di bawah. Pelajari lebih lanjut tentang modul sensor IR di sini.
Sekarang kita akan menggunakan dua sensor IR untuk memeriksa apakah robot berada di jalur dengan garis dan dua motor untuk mengoreksi robot jika bergerak keluar dari jalur. Motor ini membutuhkan arus tinggi dan harus dua arah; oleh karena itu kami menggunakan modul driver motor seperti L293D. Kami juga membutuhkan Mikrokontroler seperti PIC untuk menginstruksikan motor berdasarkan nilai dari sensor IR. Diagram blok yang disederhanakan ditunjukkan di bawah ini.
Kedua sensor IR ini akan ditempatkan satu di kedua sisi saluran. Jika tidak ada sensor yang mendeteksi garis hitam, maka mikrokontroler PIC memerintahkan motor untuk bergerak maju seperti yang ditunjukkan di bawah ini.
Jika sensor kiri muncul pada garis hitam maka mikrokontroler memerintahkan robot untuk berbelok ke kiri dengan memutar roda kanan saja.
Jika sensor kanan muncul pada garis hitam maka mikrokontroler memerintahkan robot untuk berbelok ke kanan dengan memutar roda kiri saja.
Jika kedua sensor muncul di garis hitam, robot akan berhenti.
Dengan cara ini Robot akan dapat mengikuti garis tanpa keluar dari lintasan. Sekarang mari kita lihat bagaimana rangkaian dan Kode terlihat.
Diagram Sirkuit dan Penjelasan:
Diagram rangkaian lengkap untuk Robot Line Follower berbasis PIC ini ditunjukkan di bawah ini
Rangkaian ini menggunakan dua sensor IR dan sepasang motor roda gigi DC bersama dengan modul driver motor seperti yang ditunjukkan di atas. Modul driver motor yang digunakan dalam proyek ini adalah L293D, kita akan membutuhkan driver motor karena pin keluaran Mikrokontroler PIC tidak dapat mengalirkan arus yang cukup untuk menggerakkan motor. Modul ini akan diberi daya langsung dari sumber listrik (5V) seperti yang ditunjukkan pada rangkaian. Modul ini memiliki empat pin (dua untuk setiap motor) yang dihubungkan ke PIC untuk mengontrol arah motor. Kami juga memiliki dua sensor IR yang bertindak sebagai input ke mikrokontroler PIC. Sensor ini akan menjadi tinggi (1) jika berada di atas permukaan putih dan akan menjadi rendah (0) jika di atas permukaan hitam. Koneksi pin lengkap diilustrasikan pada tabel di bawah ini.
S.No |
Tersambung dari |
Terhubung dengan |
1 |
Sensor IR Pin kiri keluar |
RD2 (pin 21) |
2 |
Sensor IR Pin keluar kanan |
RD3 (pin 22) |
4 |
Motor 1 Saluran A pin |
RC4 (pin 23) |
5 |
Motor 1 Channel B. pin |
RC5 (pin 25) |
6 |
Motor 2 Channel A pin |
RC6 (pin 26) |
7 |
Motor 2 Channel B. pin |
RC7 (pin 27) |
Dalam perangkat keras sebenarnya saya telah menggunakan bank daya yang akan memberikan output + 5V langsung melalui port USB-nya; oleh karena itu saya telah melewati regulator tegangan 7805 dan memberi daya pada PIC, sensor dan Motor menggunakan yang sama. Anda dapat melakukan hal yang sama dengan menggunakan baterai 12V bersama dengan regulator seperti yang ditunjukkan pada rangkaian.
Pemrograman Mikrokontroler PIC:
Setelah Anda siap dengan Perangkat Keras Anda sekarang saatnya untuk memulai pemrograman. Program lengkap dari Proyek Robot Line Follower PIC ini diberikan di akhir halaman ini. Namun, bagian penting dijelaskan di bawah ini.
Inisialisasi pin I / O dengan baris berikut. 2 pin sensor IR berfungsi sebagai input dan keempat pin motor berfungsi sebagai pin output.
TRISD2 = 1; TRISD3 = 1; // Bath pin sensor IR dinyatakan sebagai input TRISC4 = 0; TRISC5 = 0; // Pin motor 1 dideklarasikan sebagai keluaran TRISC6 = 0; TRISC7 = 0; // Motor 2 pin dinyatakan sebagai keluaran
Sekarang, kita harus membaca status sensor IR dan mengontrol motor yang sesuai. Misalnya jika kedua sensornya tinggi (tidak sampai di bawah garis hitam) maka kita menggerakkan kedua motor tersebut ke depan seperti yang ditunjukkan pada program di bawah ini.
if (RD2 == 1 && RD3 == 1) // Kedua sensor tidak melewati garis balck {RC4 = 0; RC5 = 1; // Motor 1 maju RC6 = 1; RC7 = 0; // Motor 2 maju}
Jika sensor kiri melewati garis hitam maka kita belok kanan dengan menahan Motor 1 diam dan memutar Motor 2 ke arah depan. Jenis belokan ini disebut pembubutan diferensial.
else if (RD2 == 0 && RD3 == 1) // Sensor kiri melewati garis hitam {RC4 = 1; RC5 = 1; // Motor 1 stop RC6 = 1; RC7 = 0; // Motor 2 maju}
Demikian pula, jika sensor kanan melewati garis hitam maka bot dibuat berbelok ke kiri dengan menahan motor kedua dan memutar motor pertama sendirian ke arah depan seperti yang ditunjukkan di bawah ini.
else if (RD2 == 1 && RD3 == 0) // Sensor kanan melewati garis hitam {RC4 = 0; RC5 = 1; // Motor 1 maju RC6 = 1; RC7 = 1; // Motor 2 berhenti}
Akhirnya jika kedua sensor berada di bawah garis hitam maka waktunya untuk menghentikan bot. Ini dapat dilakukan dengan membuat semua pin dari kedua motor tinggi. Kode untuk melakukan hal yang sama ditunjukkan di bawah ini
else // Kedua Sensor melewati garis hitam {RC4 = 1; RC5 = 1; // Motor 1 stop RC6 = 1; RC7 = 1; // Motor 2 berhenti}
Itu saja programnya sudah siap dan bisa diunggah ke PIC menggunakan programmer seperti PicKit.
Pengikut PIC Line beraksi:
Setelah perangkat keras dan kode siap, waktunya untuk beberapa tindakan. Seperti yang dikatakan sebelumnya, saya telah menggunakan Power bank untuk memberi daya pada bot, jadi yang harus saya lakukan hanyalah menghubungkan bank daya ke bot yang perangkat kerasnya sudah diatur dan kode sudah diunggah.
Papan PIC Perf dibuat untuk seri tutorial PIC kami, di mana kami mempelajari cara menggunakan mikrokontroler PIC. Anda mungkin ingin kembali ke tutorial Mikrokontroler PIC menggunakan MPLABX dan XC8 jika Anda tidak tahu cara membakar program menggunakan Pickit 3, karena saya akan melewatkan semua informasi dasar tersebut.
Sekarang, cukup luncurkan bot di atas garis hitam dan Anda harus melihatnya mengikuti garis tersebut.
Anda mungkin menghadapi beberapa kesulitan di awal jika demikian bacalah lebih lanjut. Jika roda berputar berlawanan cukup ganti polaritas motor yang roda berputar ke arah yang berlawanan. Jika bot menyimpang dari garis, ganti sensor IR dan semuanya akan baik-baik saja.
Kerja lengkap bot dapat ditemukan di video yang diberikan di bawah ini. Semoga Anda menyukai proyek ini dan menikmati membangun sesuatu yang serupa. Jika Anda memiliki masalah dalam membuat ini berfungsi, Anda dapat mempostingnya di bagian komentar di bawah ini untuk menyelesaikannya atau gunakan forum kami untuk mendiskusikan konten teknis.