বর্তমানে আমাদের চারপাশে রয়েছে অগুনতি ইলেকট্রনিক ডিভাইজ, আমাদের বাড়ি, অফিস, গাড়ি —আপনি যেখানেই যান না কেন, ইলেকট্রনিক্স আপনার নজরে আসবেই। আর আপনি নিশ্চয় জানেন যে, ইলেক্ট্রনিক ডিভাইজ গুলোর ক্ষমতা কতোটুকু, প্রায় যেকোনো ধরনের কল্পনীয় ডিভাইজ ইলেকট্রনিক্স’র সাহায্যে তৈরি করা সম্ভব। কিন্তু আপনি জানেন কি, আপনার ব্যবহৃত প্রায় প্রত্যেকটি ইলেক্ট্রনিক ডিভাইজের (সেলফোন, টিভি, রিমোট, ডিভিডি প্লেয়ার, ডিএসএলআর, ক্যামকরডার, টেলিফোন, ইত্যাদি) মধ্যে একটি ছোট্ট চিপ লাগানো থাকে, যেটা ঐ ডিভাইজের বিভিন্ন অংশকে কন্ট্রোল করে? —আর এই আগে থেকে চিপকানো চিপকে মাইক্রোকন্ট্রোলার (Microcontrollers) বলা হয়। এটি মূলত একটি ছোট্ট কম্পিউটার, চলুন এর সম্পর্কে বিস্তারিত জেনে নেওয়া যাক…
মাইক্রোকন্ট্রোলার কি?
মাইক্রোকন্ট্রোলার হলো একটি সিঙ্গেল চিপ কম্পিউটার; যেটা ইলেক্ট্রনিক ডিভাইজের মাদারবোর্ডের সাথে আগে থেকেই চিপকানো থাকে। আর আমি আগেই বলেছি, আজকের দিনের প্রায় সকল ইলেক্ট্রনিক ডিভাইজেই এটি লাগানো থাকে। বিশেষ করে যে ইলেক্ট্রনিক ডিভাইজ পরিমাপ, নিয়ন্ত্রন, তথ্য ডিসপ্লে করতে পারে, তার ভেতরে অবশ্যই মাইক্রোকন্ট্রোলার লাগানো থাকে।
এটি যেহেতু একটি কম্পিউটার, সুতরাং যেকোনো কম্পিউটারের মতো এরও কিছু জিনিস কমন রয়েছে। আর এটিকে কোন ডিভাজের ভেতরে লাগিয়ে রাখার কারণ হচ্ছে, যাতে এটি কোর থেকে ডিজাইজটিকে নিয়ন্ত্রিত করতে পারে। আমরা জানি, কম্পিউটার হচ্ছে সাধারন কাজ মেটানোর যন্ত্র, অর্থাৎ আপনি ভার্চুয়ালি প্রায় যেকোনো ধরনের কাজ আপনার কম্পিউটারে করাতে পারবেন। আপনার ডেক্সটপ বা ল্যাপটপ কম্পিউটারে অবশ্যই একসাথে অনেক প্রোগ্রাম ব্যবহার করতে পারেন এবং মাল্টি ট্যাস্কিং করতে পারেন। কিন্তু মাইক্রোকন্ট্রোলারকে শুধু নির্দিষ্ট একটি কাজ করার জন্যই প্রোগ্রাম করা হয়, আর এটি সেই ডেডিকেটেড কাজটিই করতে থাকে। এটিকে কাজ করানোর জন্য সাধারন প্রোগ্রামিং করানো হয় এবং প্রোগ্রাম কম্যান্ড গুলোর কন্ট্রোলারের রমে (রীড অনলি মেমোরি) জমা থাকে। সাথে এটি একটি লো পাওয়ারে চলা ডিভাইজ হয়ে থাকে, ঠিকঠাক মতো চলতে এর মাত্র ৫০ মিলিওয়াটের বিদ্যুৎ প্রয়োজনীয় হয়।
প্রত্যেকটি কম্পিউটিং ডিভাইজ এবং কম্পিউটারের মানুষের সাথে কথা বলার জন্য দুই ধরনের ডিভাইজ থাকে, একটি ইনপুট ডিভাইজ (যার মাধ্যমে কম্পিউটার মানুষ থেকে আদেশ গ্রহন করে) এবং আরেকটি আউটপুট ডিভাইজ (যার মাধ্যমে কম্পিউটার মানুষের দেওয়া আদেশকে প্রসেস করে প্রদর্শিত করে)। মাউস, কী-বোর্ড হচ্ছে ইনপুট ডিভাইজ এবং মনিটর, প্রিন্টার হচ্ছে আউটপুট ডিভাইজ। আবার হার্ডড্রাইভ ইনপুট/আউটপুট দুটোই সম্পূর্ণ করে। মাইক্রোকন্ট্রোলার নিজেই একটি ইনপুট ডিভাইজ এবং এর আউটপুট হিসেবে এলইডি লাইট বা ছোট্ট ডিসপ্লে লাগানো থাকে। আবার এক ধরনের কন্ট্রোলার রয়েছে যেটা মূল ডিভাইজটির সাথে থাকে না, বরং আরেকটি ডেডিকেটেড ডিভাইজের সাথে লাগানো থাকে, এবং দূর থেকে সিগন্যাল সেন্ড করে মূল ডিভাইজটিকে নিয়ন্ত্রন করে। উদাহরণ স্বরূপ; টিভি, ডিভিডি প্লেয়ার, বা সাউন্ড সিস্টেম এর রিমোট কন্ট্রোল।
তাছাড়া কন্ট্রোলারে অ্যানালগ টু ডিজিটাল এবং ডিজিটাল টু এনালগ কনভার্ট সিস্টেম রয়েছে। ধরুন একটি ওজন মাপার গ্যাজেটে ডিজিটাল কন্ট্রোলার রয়েছে, সেখানে তো ওজনের মাপ এনালগে এসে পৌঁছাবে, কিন্তু ডিসপ্লেতে প্রদর্শিত করানোর জন্য একে ডিজিটাল ফরম্যাটে পরিবর্তন করা প্রয়োজনীয়। আবার ধরুন আপনি একটি কন্ট্রোলার প্রোগ্রাম করলেন আপনার ঘরের লাইট, ফ্যান, পানি উঠানোর বৈদ্যুতিক মোটর ইত্যাদি বিভিন্ন সময়ে অন অফ করার জন্য। এখন আপনার প্রোগ্রাম তো ডিজিটাল ফরম্যাটে হবে কিন্তু ডিজিটাল ফরম্যাটে তো লাইট, ফ্যান, মোটর কাজ করবে না, সেখানে ডিজিটাল ফরম্যাটকে এনালগে পরিণত করেই কাজ করানো হবে।
এমনিতে যেকোনো ট্র্যাডিশনাল ডিভাইজ ছাড়াও ইলেকট্রনিক্স প্রোজেক্ট, রোবট, বা আপনার নিজের ইচ্ছা মতো তৈরি প্রোগ্রাম করে মাইক্রোকন্ট্রোলার ব্যবহার করতে পারেন। তাছাড়া রাসবেরি পাই এর মতো মিনি কম্পিউটার গুলোকে প্রোগ্রাম করেও কন্ট্রোলার হিসেবে ব্যবহার করতে পারেন। আপনারা যদি চান, তবে আমি রাসবেরি পাই ব্যবহার করে কন্ট্রোলার তৈরি করে এটি ভিডিও বানিয়ে দেবো।
ব্যবহার
মাইক্রোকন্ট্রোলার গুলো ডিভাইজের মেইন বোর্ডের সাথে লাগানো থাকে, এমনকি আপনি বর্তমানে যে কম্পিউটারটি ব্যবহার করছেন, তার ভেতরেও অনেক প্রকারের কন্ট্রোলার লাগানো রয়েছে। আর এই জন্যই একে কম্পিউটারের মধ্যে আরেকটি কম্পিউটার বলা হয়। এটিকে মূলত ব্যবহার করা হয় এমন সকল কাজে বা ডিভাইজে, যে ডিভাইজ গুলো তাদের অপারেশন স্বয়ংক্রিয়ভাবে শুরু এবং সম্পূর্ণ করতে পারে। বিভিন্ন পাওয়ার টুলস, শরীরে প্ল্যান্ট করা মেডিক্যাল ডিভাইজ, এবং গাড়ীর ইঞ্জিন নিয়ন্ত্রক হিসেবেও এই কন্ট্রোলার গুলো ব্যবহৃত হয়ে থাকে। বিভিন্ন আধুনিক টয় গুলোকে স্বয়ংক্রিয় নিয়ন্ত্রন করা এবং অন্যান্য ডিভাইজ দূর থেকে নিয়ন্ত্রন করার জন্যও এটি বিস্তরভাবে ব্যবহৃত হয়।
মাইক্রো-কন্ট্রোলার এবং মাইক্রো-প্রসেসর অনেকটা একই টার্মের উপর নির্ভর হলেও কিন্তু এক জিনিস নয়। প্রসেসর এবং কন্ট্রোলারের মধ্যে অনেক পার্থক্য রয়েছে। প্রসেসর শুধু মাত্র একটি কম্পিউটারের প্রসেসিং ইউনিট মাত্র, কিন্তু মাইক্রো-কন্ট্রোলার নিজেই একটি সম্পূর্ণ কম্পিউটার এবং এর একটি চিপের মধ্যেই এর রম, ইনপুট/আউটপুট পোর্ট, টাইমার ইত্যাদি বসানো থাকে। তাছাড়া কন্ট্রোলার প্রসেসরের চেয়ে অনেক সস্তা হয়ে থাকে, আর এর সস্তা হওয়ার কারনেই এতো প্রকারের ডিভাইজে একে অনায়াসে ব্যবহার করা যায়।
সুবিধা
১) মাইক্রোকন্ট্রোলার গুলো নিজেই একটি সিঙ্গেল চিপে থাকা কম্পিউটার, আর আলাদা কোন যন্ত্রাংশ না থেকেও এটি সম্পূর্ণ কম্পিউটারের ন্যায় আচরন করে এবং প্রোগ্রাম সমর্থন করে।
২) এর সাইজ এতো ছোট হওয়ায় এবং সাথে পাওয়ারফুল কাজ করতে পাড়ার কারণে মূল ডিভাইজের আকার ছোট রেখেও অনেক শক্তিশালী কাজ করানো সম্ভব হয়। এখন একটি ডিজিটাল ওয়াচের মধ্যে তো আর সম্পূর্ণ কম্পিউটার (ডেক্সটপ) প্ল্যান্ট করানো সম্ভব নয়, এক্ষেত্রে এই কন্ট্রোলার গুলো বিশেষ সুবিধা প্রদান করে থাকে।
৩) কন্ট্রোলার গুলোকে ইউজ করা, প্রোগ্রাম করা, চালানো, এবং কোন সমস্যা হলে সেটার সমাধান করা অনেক সহজ।
৪) এতে যেকোনো সাধারন কম্পিউটারের মতোই ইন্টারফেস রয়েছে, যেমন; র্যাম, রম, ইনপুট/আউটপুট পোর্ট ইত্যাদি। সাথে এটি কোন অপারেশন পারফর্ম করতে অনেক কম সময় নেয়, কেনোনা সবকিছু একটি সিঙ্গেল চিপের উপর বসানো থাকে, তাই এর লিঙ্ক স্পীড অনেক হাই হয়ে থাকে।
শেষ কথা
এই কন্ট্রোলার গুলোর আকার অনেক ছোট হলেও এর আর্কিটেকচার কিন্তু মাইক্রো প্রসেসর থেকেও অনেক বেশি কমপ্লেক্স। একবার চিন্তা করে দেখুন এগুলো নিজেই এক একটি সিঙ্গেল কম্পিউটার। তো আপনি কি কখনো কোন ইলেকট্রনিক্স প্রোজেক্টে এগুলোকে ব্যবহার করেছেন? আপনি কি কোন কন্ট্রোলারের জন্য প্রোগ্রাম তৈরি করেছেন? আমাদের নিচে কমেন্ট করে বিস্তারিত জানিয়ে দিন।