Line Follower

What is Line Follower Robot ?

Line Follower Robot ဆိုတာကေတာ့ သတ္မွတ္ထားတဲ့ အမဲေရာင္လမ္းေၾကာင္း သို႔မဟုတ္ အျဖဴေရာင္ လမ္းေၾကာင္းေလးအတိုင္း အလုိအေလွ်ာက္ ေမာင္းႏွင္မယ့္ကားေလးပါ။ ယခု Project မွာေတာ့ အမဲေရာင္ လမ္းေၾကာင္းကိုသံုးထားပါတယ္။

How to work Line Follower Robot ?

Line follower မွာ tracking sensor ၂ခုပါပါတယ္။ Sensor ၂ခုလံုး လမ္းေၾကာင္းေပၚမွာ ရွိေနမယ္ဆိုရင္ေတာ့ ကားဟာ အတည့္ အတိုင္းသြားမွာျဖစ္ပါတယ္။ ဘယ္ဘက္ sensor က လိုင္းမွ ေသြဖယ္သြားမယ္ဆိုရင္ေတာ့ ကားဟာ ညာဘက္ ကိုေကြ႕မွာျဖစ္ပါတယ္။ ညာဘက္ sensor က လိုင္းရဲ႕ အျပင္ဘက္ ေရာက္သြားမယ္ ဆိုရင္ေတာ့ ကားဟာ ဘယ္ဘက္ေကြ႕သြားမွာပါ။ ေနာက္ထပ္ ေရွ႕မွာ အတားအဆီးတစ္ခုခုရွိရင္လဲ ဆက္မသြားဘဲ ရပ္ေနေစဖို႔ distance sensor လဲပါပါတယ္။ ယခုကားေလးရဲ႕ function ကေတာ့ ဒီေလာက္ပါဘဲ။ ကားရဲ႕ လုပ္ေဆာင္ခ်က္ေကာင္းေအာင္ တျခားတျခားေသာ function ေတြကိုလဲ ကိုယ့္စိတ္တိုင္းက် ထပ္ျဖည့္ႏုိင္ပါတယ္။ ကဲ ဘယ္လိုလုပ္လဲ စလိုက္ၾကရေအာင္ -

Part List

  1. Robot Frame
  2.  2x robotic Wheels   (ယခု project မွာေတာ့ 2 wheel drive ဘဲ လုပ္ထားပါတယ္။
    ေနာက္ဘီး၂လံုးကေတာ့ Free Wheel ေတြျဖစ္ပါတယ္။)
  3. 1x   L293D motor Driver
  4. 2x   Ky-033 Sensor (Line Tracking Sensor)
  5. Arduino Uno
  6. HC-SR04 Ultrasonic Sensor
  7. Lipo battery (9V (သို့) rechargeable battery ေတြလဲသံုးလို႔ရပါတယ္)
  8. Black Tape

L293D motor Driver

Arduino ရဲ့ digital Output pin တစ္ pin ခ်င္းစီဟာ 40mA ေလာက္ဘဲထြက္ပါတယ္။ motor က 60mA ေလာက္သံုးတဲ့အတြက္ Arduino ကေန တိုက္ရုိက္ control လုပ္လို႔မရပါဘူး။ ဒီေတာ့ motor ေတြေမာင္းႏွင္ႏုိင္ဖုိ႔ High current ေပးႏုိင္တဲ့ motor driver ေတြကိုသံုးရပါတယ္။  ယခု project မွာေတာ့ L293D H bridge IC ေလးသံုးထားပါတယ္။ အျခား driver ေတြ(L298N , SN754410, etc..) လဲသံုးႏုိင္ပါတယ္။   H bridge သံုးရတဲ့အေၾကာင္းရင္းကေတာ့ ေမာ္တာေတြကို speed အျပင္ forward , backward  direction ၂ခုလံုး control လုပ္ခ်င္တဲ့အတြက္ေၾကာင့္ ျဖစ္ပါတယ္။

ဒီေနရာမွာ H bridge အေၾကာင္းေလး ကြ်န္ေတာ္ ေလ့လာမိသေလာက္ေျပာျပပါမယ္။ H bridge မွာ switch ၄ ခုဟာH ပံုစံရွိေနပါတယ္။ Switch ဆိုေပမယ့္ အမွန္ေတာ့ transistor ေလးေတြျဖစ္ပါတယ္။ H bridge မွာ state ၄ခုရွိပါတယ္။ open ရယ္၊ braking ရယ္၊ forward ရယ္၊ backward ရယ္ပါ။ Open state မွာဆိုရင္ေတာ့ switch ေတြအကုန္ open ျဖစ္ေနတဲ့အေနထားပါ။ အဲဒီ state မွာဆိုရင္ေတာ့ motor ေတြဟာ အလုပ္မလုပ္ပါဘူး။ Forward state မွာဆိုရင္ေတာ့ ေထာင့္ျဖတ္အေနထားမွာရွိတဲ့ switch ၂ခုဟာ အပိတ္အေနထားျဖစ္ေနမွာပါ။ အဲ့ဒီအခ်ိန္မ်ိဳးမွာဆိုရင္ေတာ့ motor ဟာ အတည့္အတိုင္းလည္မွာပါ။ Motor ကုိေျပာင္းျပန္လည္ခ်င္တယ္ဆိုရင္ေတာ့ က်န္တဲ့ switch ၂ခုဟာ open အေနထားျဖစ္သြားျပီး ခုနက switch ၂ခုကေတာ့ close အေနထားျဖစ္သြားမွာပါ။

