মাইক্রোকন্ট্রোলার গুরু [পর্ব-১০] ::AVR মাইক্রোকন্ট্রোলার বেসিক (পর্ব-১)

আমরা পূর্বের টিউন গুলোতে মাইক্রোচিপের তৈরি  জনপ্রিয় পি আই সি সিরিজের মাইক্রোকন্ট্রোলার নিয়ে আলোচনা করেছি। আজকে থেকে অন্য একটা জনপ্রিয় সিরিজের মাইক্রোকন্ট্রোলার AVR মাইক্রোকন্ট্রোলার নিয়ে আলোচনা করবো।

AVR মাইক্রোকন্ট্রোলার

AVR মাইক্রোকন্ট্রোলার সমূহের উৎপাদনকারী প্রতিষ্ঠানের নাম হচ্ছে এটমেল কর্পোরেশন। বর্তমানে  বাংলাদেশে পি আই সি সিরিজের মাইক্রোকন্ট্রোলারের পাশাপাশি AVR সিরিজের মাইক্রোকন্ট্রোলারও অধিক জনপ্রিয়। এবং দিন দিন এর জনপ্রিয়তা বাড়ছে। এর পেছনে বেশ কিছু কারণ রয়েছে।
  • AVR সিরিজের মাইক্রোকন্ট্রোলার তুলনামূলক দামে সস্তা।
  • বাংলাদেশের মার্কেটে সহজলভ্য।
  • AVR সিরিজের বিভিন্ন ধরণের চিপ রয়েছে। কিন্তু অভ্যন্তরীণ এবং বাহ্যিক গঠনে সদৃশ্যতা রয়েছে।
  • AVR সিরিজের মাইক্রোকন্ট্রোলারের জন্য প্রোগ্রাম লোডার তৈরি করা খুব সহজ, বাজারে সহজ লভ্য, এবং দামও কম।
  • নতুনদের জন্য মাইক্রোকন্ট্রোলার শেখার ক্ষেত্রে খুব সহায়ক।
  • Arduino তে AVR সিরিজের মাইক্রোকন্ট্রোলার ব্যবহার করা হয়।

প্রাথমিক প্রস্তুতি

AVR সিরিজের মাইক্রোকন্ট্রোলার নিয়ে কাজ করতে গেলে খুব বেশি প্রস্তুতি নেয়ার প্রয়োজন নেই। কিছু সফটওয়্যার এবং হার্ডওয়ার সংগ্রহ করতে হবে।
প্রয়োজনীয় হার্ডওয়্যার সমূহ
  
  • মাইক্রোকন্ট্রোলার Atmega8/Atmega328  এবং Atmega16/Atmega32
  • প্রোগ্রাম লোড করার জন্য USBASP AVR Programmer
  • প্রজেক্ট বোর্ড এবং কিছু সংযোগ তার
  • 5v রেগুলেটেড পাওয়ার সাপ্লাই 
  • কিছু এল ই ডি সহ  সাধারণ কিছু যন্ত্রাংশ

সফটওয়্যার সমূহ
  • AVR Studio 5.1  (396MB) এর মাধ্যমে প্রোগ্রাম লেখা , কম্পাইল করা এবং .hex ফাইল তৈরি করা যাবে, যা পরবর্তীতে USBASP AVR Programmer ব্যবহার করে মাইক্রোকন্ট্রোলারে লোড করা যাবে।
  • কোড সিমুলেশন করার জন্য ,জনপ্রিয় সিমুলেশন সফটওয়্যার Proteus । যা অফিসিয়াল ওয়েব সাইট  http://www.labcenter.com/index.cfm থেকে তাদের নীতিমালা অনুসরণ করে  সংগ্রহ করা যাবে । এছাড়া সফটওয়্যারটি সংগ্রহ করার জন্য  Google এর সহযোগিতা নেয়া যেতে পারে। Proteus খুবই জনপ্রিয় এবং পরিচিত সফটওয়্যার হওয়ায় আশা করছি  আপনারা  সবাই সহজেই সংগ্রহ করতে পারবেন।
  • প্রোগ্রাম লোড করার জন্য eXtreme Burner বা Khazama AVR Programmer ব্যবহার করা যাবে।

প্রোগ্রাম লোড করার পদ্ধতি সম্পর্কে পরবর্তীতে আলোচনা করা হবে। এখন AVR Studio 5 সম্পর্কে এবং AVR Studio 5 ব্যবহার করে কিভাবে কাজ করতে হয় দেখবো।  শুরুতেই এ ভি আর স্টুডিও এর  বৈশিষ্ট্য সমূহ এক নজরে দেখে নেয়া যাক।

                                                           

