- Mga Materyal na Kinakailangan:
- Mga Konsepto ng Sumusunod sa Linya
- Circuit Diagram at Paliwanag:
- Programming PIC Microcontroller:
- Ang Tagasunod sa Linya ng PIC sa Pagkilos:
Ang isang Line Follower Robot ay isang simple ngunit kamangha-manghang robot para sa karamihan sa mga mag-aaral / libangan na bumuo. Sa tutorial na ito matututunan natin Kung Paano Gumagana ang isang Line Follower Robot at kung paano namin mabubuo ang isa gamit ang PIC Microcontroller PIC16F877A. Ang PIC16F877A ay isang 40-pin Multipurpose MCU mula sa Microchip, ginamit namin ang IC na ito sa aming kumpletong serye ng tutorial na PIC. Kung bago ka, narito baka gusto mong tingnan ang mga tutorial na PIC na ito upang malaman ang pangunahing kaalaman ng IC na ito at kung paano mag-upload ng mga programa sa microcontroller. Dahil nasakop na namin ang impormasyong ito sa aming mga tutorial ay lalaktawan namin ang mga ito sa paliwanag sa ibaba.
Kung interesado ka sa robotics dapat mong maging pamilyar sa pamagat na " Line Follower Robot ". Ang robot na ito ay may kakayahang sumunod sa isang linya, sa pamamagitan lamang ng paggamit ng pares ng sensor at motor. Binibigyan ka ng robot na ito ng puwang para sa walang katapusang pag-unlad at ang mga robot tulad ng Kiva (Amazon warehouse robot) ay isang halimbawa para dito. Maaari mo ring suriin ang aming iba pang Mga Robot ng Sumusunod sa Linya:
- Line Follower Robot na gumagamit ng 8051 Microcontroller
- Line Follower Robot gamit ang Arduino
- Line Follower Robot gamit ang Raspberry Pi
Mga Materyal na Kinakailangan:
- PIC16F877A
- IR Sensor (2Nos)
- DC Gear Motor (2Nos)
- L293D Motor Driver
- Mga Chaise (Maaari ka ring bumuo ng iyong sariling gamit ang mga karton)
- Power bank (Anumang magagamit na mapagkukunan ng kuryente)
Mga Konsepto ng Sumusunod sa Linya
Ang Line Follower Robot ay nakakapagsubaybay ng isang linya sa tulong ng isang IR sensor. Ang sensor na ito ay may IR Transmitter at IR receiver. Ang IR transmitter (IR LED) ay nagpapadala ng ilaw at naghihintay ang Receiver (Photodiode) para sa transmitted light na bumalik. Ang isang ilaw ng IR ay babalik lamang kung ito ay sumasalamin ng isang ibabaw. Samakatuwid, ang lahat ng mga ibabaw ay hindi sumasalamin ng isang ilaw ng IR, puti lamang ang ibabaw ng kulay na maaaring ganap na sumasalamin sa kanila at ang itim na kulay sa ibabaw ay ganap na obserbahan ang mga ito tulad ng ipinakita sa pigura sa ibaba. Matuto nang higit pa tungkol sa module ng IR sensor dito.
Gumagamit kami ngayon ng dalawang IR sensor upang suriin kung ang robot ay nasa track na may linya at dalawang motor upang itama ang robot kung gumagalaw ito sa labas ng track. Ang mga motor na ito ay nangangailangan ng mataas na kasalukuyang at dapat na bi-directional; kaya gumagamit kami ng isang module ng driver ng motor tulad ng L293D. Kakailanganin din namin ang isang Microcontroller tulad ng PIC upang turuan ang mga motor batay sa mga halaga mula sa IR sensor. Ang isang pinasimple na diagram ng block ng pareho ay ipinapakita sa ibaba.
Ang dalawang IR sensor ay mailalagay isa sa magkabilang panig ng linya. Kung wala sa mga sensor ang nakakakita ng isang itim na linya sa kanila itinuturo ng PIC microcontroller ang mga motor na sumulong tulad ng ipinakita sa ibaba
Kung ang kaliwang sensor ay dumating sa itim na linya pagkatapos ay inutusan ng microcontroller ang robot na kumaliwa sa pamamagitan ng pag-ikot ng kanang gulong nang mag-isa.
Kung ang tamang sensor ay dumating sa itim na linya pagkatapos ay inutusan ng microcontroller ang robot na lumiko pakanan sa pamamagitan ng pag-ikot ng kaliwang gulong nang mag-isa.
Kung ang parehong mga sensor ay dumating sa itim na linya, humihinto ang robot.
Sa ganitong paraan magagawang sundin ng Robot ang linya nang hindi lumalabas sa track. Tingnan natin ngayon kung paano ang hitsura ng circuit at Code.
Circuit Diagram at Paliwanag:
Ang kumpletong diagram ng circuit para sa PIC batay sa Line Follower Robot na ito ay ipinapakita sa ibaba
Gumagamit ang circuit ng dalawang IR sensor at isang pares ng DC gear motor kasama ang isang module ng driver ng motor tulad ng ipinakita sa itaas. Ang module ng Motor driver na ginamit sa proyektong ito ay L293D, kakailanganin namin ng isang driver ng motor dahil ang output pin ng PIC Microcontroller ay hindi maaaring mapagkukunan ng sapat na kasalukuyang para sa mga motor upang magmaneho. Ang modyul na ito ay direktang mapapatakbo mula sa pinagmulan ng kuryente (5V) tulad ng ipinakita sa circuit. Ang module ay may apat na pin (dalawa para sa bawat motor) na konektado sa PIC upang makontrol ang direksyon ng mga motor. Mayroon din kaming dalawang IR sensor na kumikilos bilang isang input sa PIC microcontroller. Ang mga sensor na ito ay magiging mataas (1) kung ang mga ito ay higit sa isang puting ibabaw at babaan (0) kapag nasa isang itim na ibabaw. Ang kumpletong mga koneksyon sa pin ay isinalarawan sa talahanayan sa ibaba.
S.Hindi |
Nakakonekta mula sa |
Nakakonekta sa |
1 |
IR sensor Naiwan na pin |
RD2 (pin 21) |
2 |
IR sensor Right out pin |
RD3 (pin 22) |
4 |
Motor 1 Channel Isang pin |
RC4 (pin 23) |
5 |
Motor 1 Channel B pin |
RC5 (pin 25) |
6 |
Motor 2 Channel Isang pin |
RC6 (pin 26) |
7 |
Motor 2 Channel B pin |
RC7 (pin 27) |
Sa aktwal na hardware Gumamit ako ng isang power bank na magbibigay ng isang output ng + 5V nang direkta sa pamamagitan ng USB port; kaya't na-bypass ko ang 7805 voltage regulator at pinapagana ang PIC, sensor at Motors na gumagamit ng pareho. Maaari mong gawin ang parehong paggamit ng isang 12V na baterya kasama ang isang regulator tulad ng ipinakita sa circuit.
Programming PIC Microcontroller:
Kapag handa ka na sa iyong Hardware oras na upang magsimulang mag-program. Ang kumpletong programa ng PIC Line Follower Robot Project na ito ay ibinibigay sa pagtatapos ng pahinang ito. Gayunpaman ang mga mahahalagang tipak ay ipinaliwanag sa ibaba.
Pasimulan ang mga I / O na pin sa pamamagitan ng mga sumusunod na linya. Ang 2 IR sensor pin ay kumikilos bilang input at ang apat na motor pin ay kumikilos bilang mga output pin.
TRISD2 = 1; TRISD3 = 1; // Paliguan ang mga IR sensor pin ay idineklarang input TRISC4 = 0; TRISC5 = 0; // Motor 1 pins na idineklarang output TRISC6 = 0; TRISC7 = 0; // Ang motor 2 pin ay idineklarang output
Ngayon, kailangan nating basahin ang katayuan ng parehong sensor ng IR at kontrolin ang motor nang naaayon. Halimbawa kung ang parehong mga sensor ay mataas (ay hindi dumating sa ilalim ng itim na linya) pagkatapos ay ilipat namin ang parehong mga motor pasulong tulad ng ipinakita sa programa sa ibaba.
kung (RD2 == 1 && RD3 == 1) // Parehong sensor na hindi higit sa linya ng balck {RC4 = 0; RC5 = 1; // Motor 1 forward RC6 = 1; RC7 = 0; // Motor 2 pasulong}
Kung ang kaliwang sensor ay dumating sa itim na linya pagkatapos ay gumawa kami ng isang kanang pagliko sa pamamagitan ng pagpindot sa Motor 1 pa rin at pag-ikot ng Motor 2 sa pasulong na direksyon. Ang ganitong uri ng pagikot ay tinatawag na kaugalian sa pagliko.
kung hindi man (RD2 == 0 && RD3 == 1) // Ang kaliwang sensor ay lampas sa itim na linya {RC4 = 1; RC5 = 1; // Motor 1 stop RC6 = 1; RC7 = 0; // Motor 2 pasulong}
Katulad nito, kung ang tamang sensor ay dumating sa itim na linya kung gayon ang bot ay ginawa upang kumaliwa sa pamamagitan ng pagpindot sa pangalawang motor at paikutin ang unang motor na nag-iisa sa pasulong na direksyon tulad ng ipinakita sa ibaba.
kung hindi man (RD2 == 1 && RD3 == 0) // Ang kanang sensor ay higit sa itim na linya {RC4 = 0; RC5 = 1; // Motor 1 forward RC6 = 1; RC7 = 1; // Motor 2 stop}
Panghuli kung ang parehong mga sensor ay nasa ilalim ng isang itim na linya kung gayon oras na upang ihinto ang bot. Maaari itong magawa sa pamamagitan ng paggawa ng lahat ng mga pin ng parehong mga motor na mataas. Ang code na gawin ang pareho ay ipinapakita sa ibaba
kung hindi man // Parehong Sensor sa itim na linya {RC4 = 1; RC5 = 1; // Motor 1 stop RC6 = 1; RC7 = 1; // Motor 2 stop}
Iyon lang ay handa na ang programa at maaaring mai-upload sa PIC gamit ang anumang programmer tulad ng PicKit.
Ang Tagasunod sa Linya ng PIC sa Pagkilos:
Kapag handa na ang hardware at code, oras na para sa ilang aksyon. Tulad ng sinabi nang maaga Gumamit ako ng isang Power bank upang mapagana ang bot, kaya ang kailangan ko lang gawin ay simpleng ikonekta ang power bank sa bot na mayroong naka-set up na hardware at naka-upload na nga na code.
Ang PIC Perf board ay ginawa para sa aming serye ng pagtuturo ng PIC, kung saan natutunan namin kung paano gamitin ang PIC microcontroller. Maaaring gusto mong bumalik sa mga tutorial ng PIC Microcontroller gamit ang MPLABX at XC8 kung hindi mo alam kung paano sunugin ang isang programa gamit ang Pickit 3, dahil lalaktawan ko ang lahat ng pangunahing impormasyon.
Ngayon, ilunsad lamang ang bot sa isang itim na linya at dapat mo itong panoorin na sumusunod sa linya.
Maaari kang harapin ang ilang mga paghihirap sa simula sa kasong iyon basahin pa. Kung ang mga gulong ay paikutin sa kabaligtaran ay palitan lamang ang polarity ng motor kung sino ang gulong na umiikot sa tapat ng direksyon. Kung ang bot ay lumihis mula sa linya, palitan ang IR sensor at lahat ay dapat na mabuti.
Ang kumpletong pagtatrabaho ng bot ay matatagpuan sa video na ibinigay sa ibaba. Inaasahan kong gusto mo ang proyekto at nasiyahan sa pagbuo ng isang bagay na katulad. Kung mayroon kang problema sa pagtatrabaho nito maaari mong i-post ang mga ito sa seksyon ng komento sa ibaba upang malutas ito o gamitin ang aming mga forum upang talakayin ang mga teknikal na nilalaman.