Arduino শিখুন এক্সক্লুসিভ প্রজেক্ট তৈরি করুন [পর্ব-১৯] :: servo মোটর কন্ট্রোল সিস্টেম

রোবট তৈরি করা একটা মজার কাজ। আমার মতো অনেকেরই মানুষের মতো কাজ করতে পারে এমন রোবট তৈরির ইচ্ছা আছে, তাহলে আমাদের বিভিন্ন ধরণের মোটর এবং এদের ড্রাইভিং কৌশল সম্পর্কে ধারণা থাকা দরকার।কারণ রোবটের আর্ম মুভমেন্ট, বেস মুভমেন্ট ইত্যাদি কন্ট্রোল করা হয় মোটর ব্যবহার করে।  আজকে আমরা servo মোটর কিভাবে কন্ট্রোল করা যায়, তা জানার চেষ্টা করবো।
servo মোটর এবং সাধারণ DC মোটরের মধ্যে কিছু পার্থক্য রয়েছে। সাধারণ DC মোটরে সাধারণত দুইটা তার থাকে কিন্তু servo মোটরে মোট তিনটা তার থাকে। সাধারণ DC মোটরের দুইটা তারের মধ্যে ভোল্টেজ সাপ্লাই দিলেই মোটর ঘুরতে শুরু করে, কিন্তু servo মোটরে এমনটা ঘটে না।
servo মোটরে VCC এবং GND ছাড়াও একটা সিগন্যাল পিন থাকে।
উপরের ছবিতে একটা servo মোটরের বিভিন্ন অংশ দেখানো হয়েছে।

সাধারণত তিনটা তারের মধ্যে একপাশের একটা তার কালো/বেগুনী রংয়ের হয় এই তারটি হচ্ছে GND, মাঝের লাল তারটি সাধারণত VCC এবং শেষের হলুদ রংয়ের তারটি সিগ্যাল হয়ে থাকে।

যে সকল উপকরণ লাগবে

  •  একটা servo মোটর
  • Male to Female jumper wires
  • একটা Arduino uno
  • 10k ohm পটেনশোমিটার

আরডুইনো এর সাথে servo মোটরের সংযোগ

 

প্রোগ্রাম কোড


#include <Servo.h>
 
Servo myservo;
 
int potpin = 0;  
int val;   
 
void setup()
{
  myservo.attach(9);  
}
 
void loop()
{
  val = analogRead(potpin);           
  val = map(val, 0, 1023, 0, 179);     
  myservo.write(val);                  
  delay(15);                           
}

প্রোগ্রাম পর্যবেক্ষণ

#include <Servo.h> এর মাধ্যমে Servo মোটরের জন্য প্রয়োজনীয় লাইব্রেরী ফাইল সংযুক্ত করা হয়েছে।

Servo myservo; এর মাধ্যমে Servo মোটরটি কন্ট্রোল করার জন্য myservo নামে একটা Object তৈরি করা হয়েছে।

int potpin = 0; এর মাধ্যমে একটা ভেরিয়েবল ডিক্লেয়ার করা হয়েছে যা মূলত পরবর্তীতে পটেনশোমিটারের পিন নং A0 হিসেবে ব্যবহৃত হবে। int val;

এর মাধ্যমে  একটা ভেরিয়েবল ডিক্লেয়ার করা হয়েছে যা পরবর্তীতে A0 পিন থেকে যে এনালগ ভ্যালু রিড করবে তা জমা রাখবে।

void setup() {   myservo.attach(9);   } এর মাধ্যমে ৯ নং ডিজিটাল ইনপুট আউটপুট পিনকে Servo মোটরের সিগন্যাল ওয়্যারের জন্য নির্ধারণ করা হয়েছে। val = analogRead(potpin);  এর মাধ্যমে পটেনশোমিটার থেকে ভোল্টেজের ভ্যালু রিড করে 0 থেকে 1023 রেন্জের মধ্যে একটা এনালগ ভ্যালু তৈরি করে, যা val ভেরিয়েবলের মাধ্যমে জমা থাকে। val = map(val, 0, 1023, 0, 179); এর মাধ্যমে 0 থেকে 1023 রেন্জের এনালগ ভ্যালুকে রিস্কেল করে 0 থেকে 179 রেন্জের মধ্যে আনা হয়। এক্ষেত্রে Servo মোটরটি কত ডিগ্রী এঙ্গেলে ঘুরবে তা val ভেরিয়েবলের মান নির্দেশ করে।

