- Konsep Robot Pengikut Line
- Komponen Diperlukan
- Rajah Litar
- Pengaturcaraan Atmega16 untuk Line Follower Robot
Di sini kita akan membina satu lagi projek dengan AVR Atmega16 Microcontroller. Sekiranya anda baru menggunakan mikrokontroler AVR maka anda boleh merujuk kepada projek dan tutorial AVR sebelumnya.
Membina robot selalu menjadi kegembiraan bagi semua penggemar elektronik. Dan keseronokan ini dapat dimaksimumkan jika robot dapat melakukan beberapa perkara secara automatik tanpa arahan luaran. Salah satu robot yang paling biasa dibina oleh pemula elektronik ialah Line Follower Robot. Seperti namanya robot akan mengikuti garis yang dilukis di permukaan. Garisan tidak perlu garis lurus. Juga, garis boleh terdiri daripada pelbagai warna.
Kami sebelum ini membina projek Line Follower Robot menggunakan Pengawal yang berbeza:
- Line Follower Robot menggunakan 8051 Microcontroller
- Line Follower Robot menggunakan PIC Microcontroller
- Line Follower Robot menggunakan Arduino
- Line Follower Robot menggunakan Raspberry Pi
- Line Follower Robot Menggunakan MSP430 Launchpad
Hari ini kita akan menggunakan mikrokontroler AVR untuk membina Robot pengikut Line.
Sebilangan besar sensor IR digunakan untuk mengesan garis. Sensor IR bagus dalam mengesan permukaan putih atau hitam. Walaupun anda dapat menggunakan sensor canggih lain yang dapat mengesan semua warna dan dapat membuat robot yang dapat mengikuti semua garis warna. Robot harus dapat mengesan garis walaupun jalan diubah dengan mengubah sudut dan terus mengikuti garis. Juga, ia harus berhenti di mana sahaja zon berhenti berada dalam barisan.
Robot pengikut talian digunakan secara meluas sekarang dalam industri pembuatan, perubatan, aplikasi domestik dan gudang barang. Robot tidak terhad hanya pada aplikasi ini dan dapat memperluas aplikasinya dalam banyak aplikasi masa depan.
Konsep Robot Pengikut Line
Sensor IR adalah pemain utama dalam projek ini. Sensor IR diletakkan di bahagian depan robot untuk mengesan garis hitam dan permukaan yang dilukis. Robot diletakkan di antara garisan dan dengan bantuan sensor IR robot mengawasi garis. Sensor IR memberi maklum balas pembacaan kepada mikrokontroler dan dengan bantuan bacaan IR, mikrokontroler menggerakkan motor ke kiri atau ke kanan dan sekali lagi membawa robot ke jalan.
Line Follower Robot dapat mengesan garis dengan bantuan sensor IR. Sensor ini mempunyai pemancar IR dan penerima IR. Pemancar IR (LED LED) menghantar cahaya dan Penerima (Photodiode) menunggu cahaya yang dipancarkan kembali. Lampu IR akan kembali hanya jika dipantulkan oleh permukaan. Manakala, semua permukaan tidak memantulkan cahaya IR, hanya permukaan warna putih yang dapat memantulkannya sepenuhnya dan permukaan warna hitam akan sepenuhnya memerhatikannya seperti yang ditunjukkan pada gambar di bawah. Ketahui lebih lanjut mengenai modul sensor IR di sini.
Sekarang kita akan menggunakan dua sensor IR untuk memeriksa apakah robot berada di landasan dengan garisan dan dua motor untuk membetulkan robot jika bergerak keluar dari landasan. Motor ini memerlukan arus yang tinggi dan harus dua arah; oleh itu kami menggunakan modul pemandu motor seperti L293D. Kita juga memerlukan Pengawal Mikro seperti ATmega16 untuk mengarahkan motor berdasarkan nilai dari sensor IR. Gambarajah blok ringkas yang sama ditunjukkan di bawah.
Kedua-dua sensor IR ini akan diletakkan satu di kedua-dua sisi talian. Sekiranya tidak ada sensor yang mengesan garis hitam, maka mikrokontroler AVR mengarahkan motor bergerak ke hadapan seperti yang ditunjukkan di bawah
Sekiranya sensor kiri datang pada garis hitam maka pengawal mikro mengarahkan robot untuk membelok ke kiri dengan memutar roda kanan sahaja.
Sekiranya sensor kanan datang pada garis hitam maka pengawal mikro mengarahkan robot untuk membelok ke kanan dengan memutar roda kiri sahaja.
Sekiranya kedua-dua sensor berada pada garis hitam, robot akan berhenti.
Dengan cara ini Robot akan dapat mengikuti garis tanpa keluar dari trek. Sekarang mari kita lihat bagaimana bentuk litar dan Kod.
Komponen Diperlukan
- Motor Gear DC (2 unit)
- Modul sensor IR (2 unit)
- Modul L293D
- Sumber Kuasa Tanpa Wayar (mis. Bateri, Power bank)
- Robot Chaises
- IC Mikrokontroler Atmega16
- Pengayun Kristal 16Mhz
- Dua Kapasitor 100nF
- Dua Kapasitor 22pF
- Tekan butang
- Wayar Pelompat
- Papan roti
- USBASP v2.0 (Untuk memprogram Atmega16)
Rajah Litar
Sambungkan semua komponen seperti yang ditunjukkan di bawah dalam Litar Diagram
Pengaturcaraan Atmega16 untuk Line Follower Robot
Di sini Atmega16 diprogramkan menggunakan USBASP dan Atmel Studio7.0. Sekiranya anda tidak tahu bagaimana Atmega16 dapat diprogramkan menggunakan USBASP, sila lawati pautan. Program Lengkap diberikan pada akhir projek, cukup muat naik program di Atmega16 menggunakan programmer JTAG dan Atmel Studio 7.0 seperti yang dijelaskan dalam tutorial sebelumnya.
Kami telah berusaha mengekalkan kodnya sesingkat dan sesederhana mungkin. Oleh itu, kami menggunakan daftar fungsi Makro dan Khas dalam kod ini.
jika (bit_is_clear (PINA , leftSen)) { // periksa sama ada sensor kiri MATI
Pernyataan ini memeriksa sama ada PA0 di mana sensor kiri disambungkan RENDAH atau TINGGI.
Sekiranya anda ingin mengetahui lebih lanjut mengenai pernyataan ini dan makro lain, pergi ke pautan ini
Terdapat empat syarat yang kita ikuti untuk membaca sensor IR. Sensor IR dinamakan mengikut penempatannya di bahagian depan Robot. IR kiri adalah sensor Kiri dan IR kanan adalah sensor kanan. Keadaan berikut akan menentukan pergerakan robot.
Kami telah menulis kod mengikut syarat di atas. Cuma perubahannya ialah kita hanya menggunakan dua pin input L293D untuk menggerakkan kedua-dua motor.
Kod lengkap dengan Video demonstrasi diberikan di bawah.