- Mga Materyal na Kinakailangan:
- Mga Konsepto ng Sumusunod sa Linya
- Raspberry Pi Line Follower Robot Circuit Diagram at Paliwanag:
- Pag-program ng iyong Raspberry PI:
- Ang Sundin ng Raspberry Pi Line sa Aksyon:
Tulad ng alam nating lahat ang Raspberry Pi ay isang kahanga-hangang pagbubuo ng platform batay sa ARM microprocessor. Sa pamamagitan ng mataas na computational na kapangyarihan at mga pagpipilian sa pag-unlad maaari itong gumana ang mga kababalaghan sa mga kamay ng mga electronics hobbyist o mag-aaral. Upang matuto nang higit pa tungkol sa isang Raspberry Pi at kung paano ito gumagana, subukan nating bumuo ng isang Line Follower Robot gamit ang Raspberry Pi.
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. Maaaring hindi ito tunog mabisa upang gumamit ng isang malakas na microprocessor tulad ng Raspberry Pi upang makabuo ng isang simpleng robot. Ngunit, 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
Mga Materyal na Kinakailangan:
- Raspberry Pi 3 (anumang modelo ay dapat gumana)
- 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 computational device tulad ng Raspberry Pi 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 nila sa PI ang mga motor na sumulong tulad ng ipinakita sa ibaba
Kung ang kaliwang sensor ay dumating sa itim na linya pagkatapos ay inuutusan ng PI 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 inuutusan ng PI 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.
Raspberry Pi Line Follower Robot Circuit Diagram at Paliwanag:
Ang kumpletong diagram ng circuit para sa Raspberry Pi Line Follower Robot na ito ay ipinapakita sa ibaba
Tulad ng nakikita mo sa circuit ay nagsasangkot ng dalawang IR sensor at isang pares ng mga motor na nakakonekta sa Raspberry pi. Ang kumpletong circuit ay pinalakas ng isang mobile Power bank (kinakatawan ng baterya ng AAA sa circuit sa itaas).
Dahil ang mga detalye ng mga pin ay hindi nabanggit sa Raspberry Pi, kailangan naming i-verify ang mga pin gamit ang larawan sa ibaba
Tulad ng ipinakita sa larawan sa tuktok na kaliwang pin ng sulok ng PI ay ang + 5V pin, ginagamit namin ang + 5V pin na ito upang mapagana ang mga IR sensor tulad ng ipinakita sa circuit diagram (pulang wired). Pagkatapos ay ikonekta namin ang mga ground pin sa lupa ng IR sensor at Motor Driver module gamit ang itim na kawad. Ang dilaw na wire ay ginagamit upang ikonekta ang output pin ng sensor 1 at 2 sa GPIO pin at 3 ayon sa pagkakabanggit.
Upang himukin ang mga Motors, kailangan namin ng apat na mga pin (A, B, A, B). Ang apat na mga pin na ito ay konektado mula sa GPIO14,4,17 at 18 ayon sa pagkakabanggit. Ang kulay kahel at puting kawad na magkakasama ang bumubuo ng koneksyon para sa isang motor. Kaya't mayroon kaming dalawang gayong mga pares para sa dalawang motor.
Ang mga motor ay konektado sa module ng L293D Motor Driver tulad ng ipinakita sa larawan at ang module ng driver ay pinalakas ng isang power bank. Tiyaking ang lupa ng power bank ay konektado sa lupa ng Raspberry Pi, pagkatapos lamang gagana ang iyong koneksyon.
Pag-program ng iyong Raspberry PI:
Kapag tapos ka na sa iyong pagpupulong at mga koneksyon ang iyong robot ay dapat magmukhang ganito.
Ngayon, oras na upang programa ang aming bot at patakbuhin ito. Ang kumpletong code para sa bot na ito ay matatagpuan sa ilalim ng tutorial na ito. Matuto nang higit pa tungkol sa Program at magpatakbo ng code sa Raspberry Pi dito. Ang mga mahahalagang linya ay ipinaliwanag sa ibaba
Mag-a-import kami ng GPIO file mula sa silid-aklatan, sa ibaba ang pagpapaandar ay nagbibigay-daan sa amin upang mai-program ang mga pin ng GPIO ng PI. Pinapalitan din namin ang pangalan ng "GPIO" sa "IO", kaya sa programa tuwing nais naming mag-refer sa mga GPIO pin gagamitin namin ang salitang 'IO'.
i-import ang RPi.GPIO bilang IO
Minsan, kapag ang mga GPIO pin, na sinusubukan naming gamitin, ay maaaring gumagawa ng ilang iba pang mga pagpapaandar. Sa kasong iyon, makakatanggap kami ng mga babala habang isinasagawa ang programa. Sa ibaba ng utos ay sinasabi sa PI na huwag pansinin ang mga babala at magpatuloy sa programa.
IO.setwarnings (Mali)
Maaari naming i-refer ang mga GPIO pin ng PI, alinman sa pamamagitan ng pin number sa board o ng kanilang function number. Tulad ng 'PIN 29' sa pisara ay 'GPIO5'. Kaya sasabihin namin dito alinman na ilalarawan namin ang pin dito sa pamamagitan ng '29' o '5'.
IO.setmode (IO.BCM)
Nagtatakda kami ng 6 na pin bilang mga input / output pin. Ang unang dalawang pin ay ang mga input pin upang mabasa ang IR sensor. Ang susunod na apat ay ang mga output pin na kung saan ang unang dalawa ay ginagamit upang makontrol ang tamang motor at ang susunod na dalawa para sa kaliwang motor.
IO.setup (2, IO.IN) #GPIO 2 -> Kaliwa IR palabas ng IO.setup (3, IO.IN) #GPIO 3 -> Right IR out IO.setup (4, IO.OUT) #GPIO 4 - > Motor 1 terminal A IO.setup (14, IO.OUT) #GPIO 14 -> Motor 1 terminal B IO.setup (17, IO.OUT) #GPIO 17 -> Motor Left terminal A IO.setup (18, IO.OUT) #GPIO 18 -> Motor Left terminal B
Ang IR sensor ay naglalabas ng "Totoo" kung ito ay higit sa isang puting ibabaw. Kaya't hangga't pareho ang sinasabi ng sensor na Totoo maaari tayong sumulong.
kung (IO.input (2) == Totoo at IO.input (3) == Totoo): # parehong puting sumulong IO.output (4, Totoo) # 1A + IO.output (14, Mali) # 1B- IO.output (17, True) # 2A + IO.output (18, Mali) # 2B-
Kailangan nating gumawa ng tamang liko kung ang unang IR sensor ay dumating sa isang itim na linya. Ginagawa ito sa pamamagitan ng pagbabasa ng IR IR sensor at kung nasiyahan ang kundisyon ihihinto namin ang tamang motor at paikutin ang kaliwang motor nang mag-isa tulad ng ipinakita sa code sa ibaba
elif (IO.input (2) == Mali at IO.input (3) == Tama): #turn right IO.output (4, True) # 1A + IO.output (14, True) # 1B- IO.output (17, Tama) # 2A + IO.output (18, Mali) # 2B-
Kailangan naming gumawa ng isang kaliwang pagliko kung ang pangalawang IR sensor ay dumating sa isang itim na linya. Ginagawa ito sa pamamagitan ng pagbabasa ng IR IR sensor at kung nasiyahan ang kundisyon ihihinto namin ang kaliwang motor at paikutin ang kanang motor nang mag-isa tulad ng ipinakita sa code sa ibaba
elif (IO.input (2) == Tama at IO.input (3) == Mali): #turn left IO.output (4, True) # 1A + IO.output (14, Mali) # 1B- IO.output (17, Tama) # 2A + IO.output (18, Totoo) # 2B-
Kung kapwa ang sensor ay dumating sa isang itim na linya, nangangahulugan ito na ang robot ay kailangang huminto. Magagawa ito sa pamamagitan ng paggawa ng parehong mga terminal ng motor na totoo tulad ng ipinakita sa code sa ibaba
iba pa: #stay still IO.output (4, True) # 1A + IO.output (14, True) # 1B- IO.output (17, True) # 2A + IO.output (18, True) # 2B-
Ang Sundin ng Raspberry Pi Line sa Aksyon:
I-upload ang python code para sa tagasunod sa linya sa iyong Raspberry Pi at patakbuhin ito. Kailangan namin ng isang portable power supply, isang power bank sa kasong ito ang magiging madaling gamiting samakatuwid ginamit ko ang pareho. Ang isa na ginagamit ko ay mayroong dalawang USB port kaya ginamit ko upang paandarin ang PI at iba pa sa Power Motor Driver tulad ng ipinakita sa larawan sa ibaba.
Ngayon ang kailangan mo lang gawin ay mag-set up ng iyong sariling itim na track ng kulay at bitawan ang iyong bot dito. Gumamit ako ng isang itim na kulay na Insulate tape upang likhain ang track na maaari mong gamitin ang anumang materyal na itim na kulay, ngunit tiyakin na ang iyong kulay sa lupa ay hindi madilim.
Ang kumpletong pagtatrabaho ng bot ay matatagpuan sa video na ibinigay sa ibaba. Inaasahan kong naintindihan mo ang proyekto at nasiyahan sa pagbuo ng isa. Kung mayroon kang anumang mga katanungan i-post ang mga ito sa seksyon ng komento sa ibaba.