ဒီပံုကေတာ့ L293D ရဲ႕ pin Description ပါ။ Pin 1 ကေတာ့ ဘယ္ဘက္ ေမာ္တာကို enable ေပးဖို႔ပါ။ Active High ျဖစ္ေနရပါမယ္။ Pin 2 နဲ့ pin 7ကေတာ့ control လုပ္ဖို႔ Arduino board ကို Input အေနနဲ႔ သြားမွာပါ။ Pin 3နဲ႔ Pin 6 ကေတာ့ motor ကလာမယ့္ output pin ေတြပါ။ Pin 4 နဲ႔ 5ကေတာ့ Ground ကိုသြားမယ့္ pin ေတြပါ။ Pin 8ကေတာ့ အျပင္ကေနသပ္သပ္ေပးမယ့္ Power source အတြက္ပါ။ Maximum 24V ထိေပးလို႔ ရပါတယ္။ pin 16ကေတာ့ ICကို power ေပးဖို႔ အတြက္ပါ။ Arduino ကလာတဲ့ 5V ေပးႏုိင္ပါတယ္။ က်န္တဲ့ pin ေတြကေတာ့ IC ဘယ္ဘက္ျခမ္းမွာရွိတဲ့ Pin ေတြနည္းတူပါဘဲ။

Ky-033 Line Tracking Sensor

Tracking sensor မွာ IR LED ရယ္ Photo-diode LED ရယ္ ၂လံုးပါပါတယ္။ IR LED ကေန infrared  rays လႊတ္ပါတယ္။ ေအာက္မ်က္ႏွာျပင္ကိုရိုက္ျပီး ျပန္ထြက္လာတဲ့ rays ကိုေတာ့ photo-diode LED ကဖမ္းယူျပီး Controller ကိုပုိ႔ပါတယ္။ ယခု ပေရာဂ်က္မွာေတာ့ လိုင္းအမဲကိုသံုးထားတဲ့အတြက္ အလင္းျပန္မႈ အနည္းအမ်ားေပၚ မူတည္ျပီထိန္းခ်ဳပ္ထားပါတယ္။

HC-SR04 Ultrasonic Sensor

Ultrasonic Sensor ကိုေတာ့ distance တိုင္းဖို႔အတြက္သံုးပါတယ္။ Ping sensor လို႔လည္းေခၚၾကပါတယ္။ Ultrasonic Sensor မွာ speaker 2လံုးပါပါတယ္။ တစ္လံုးကေန အသံလိႈင္းထုတ္ေပးပါတယ္။ အတားအဆီးတစ္ခုခု (သို႔မဟုတ္) မ်က္ႏွာျပင္တစ္ခုခုကိုရိုက္ျပီးျပန္ကန္ထြက္လာတဲ့ echo ကို က်န္တဲ့ speaker တစ္လံုးကဖမ္းျပီး controller ဆီပို႔ပါတယ္။ Ultrasonic Senor ေတြဟာ အနည္းဆံုး 2cm ကေန အမ်ားဆံုး 4 m ေလာက္ထိ sense လုပ္ႏုိင္ပါတယ္။

Wire Connection

ကြ်န္ေတာ္ဒီပံုမွာေတာ့ Ky-033 sensor မရွိတဲ့အတြက္ IR sensor ေလးနဲ႔ဆြဲထားတာပါ။ 😀

1 Response

  1. ကြ်န္ေတာ္က ဒီ semester မွာ Senior Project စလုပ္ရမွာပါ။ ဒီ post ေလးကေတာ္ေတာ္ကိုအေထာက္ကူျဖစ္ပါတယ္။ ကြ်န္ေတာ္ကေတာ့ Auto Parking robot Car ေလးလုပ္ခ်င္တာပါ။ တကယ္လို့ မ်ားအဲ့ဒါေလးနဲ ့ပက္သက္ျပီးရွိတယ္ဆို တင္ေပးေစလိုပါတယ္ ... ကြ်န္ေတာ္အတြက္ အနည္းငယ္စတင္ဖို ့ခက္ခဲေနလုိ ့ပါ။

Leave a comment