AVR Studio 5 এর ফিচার সমূহ

  •      AVR Studio 5 এ ভি আর সিরিজের মাইক্রোকন্ট্রোলার সমূহের জন্য একটি ইন্টিগ্রেটেড ডেভেলপমেন্ট এনভায়রনমেন্ট (IDE) .
  •      এটা ব্যবহার করে  এ ভি আর সিরিজের মাইক্রোকন্ট্রোলার চিপ সমূহ সিমুলেশন এবং সার্কিট এমুলেশন করা যায়।
  •      এটা এ ভি আর সিরিজের সকল মাইক্রোকন্ট্রোলার সমর্থন করে।
  •      এর  ইউজার ইন্টারফেস (UI ) ব্যবহার করা সহজ ।
  •      এর মাধ্যমে সিমুলেশন এবং এমুলেশন করার  জন্য একই UI ব্যবহার করা যায়, কোন থার্ড পার্টি সফটওয়ার টুলস বা প্লাগিন ব্যবহারের প্রয়োজন হয় না।
  •       এর ইউজার ইন্টারফেস (UI ) ভিজুয়্যাল স্টুডিও এর অনুরূপ।

AVR Studio 5 ব্যবহার করে  প্রথম প্রজেক্ট তৈরি

AVR Studio 5 ইন্সটল করা হলে Start → All Programs → Atmel AVR Tools → AVR Studio 5.0 নির্দেশনা অনুসরণ করে ওপেন করুন।
ওপেন হলে নিচের মতো একটা পেজ দেখতে পাবেন। এখান থেকে New Project এ ক্লিক করুন।
এর পর যে উইন্ডো আসবে , সেখান থেকে AVR GCC নির্বাচন করুন। এরপর Empty Executable Project নির্বাচন করুন। এর পর প্রজেক্টের জন্য  যেকোন একটা নাম দেয়া যেতে পারে, যেমন MyFirstProject।  এর পর হার্ডডিস্কের কোন লোকেশনে প্রজেক্টি সেভ হবে তা দেখিয়ে দিতে হবে।Create directory for solution চেকবক্সে টিক চিহ্ন দিয়ে OK বাটনে ক্লিক করতে হবে।
এরপর  ডিভাইস নির্বাচনের জন্য একটা ডাইলোগ বক্স দেখা যাবে, যেখানে AVR Studio 5 সাপোর্ট করে এ ধরণের সকল মাইক্রোকন্ট্রোলার সমূহ দেখা যাবে। এখান থেকে আমরা যে ডিভাইসের জন্য প্রোগ্রাম লিখতে চাচ্ছি তা নির্বাচন করে দিতে হবে। যেমন ATmega32। এরপর OK বাটনে ক্লিক করতে হবে।
এখন নিচের ছবির  মতো একটা উইন্ডো দেখা যাবে, যেখানে একটা বেসিক প্রোগ্রাম স্ট্রাকচার থাকবে। এখানে while(1){} লুপের মধ্যে আমাদের প্রোগ্রামের জন্য প্রয়োজনীয় ভেরিয়েবল , ফাংশন এবং স্টেটমেন্ট সমূহ লেখতে পারি।
আমরা সফল ভাবে একটা প্রজেক্ট ওপেন করতে সক্ষম হয়েছি । আমরা সামনের পর্বে দেখবো কিভাবে  সি প্রোগ্রামিং ল্যাঙ্গুয়েজ ব্যবহার করে প্রোগ্রাম লিখতে হয়। মাইক্রোকন্ট্রোলারের জন্য সি প্রোগ্রামিং ল্যাঙ্গুয়েজের কোডিং টেকনিক, ভেরিয়েবল ডিক্লেয়ার করার নিয়ম ,ডাটা টাইপের ব্যবহার, অপারেটর সমূহের ব্যবহার, বিভিন্ন ধরণের কন্ডিশনাল এবং লুপিং স্টেটমেন্টের ব্যবহার । এছাড়া বিভিন্ন ধরণের চিপের অভ্যন্তরীণ রেজিস্টার সমূহের গঠন, ইনপুট আউটপুট পোর্টে ডাটা পাঠানো এবং গ্রহণ করার পদ্ধতি। এনালগ টু ডিজিটাল কনভারশন প্রসেস, টাইমিং, ইনট্রাপ্ট এর ব্যবহার, টাইমারের ব্যবহার  ইত্যাদি পর্যায়ক্রমিকভাবে আমরা শিখবো। সবগুলো বিষয় আমরা বাস্তব উদাহরণ প্রোগ্রাম তৈরি করে এবং সেগুলো সিমুলেশন করে করে শিখবো ।আশা করছি আমাদের শেখা্র পদ্ধতি সহজ  এবং আকর্ষনীয় হবে।

Share this

Related Posts

Previous
Next Post »