myservo.write(val); এর মাধ্যমে Servo কে নির্দিষ্ট এঙ্গেলে ঘুরতে নির্দেশ দেয়া হয়।
delay(15); এর মাধ্যমে ১৫ মিলিসেকেন্ডের একটা সময় বিরতি তৈরি করা হয়েছে।

আশা করছি সবাই সফলভাবে কাজটি করতে পারবেন।

 

কোর্স শেষে পাবেন টেকটিউনসসস ভেরিফায়েড সার্টিফিকেট!

এই কোর্সটি আপনি সফলভাবে এবং সক্রিয় অংশগ্রহণের মাধ্যমে সমাপ্ত করে এই কোর্সের টেকটিউনস ভেরিফায়েড সার্টিফিকেট গ্রহণ করতে পারবেন। এজন্য অংশগ্রহণকারীদের জন্য প্রতি পর্বে যে যে সকল প্রশ্ন, প্রজেক্ট এবং করণীয় থাকবে তা সঠিকভাবে সম্পাদন করুন এবং কোর্স শেষে আপনাদেরকে টেকটিউনসসের নির্দেশনা অনুযায়ী এক বা একাধিক সিমুলেশন প্রজেক্ট সাবমিট করতে হবে। যেগুলো টেকটিউনসসস কতৃপক্ষ বিশ্লেষণ করে দেখবেন, এবং এর উপর ভিত্তি করে সার্টিফিকেট প্রদান করা হবে।

আশা করছি এরই মধ্যে অনেকেই Arduino নিয়ে কাজ শুরু করেছেন। আবার অনেকেই Arduino বোর্ড সংগ্রহ করা সহ, বেশ কিছু সমস্যার কারণে কাজ শুরু করতে পারেন নি। আমি প্রায়ই অনেকের কাছ থেকে ম্যাসেজ পাই, চেষ্টা করি সবাইকে আমার সাধ্যে অনুযায়ী সাপোর্ট দেয়ার। Arduino শেখার সাথে সম্পর্কযুক্ত যে কোন বিষয় যেমন Arduino বোর্ড এবং অন্যান্য যন্ত্রাংশ সংগ্রহ করা, কোর্সের কোন পার্ট সম্পর্কে বা প্রোগ্রাম সম্পর্কে কোন বিষয় আমাকে জানানোর জন্য টিউমেন্ট করার পাশাপাশি আমাকে [email protected] এ মেইল করতে পারেন বা https://www.facebook.com/pages/Ashim-Kumar/1530502553863914 ফেসবুকে ম্যাসেজ দিতে পারেন। সবার জন্য শুভকামনা রইলো।

Level 2

আমি অসীম কুমার পাল। বিশ্বের সর্ববৃহৎ বিজ্ঞান ও প্রযুক্তির সৌশল নেটওয়ার্ক - টেকটিউনস এ আমি 14 বছর 11 মাস যাবৎ যুক্ত আছি। টেকটিউনস আমি এ পর্যন্ত 147 টি টিউন ও 469 টি টিউমেন্ট করেছি। টেকটিউনসে আমার 17 ফলোয়ার আছে এবং আমি টেকটিউনসে 0 টিউনারকে ফলো করি।

আমি অসীম কুমার পাল। ইলেকট্রনিক্স এবং ওয়েব ডিজাইনকে অন্তরে ধারণ করে পথ চলতেছি। স্বপ্ন দেখি এই পৃথিবীর বুকে একটা সুখের স্বর্গ রচনা করার। নিজেকে একজন অতি সাধারণ কিন্তু সুখী মানুষ ভাবতে পছন্দ করি।


টিউনস


আরও টিউনস


টিউনারের আরও টিউনস


টিউমেন্টস