- Konsep Robot Line Follower
- Komponen Diperlukan
- Diagram Sirkuit
- Memprogram Atmega16 untuk Robot Line Follower
Di sini kita akan membangun proyek lain dengan Mikrokontroler AVR Atmega16. Jika Anda baru mengenal mikrokontroler AVR maka Anda dapat merujuk ke proyek dan tutorial AVR sebelumnya.
Membangun robot selalu menjadi tantangan bagi semua penggemar elektronik. Dan sensasi ini dapat dimaksimalkan jika robot dapat secara otomatis melakukan beberapa hal tanpa instruksi dari luar. Salah satu robot yang paling sering dibuat oleh pemula di bidang elektronika adalah Robot Line Follower. Seperti namanya robot akan mengikuti garis yang digambar di permukaan. Garis tersebut tidak harus berupa garis lurus. Juga, garis bisa dari warna apa saja.
Kami sebelumnya membuat proyek Robot Line Follower menggunakan Pengontrol yang berbeda:
- Robot Line Follower menggunakan Mikrokontroler 8051
- Robot Line Follower menggunakan Mikrokontroler PIC
- Robot Line Follower menggunakan Arduino
- Robot Line Follower menggunakan Raspberry Pi
- Robot Line Follower Menggunakan MSP430 Launchpad
Hari ini kita akan menggunakan mikrokontroler AVR untuk membangun Robot Line follower.
Sebagian besar sensor IR digunakan untuk mendeteksi garis. Sensor IR bagus dalam mendeteksi permukaan putih atau hitam. Meskipun Anda dapat menggunakan sensor canggih lainnya yang akan dapat mendeteksi semua warna dan dapat membuat robot yang dapat mengikuti semua garis warna. Robot harus dapat mendeteksi garis meskipun jalur diubah dengan mengubah sudut dan terus mengikuti garis. Juga, itu harus berhenti di mana pun zona berhenti datang di garis.
Robot pengikut garis digunakan secara luas sekarang menjadi hari di industri manufaktur, medis, aplikasi domestik, dan gudang barang. Robot tidak terbatas hanya pada aplikasi ini dan dapat memperluas aplikasinya di banyak aplikasi di masa mendatang.
Konsep Robot Line Follower
Sensor IR adalah pemain kunci dalam proyek ini. Sensor IR ditempatkan di sisi depan robot untuk melacak garis hitam yang ditarik dan permukaannya. Robot ditempatkan di antara garis dan dengan bantuan sensor IR, robot melacak garis. Sensor IR memberikan umpan balik pembacaan ke mikrokontroler dan dengan bantuan pembacaan IR, mikrokontroler menggerakkan motor ke kiri atau ke kanan dan sekali lagi membawa robot ke jalur.
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 ATmega16 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 adanya garis hitam maka mikrokontroler AVR memerintahkan motor untuk bergerak maju seperti gambar dibawah
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.
Komponen Diperlukan
- DC Gear Motors (2 unit)
- Modul sensor IR (2 unit)
- Modul L293D
- Sumber Daya Nirkabel (mis. Baterai, Power bank)
- Robot Chaises
- IC Mikrokontroler Atmega16
- Osilator Kristal 16Mhz
- Dua Kapasitor 100nF
- Dua Kapasitor 22pF
- Tekan tombol
- Kabel Jumper
- Papan tempat memotong roti
- USBASP v2.0 (Untuk memprogram Atmega16)
Diagram Sirkuit
Hubungkan semua komponen seperti yang ditunjukkan di bawah ini di Diagram Sirkuit
Memprogram Atmega16 untuk Robot Line Follower
Di sini Atmega16 diprogram menggunakan USBASP dan Atmel Studio7.0. Jika Anda tidak tahu bagaimana Atmega16 dapat diprogram menggunakan USBASP, kunjungi tautannya. Program Lengkap diberikan di akhir proyek, cukup upload program di Atmega16 menggunakan programmer JTAG dan Atmel Studio 7.0 seperti yang dijelaskan pada tutorial sebelumnya.
Kami telah mencoba untuk membuat kode sesingkat dan sesederhana mungkin. Jadi kami menggunakan Macro dan register fungsi khusus dalam kode ini.
if (bit_is_clear (PINA , leftSen)) { // periksa apakah sensor kiri OFF
Pernyataan ini memeriksa apakah PA0 di mana sensor kiri terhubung adalah LOW atau HIGH.
Jika Anda ingin mempelajari lebih lanjut tentang pernyataan ini dan makro lainnya, buka tautan ini
Ada empat kondisi yang kami ikuti untuk membaca melalui sensor IR. Sensor IR diberi nama sesuai dengan penempatannya di bagian depan Robot. IR kiri adalah Sensor kiri dan IR kanan adalah sensor kanan. Kondisi berikut akan menentukan pergerakan robot.
Kami telah menulis kode sesuai dengan ketentuan di atas. Satu-satunya perubahan adalah kami hanya menggunakan dua pin input L293D untuk menggerakkan kedua motor.
Kode lengkap dengan Video demonstrasi diberikan di bawah ini.