বাড়ি ব্লগ পৃষ্ঠা 8

এক নজরে এলইডি বাতি, এনার্জি লাইট ও সাধারণ ইলেকট্রিক্যাল বাতি

1
এলইডি, এনার্জি বাল্ব ও সাধারণ বাল্বেল্র তুলনা মূলক টেবিল
এলইডি, এনার্জি বাল্ব ও সাধারণ বাল্বেল্র তুলনা মূলক টেবিল
এলইডি বাতি বা ল্যাম্প কম বিদ্যুৎ খরচ করে তা আমরা এতদিনে জেনে গেছি। কিন্তু এই এলইডি লাইট কতটুকু কম বিদ্যুৎ খরচ করে তা কি আমরা জানি? এই লেখাতে এলইডি বাতির বিদ্যুৎ খরচের হিসাবকে খুব সহজ ভাবে তুলে ধরা হয়েছে।
নিচের চিত্রটি দেখুন-
এলইডি, এনার্জি বাল্ব ও সাধারণ বাল্বেল্র তুলনা মূলক টেবিল
এলইডি, এনার্জি বাল্ব ও সাধারণ বাল্বেল্র তুলনা মূলক টেবিল

দেখেই বুঝতে পারছেন নিশ্চই। তবু একটু সহজ করে দিচ্ছি।

১ ওয়াট এলইডি বাতির উজ্জ্বলতা = ৩ ওয়াট এনার্জি লাইটের উজ্জ্বলতা = ১৫ ওয়াট সাধারণ বাল্বের উজ্জ্বলতা।

অর্থাৎ একই আলো প্রদান করতে এলইডি বাতি সবচেয়ে কম বিদ্যুত টানে যেখানে এনার্জি বাল্ব প্রায় ৩ গুণ ও সাধারণ বাল্ব প্রায় ১৫ গুণ বিদ্যুৎ / পাওয়ার নষ্ট করে

এই অতিরিক্ত পাওয়ার কই যায়? এই অতিরিক্ত পাওয়ার বেশিরভাগই তাপ হিসাবে নির্গত হয়।

কেউ কেউ হয়ত বলবেন এলইডি ও তো কম গরম হয় না! হ্যা শক্তিশালী এলইডি যেমন ৯ ওয়াটের এলইডি গুলোতে বড় হিটসিংক লাগাতে হয়।

কিন্তু উপরের চার্টটি খেয়াল করলে দেখবেন ৯ ওয়াটের এলইডি বাতির সমান আলো পেতে ৯০ ওয়াটের সাধারণ বাতি লাগাতে হয়। আর আমরা খুব ভালোই জানি ১০০ ওয়াটের সাধারণ বাল্ব কি পরিমান গরম হয়ে থাকে। আশাকরি বুঝাতে পেরেছি।

কথা প্রসঙ্গে বলি, জানেন নিশ্চয়ই এলইডি প্রকৃতপক্ষে আলোক নিঃসারী ডায়োড বৈ কিছুই নয়। আর কম পাওয়ার/বিদ্যুৎ খরচ করে বিধায় একই প্রযুক্তির এলইডি টিভি আকারে বিশাল বড় হলেও খুব অল্পই পাওয়ার টানে।

চার্জার লাইট তৈরি করতেও এখন এলইডি’র জনপ্রিয়তা অনেক বেড়েছে। মিনি আই পি এস -এও বহুল ব্যবহৃত হয় এই এলইডি বাতি। ফলে ছোট ব্যাটারি দিয়েই অনেকক্ষণ আলো পাওয়া যায়। আর তরুণ হবিস্ট ও ইঞ্জিনিয়ারদের কাছেও তাই বহুল ভাবে জনপ্রিয় হয়েছে নিজের হাতে এলইডি দিয়ে লাইট তৈরি।

বিশেষ কৃতজ্ঞতাঃ Shohrab Hossain Sourov

লাই ডিটেক্টরঃ মিথ্যা বললেই ধরবে যে যন্ত্র

3
লাই ডিটেক্টর
লাই ডিটেক্টর

আস্সালামু আলাইকুম, সকল বন্ধুদের জানাই একরাশ ভালবাসা। আশাকরি সকলেই আল্লাহর রহমতে ভালো আছেন৷
মিথ্যা বলা একটি পাপ কাজ৷ প্রতিনিয়ত কোন না কোন ভাবে আমরা মিথ্যাকথা বলে ফেলি৷ আমাদের উচিৎ মিথ্যাকথা না বলা৷ আমাদের উচিৎ আল্লহর কাছে ক্ষমা চাওয়া| যাতে আমাদের গুনাহ মাফ করে দেন৷ আমাদের প্রিয়নবি হযরত মুহাম্মাদ (সাঃ) বলেনঃ-

তোমরা মিথ্যা বলোনা, কারন মিথ্যা নিয়ে যায় পাপের দিকে আর পাপ নিয়ে যায় জাহান্নামের দিকে

কোন ধর্মেই মিথ্যা কথা সমর্থন করেনা৷ আমাদেরও উচিৎ মিথ্যা না বলা৷ মিথ্যাবাদীর শাস্তি ভয়াবহ।

বিজ্ঞান আমাদের নিয়ে যাচ্ছে অনন্য উচ্চতায়৷ সকল ক্ষেত্রেই বিজ্ঞান আমাদের সুবিধা দিয়ে যাচ্ছে৷ তেমনি মানুষ মিথ্যা বললেও বলে দিবে যন্ত্র!!! এটাও সম্ভব নাকি! জ্বী হ্যাঁ, এটাও সম্ভব বিজ্ঞানের কল্যাণেই৷ কিংবা বলা যায় ইলেকট্রনিক্সের কল্যাণে। কারন আমদের শরীরে যে নার্ভগুলো আছে সেগুলো বৈদ্যুতিক সংকেত প্রেরনের মাধ্যমে কাজ করে৷ আর মিথ্যা কথা বলবার সময় আমাদের দেহের কিছু সূক্ষ্ণ পরিবর্তন হয়। সেই সংকেতকে কাজে লাগিয়েই হয় মিথ্যুক ধরার যন্ত্র “লাই ডিটেকটর“৷
এই সার্কিটটি হয়ত শক্তিশালী গুলোর মত আউটপুট দিবেনা৷ তারপরও এটা দিয়েও মোটামুটি কাজ করা সম্ভব৷

ভালো লাই ডিটেক্টরের গালভারি একটা নাম আছে।
তাকে বলে Polygraph machine (পলিগ্রাফ মেশিন)

লাই ডিটেক্টর এর সার্কিট ডায়াগ্রামঃ

লাই ডিটেক্টর সার্কিট ডায়গ্রামসার্কিটের কার্যকারিতাঃ

এই সার্কিটটি মুলত তাড়িত চামড়া প্রতিক্রিয়া (GSR) নামে নীতির উপর কাজ করে৷ এটা মানুষের চামড়া পরিবহন ক্ষমতা পরিমাপ করে৷ কেউ যখন মিথ্যা কথা বলে তখন তার শ্বাস-প্রশ্বাসের হার, হার্টবীট, ব্লাড প্রেসার ঘর্ম গ্রন্থির নিঃসরনের পরিমান পরিবর্তিত হয়৷

এছাড়াও ত্বকের পরিবহন ক্ষমতা বেড়ে যায়৷ এরফলে সার্কিটে উচ্চ তড়িৎ প্রবাহিত হয় যা এনালগ মিটারের কাঁটাকে বিক্ষিপ্ত করে। ফলে মিথ্যাবাদীকে ধরা সহজ হয়।

লাই ডিটেকটরের পার্টস লিস্টঃ

কিভাবে সার্কিট অ্যাডজাস্ট করবেঃ

সার্কিটটিতে ২টা ইলেকট্রোড আছে। যাকে পরীক্ষা করবে তার হাতে লাগাতে হবে৷ ফলে ওই ব্যক্তির চামড়া হবে সার্কিটের ইনপুট৷ এবার সার্কিটে দেয়া ভেরিয়াবেল রেজিস্টেন্স আছে ঘুরিয়ে অ্যানালগ মিটারের মান শূন্য করতে হবে৷ এরপর তাকে বিভিন্ন ধরনের প্রশ্ন করতে হবে। সহজ থেকে জটিল। আস্তে আস্তে মূল প্রশ্নের দিকে আসতে হবে।

তাহলে দেরি না করেই আজই বানিয়ে ফেলুন এই মজার সার্কিটলাই ডিটেকটর” আর সত্য ঘটনায় উদ্ভাসিত হই আমরা।

সম্পাদকীয় মন্তব্যঃ এই যন্ত্রটিকে নিছক খেলা কিংবা বিজ্ঞান মেলার জন্য ব্যবহার করা যেতে পারে। এর দ্বারা কোনোরূপ বিচার কার্য, চোর ধরা, কাজের মেয়ে সত্যি বলছে না মিথ্যা বলছে এরূপ কর্ম কান্ড থেকে বিরত থাকুন। তেমন প্রয়োজনে আইন প্রয়োগকারী সংস্থার সহায়তা নিন।

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

ছোটদের জন্য বিজ্ঞান – ৭

0
ছোটদের উপযোগী বিজ্ঞান - ৭
ছোটদের উপযোগী বিজ্ঞান - ৭

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

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

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

একটা মজার উদাহরণ দিলে তোমাদের বুঝতে বেশ সুবিধা হবে –
বিজ্ঞানী নিউটন পৃথিবী ও মহাকাশের বিভিন্ন বস্তু একে অপরের সাথে কিভাবে চলমান তা বুঝতে যেয়ে যে বলবিদ্যার সূত্র ব্যবহার করেছিলেন ঠিক তেমনটিই করেছিলেন পদার্থের অভ্যন্তরে ইলেক্ট্রনের চলাচল নিরূপন করতে। অনেককাল এটা টিকেও ছিলো যা আসলে ঠিক ছিলো না। পরবর্তীতে কণাবাদী বলবিদ্যা বা কোয়ান্টাম তত্ত্বের বিকাশ এই ব্যাখ্যাকে সঠিক করেছে। তাই অমুকে বলেছে বা মনে করেছে বলেই সব ঠিক হবে না যতক্ষণ না তা সুষ্ঠু যুক্তি ও প্রমাণিত সত্য নির্ভর না হয়।

মানবিক মানুষ তৈরী বিজ্ঞানের আসল উদ্দেশ্য হওয়া উচিৎ। সেই মানবিক মানুষ প্রজ্ঞাবান হবে। এটম বোমার মূল সূত্র আবিষ্কার করে মহামতি বিজ্ঞানী আইনস্টাইন খুশী ছিলেন না তার এই আবিষ্কার মানব ধ্বংসী ব্যবহার দেখে। অপর পক্ষে আমরা যদি এটম বোমা বানানোর প্রকল্পের বিজ্ঞানী রিচার্ড পি ফাইনম্যানের দিকে তাকাই তবে দেখবো উনি মোটেও বিচলিত ছিলেন না। এখানেই পার্থক্য মানবিকতার। দুজনেই মেধাবী ছিলেন কিন্তু মানুষের জন্য দুইজনের ভালোবাসার ক্ষেত্রে পার্থক্য অনেক। আমাদের হতে হবে মহামতি আইনস্টাইনের পথের পথিক – মানবিক বিজ্ঞানের রাস্তার পথিক।

বিজ্ঞানকে করে তুলতে হবে মানবিক চিন্তার শক্তি। ব্যক্তিস্বার্থের যে ভোগবাদী জীবনদর্শন তার থেকে বের হয়ে যুক্তি ও প্রমাণিত সত্য নির্ভর মানবিক বিজ্ঞান চর্চা করতে হবে। মানব কল্যাণে বিজ্ঞান – যেখানে ঘৃণা ও স্বার্থের কোন স্থান হবে না। যে বিজ্ঞান চর্চাতে থাকবে কবিতা পাঠের আনন্দ, বিজ্ঞানের জটিল বিষয়গুলো যেখানে জোরকরে মাথায় রাখতে হবে না – পুরো মানবিক সত্বাই যেখানে বিজ্ঞান রূপে ক্রিয়া করবে মানবের কল্যাণে।

প্ল্যান্ট টেস্টার – গাছের পরিচর্যায় ইলেকট্রনিক্স

0
প্ল্যান্ট টেস্টারঃ গাছের পরিচর্যায় ইলেকট্রনিক্স

আজকে আমরা প্ল্যান্ট টেস্টার তৈরি করবো। ইলেকট্রনিক্স আমাদের সভ্যতাকে নিয়ে যাচ্ছে অনন্য উচ্চতায়৷ আমাদের নিত্য প্রয়োজনীয় কাজে ইলেকট্রনিক্স অনেক উপকার করছে৷ আমাদের কষ্টকে কমিয়ে দিচ্ছে প্রতিনিয়তই৷ যার ফলে আমাদের অসাধ্য কাজ খুব সহজেই করতে পারছি৷ তেমনি একটি সার্কিটপ্ল্যান্ট টেস্টার“। যা কিনা ফুলগাছে পানির প্রয়োজনীয়তা লক্ষ্য রাখবে। আর পানির প্রয়োজন হলে একটি ছোট এলইডি এর মাধ্যমে জানান দিবে।

সার্কিট টি খুবই ছোট এবং সহজ। যারা বেসিক ইলেকট্রনিক্স পারেন তাদের জন্য খুবই উপযুক্ত।  এর জন্য দরকার মাত্র ৪টি পার্টস।

প্ল্যান্ট টেস্টার সার্কিট ডায়াগ্রামঃপ্ল্যান্ট টেস্টার সার্কিট ডায়াগ্রামসার্কিট এর কার্যাবলিঃ

সার্কিটটিতে একটি ট্রানজিস্টর ২টা রেজিস্টেন্স ও ২টা প্রোব আছে৷ আমরা জানি, পানিতে সহজেই ইলেকট্রন চলাফেরা করতে পারে৷ কাজেই মাটি যখন ভেজা থাকে তখন দুই প্রোবের মধ্যদিয়ে কারেন্ট প্রবাহিত হতে পারে৷ এভাবে সার্কিটে যখন কারেন্ট প্রবাহিত হতে থাকে তখন ট্রানজিস্টর সুইচ অন অবস্থায় থাকে। ফলে LED জ্বলে৷  আর যখন মাটি শুকনো থাকে তখন প্রোব দুটোর মধ্য দিয়ে কারেন্ট বইতে পারেনা৷ কাজেই LED নিভে যায়। যার অর্থ মাটি শুকিয়ে গেছে এবং গাছে পানি দেয়া উচিৎ।

টেস্টারের প্রোব
টেস্টারের প্রোব

প্ল্যান্ট টেস্টারের পার্টস লিস্টঃ

  1. যেকোনো NPN ট্রানজিস্টর (BC547, BC548, C828, D400 …..)
  2. ৪৭কে ভেরিয়েবল রেজিস্টেন্সে
  3. ৪৭ ওহম  রেজিস্টেন্সে
  4. দুটি প্রোব (শক্ত কোনো লোহার দন্ড যা দিয়ে কারেন্ট প্রবাহিত হয়)

প্ল্যান্ট টেস্টার টেস্টিং পর্যায়ঃ

সার্কিট ঠিকমত বানানো হলে ভেরিয়েবল রেজিস্টেন্স কে ঘুরিয়ে ক্যালিব্রেট করতে হবে৷ প্রথমে প্রোব দুটোকে নিয়ে একটা ভেজা কাপড়ের উপর রাখলে যদি LED জ্বলে থাকে তাহলে ভেরিয়েবল রেজিস্টেন্সেকে ঘুরিয়ে এমনভাবে অ্যাডজাস্ট করতে হবে, যতক্ষণ পর্যন্ত LED নিভে না যাচ্ছে৷ এভাবে উপযুক্ত ভেজা অবস্থায় এলইডি জ্বলবে আর শুকনো হলেই এলইডি নিভে যাবে। তখন বুঝতে হবে গাছে পানি দেবার সময় হয়েছে।

তাহলে দেরি না করে বানিয়ে ফেলুন মজার, কাজের ও উপকারি এই “প্ল্যান্ট টেস্টার“। আর গাছের যত্নে নিজের ইলেকট্রনিক্স জ্ঞানকে কাজে লাগিয়ে ফেলুন ঝটপট। ঘরে ঘরে টবে করে হলেও গাছ লাগান। ফুলের চাষ করুন। আমাদের ঘরবাড়ি রঙ্গিন হোক, বর্ণিল ফুলের শোভায়।

কোনো সমস্যা হলে কমেন্ট করতে ভুলবেন না। সবাইকে ধন্যবাদ৷ আল্লাহ হাফেজ৷

PIC Microcontroller, 7 Segment Display এবং Multiplexing

0
PIC microcontroller 7 segment multiplexing

বিগত Tutorial এ আমি PIC Microcontroller দ্বারা LCD Display নিয়ন্ত্রণ দেখিয়েছিলাম। এছাড়াও Entry Level এর কিছু আলোচনাও ছিল। এই Tutorial এ একটি গুরুত্বপূর্ণ এবং চিত্তাকর্ষক বিষয় নিয়ে আলোচনা করা হবে। আর টা হল Segment Display এবং Multiplexing।

প্রথমেই 7 Segment Display এর গঠন সম্পর্কে খুঁটিনাটি জেনে নেই।

7 Segment Display সুসজ্জিত Pattern এ বিন্যস্ত কয়েকটি LED ছাড়া আর কিছুই নয়। এতে বিন্যস্ত ৭ টি LED Segment 0 থেকে 9 পর্যন্ত ১০ টি অংক প্রদর্শন করতে সক্ষম। ক্ষেত্র বিশেষে একটি Decimal Point সহ মোট ৮ টি Segment উপস্থিত থাকে।

 

7 Segment Display
7 Segment Display
7 Segment Display Pinout
7 Segment Display Pinout

Segment গুলকে যথাক্রমে a, b, c, d, e, f, g এবং dp দ্বারা সূচিত করা হয়। ক্ষেত্রবিশেষে dp কে h দ্বারাও সূচিত করা হয়। বিভিন্ন Number প্রদর্শনের জন্য LED গুলোকে বিভিন্ন Pattern এ জ্বালান হয়।

ধরুন Display তে 5 অংক টি প্রদর্শন করতে হবে। তাহলে Microcontroller এর একটি 8 Bit Register এর Phase হবে “01101101”।

 

Displaying Numbers
Displaying Numbers

অর্থাৎ 5 অংকটি প্রদর্শনের জন্য;
bit_1 = 0 > Logic State = Low > LED of Segment “dp” Is Off
bit_2 = 1 > Logic State = High > LED of Segment “g” Is On
bit_3 = 1 > Logic State = High > LED of Segment “f” Is On
bit_4 = 0 > Logic State = Low > LED of Segment “e” Is Off
bit_5 = 1 > Logic State = High > LED of Segment “d” Is On
bit_6 = 1 > Logic State = High > LED of Segment “c” Is On
bit_7 = 0 > Logic State = Low > LED of Segment “b” Is Off
bit_8 = 1 > Logic State = High > LED of Segment “a” Is On

তাহলে প্রতিটি Number প্রদর্শনের জন্য MCU এর ৮ টি করে PIN ব্যবহার হচ্ছে। তার মানে আমরা একটি 16 Bit Microcontroller ব্যবহার করে সর্বোচ্চ ২ টি Digit প্রদর্শন করতে পারব! এর বেশি যেতে হলে আমাদের 32 Bit Microcontroller ব্যবহার করতে হবে! ইহা অত্যন্ত অযৌক্তিক একটি কাজ হবে! আমরা MCU এর মূল্যবান PIN এর সবগুলোই অপচয় করে ফেলতে পারি না!
এই সমস্যা সমাধানের জন্য একটি দারুন পদ্ধতি ব্যবহার করা হয়। যার নাম Multiplexing।

Multiplexing
Multiplexing

মানুষের চোখ কোন কিছু দেখার পর তার রেশ মস্তিষ্কে 1/10 Second (100 millisecond) স্থায়ী থাকে। এই সময় এর মধ্যে দৃশ্যের কোন পরিবর্তন হলে তা Vision এ কোন প্রভাব ফেলে না। এই কৌশল কে কাজে লাগিয়ে একাধিক 7 Segment Display এর মধ্যে Multiplexing ঘটান হয়।

এক্ষেত্রে সবগুলো Display এর ৮ টি বিট একসাথে সংযুক্ত থাকে। এবং Common Ground PIN গুলো আলাদা আলাদাভাবে নিয়ন্ত্রণ করে একটি নির্দিষ্ট সময়ে একটিমাত্র Digit জ্বালান হয়। সবগুলো Digit কেই এভাবে আলাদা করে জালান নেভান হয়। তবে এই প্রক্রিয়া এত দ্রুত করা হয় যে আমাদের মনে হয় সবগুলো Digit ই একসাথে দিপ্তমান।

এখানে একটি Sample Project দেওয়া হল:

int a=6;
int b=91;
int c1=79;
int d1=102;
int e=109;
int f1=125;
int g=7;
int h=127;
int i=111;
int j=63;

void main()
{
  TRISB=0;
  TRISC=0;

  
  for( ; ; )
  {
    PORTB=a;
    PORTC=0b00000001;
    delay_ms(20);
    
    PORTB=b;
    PORTC=0b00000010;
    delay_ms(20);
    
    PORTB=c1;
    PORTC=0b00000100;
    delay_ms(20);
    
    PORTB=d1;
    PORTC=0b00001000;
    delay_ms(20);
  }

}

 

এখানে শুরুতেই Common Cathode Display এর জন্য, 1 থেকে 10 পর্যন্ত Number এর সাথে সম্পৃক্ত Register এর Phase সমূহ Declare করা হয়েছে। সুবিধার জন্য 1 থেকে 10 পর্যন্ত Number গুলোকে a, b, c1, d1, e, f1, g, h, i এবং j Variable দ্বারা প্রথিস্থাপিত করা হয়েছে। ইতোপূর্বে “5” অংকটি প্রদর্শনের জন্য Register এর Binary State বিস্তারিত দেখান হয়েছে। আর Binary “01101101” এর Decimal হল “109” ।

“TRISB=0;” এবং “TRISC=0;” দ্বারা MCU এর B এবং C Register কে Output হিসেবে Declare করা হয়েছে। এখানে B Register কে Number প্রদর্শনের কাজে এবং C Register কে Multiplexing এর কাজে ব্যবহার করা হয়েছে।
20 millisecond পর পর Display পরিবর্তন করা হবে এবং 4 টি Display (20×4) = 80 millisecond এর মধ্যে আন্তঃপরিবর্তন ঘটান হবে। যা আমাদের Vision Delay, 100 millisecond অপেক্ষা কম।

এখানে Circuit এর সম্পূর্ণ Schematic দেওয়া হল।
(বি. দ্র: Diagram এ Vss এবং Vdd Pin গুলো দেখান হয়নি।)

Circuit Schematic
Multiplexing 7 Segment Display Circuit Schematic

এখানে Source Code এবং Programmable HEX File অন্তর্ভুক্ত করা আছে।

Multiplexing Files

Password: PC16F877AAE

Credits:
MCU : Microchip
7 Segment Display: MikroElektronika
Software: MikroElektronika, Labcenter Electronics

ইলেকট্রিক্যাল পাওয়ার সিস্টেমঃ পর্ব-১

6
ইলেকট্রিক্যাল পাওয়ার সিস্টেমঃ

EEE ইঞ্জিনিয়ারদের জন্য পাওয়ার সিস্টেম মেজর বিষয়। বিশেষত যারা পাওয়ার কে মেজর হিসেবে নেয় বা পাওয়ারে কাজ করতে আগ্রহী থাকে। আজকে পাওয়ার সাবস্টেশন সম্পর্কে সংক্ষেপে কিছু লিখছি। কিছু গাণিতিক সমস্যা ও তাঁর সমাধান ও দেবার চেষ্টা করেছি।

এখানে বলে রাখা ভালো যে আমার লেখার অভ্যেস তেমন নাই, অন্য একটি সাইটে অনেককাল আগে জাওয়াদ তাহমিদ এর বাংলায় লেখা ইলেকট্রনিক্স এর খুঁটিনাটি সিরিজ প্রকাশিত হয়েছিল। মূলত আমার DC সার্কিট সম্পর্কে জ্ঞান সে লিখা পড়ে অনেক উন্নত হয়। বেজটা ধরতে শিখি। সেই অনুপ্রেরনায় আমি পাওয়ার সিস্টেম সিস্টেমের গুরুত্বপূর্ণ একটি অংশ পাওয়ার সাবস্টেশন নিয়ে লিখছি।

উল্লেখ্য যে, এই সাইটে এমন অনেকেই আছেন যারা এই বিষয়ে আমার চেয়ে অনেক বেশি জ্ঞান রাখেন । আশা করি তারা ভুলত্রুটি শুধরে দেয়ার চেস্টা করবেন। আমি ছাত্র হিসেবে খুবই সাধারন, আমার যতটুকু শেখা তা দিয়ে যদি কারো সামান্য উপকার হয় তবেই আমি সার্থক।

পর্ব – ১

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

পাওয়ার প্ল্যান্ট থেকে বিদ্যুৎ উৎপাদন হয়ে বিভিন্ন সাবস্টেশন এর মাধ্যমে ব্যবহারকারীর নিকটে পৌঁছে
পাওয়ার প্ল্যান্ট থেকে বিদ্যুৎ উৎপাদন হয়ে বিভিন্ন সাবস্টেশন এর মাধ্যমে ব্যবহারকারীর নিকটে পৌঁছে

সাবস্টেশন কি?

সাবস্টেশন হচ্ছে বিদ্যুৎ উৎপাদন, পরিবহণ, সঞ্চালন, বিতরণ ও নিয়ন্ত্রণ ব্যবস্থার একটি অংশ।

পাওয়ার সাবস্টেশন কত প্রকার ও কি কি?

নিচে পাওয়ার সাবস্টেশন সমূহের প্রধান শ্রেণীবিভাগ দেয়া হলো।

Generating Substation:

মুলত পাওয়ার প্ল্যান্ট গুলো যেখানে বিদ্যুৎ উৎপাদন করা হয় তাকে জেনারেটিং সাবস্টেশন বলে।

Grid Substation:

পরিবহনকারী তার (transmission line) সমূহ এই গ্রীড সাবস্টেশন নামে পরিচিত।

Secondary Substation:

শিল্পকল-কারখানায় নিজস্ব Transformer গুলো সেকেন্ডারি সাবস্টেশন নামে পরিচিত। এগুলো অনেক উচ্চ ক্ষমতা সম্পন্ন।

Distribution Substation:

বাসা-বাড়ি, স্কুল, কলেজ, বিশ্ববিদ্যালয়, মসজিদ ইত্যাদি সাধারন ক্ষেত্রে বিদ্যুৎ সরবরাহ যেখান থেকে করা হয়, সেটাই ডিস্ট্রিবিউশন সাবস্টেশন- Distribution Substation.

যতই ঘোরা-ঘুরি করুক, একটি প্ল্যান্ট থেকে তৈরী বিদ্যুৎ আমাদের বাসা পর্যন্ত আসতে কমপক্ষে ৫ টা মাধ্যমের সাহায্য নেয় (এর বেশীও হতে পারে, কিন্তু এই ৫টা লাগবেই লাগবেই)। আসুন দেখি কি কি সেই উপাদান গুলো?

বিদ্যুৎ পরিবহনে যেসব উপাদান বহুল ব্যবহৃত হয়ঃ

প্রথমে Synchronous Machine দ্বারা বিদ্যুৎ তৈরী করা হয়। অতঃপর তা Step up Transformer এর মাধ্যমে হাই ভোল্টেজে পরিনত করা হয়।

অতঃপর High voltage Transmission Line এর মাধ্যমে তা পরিবহন করা হয়, এবং নির্দিষ্ট গন্তব্যে প্রেরন করা হয়।

তারপর সেই বিদ্যুৎ কে Step down Transformer এর মাধ্যমে ব্যবহার উপযোগী মানে আমাদের ডিভাইস গুলোর জন্য সুইটেবল করা হয়।

অবশেষ Load মানে ডিভাইস (লাইট, ফ্যান, টিভি ইত্যাদি) গুলো সেগুলো দিয়ে সচল হয়।

অনেকেই প্রশ্ন করতে পারেন High voltage এ কেন পরিনত করতে হয়? যা উৎপাদন করি সেটা কেন পাঠায় না?

কারন হচ্ছে পরিবহন খরচ ও অন্যান্য লস কমানোর জন্য এটা করা হয়। সূত্র মোতাবেক-

Ploss = I2R বা  I× L

এখান থেকে দেখা যায় ভল্টেজ বাড়ার সাথে সাথে কারেন্ট কমে যায়। তাই পরিবহনের সময় High voltage এ রূপান্তর করা হয়।

এ বিষয় নিয়ে Transmission & Distribution নিয়ে বলার সময় বিস্তারিত বলব। তবে এটুকু জেনে রাখা ভাল, ৪৫০V কে High voltage বলা হয়। ৭৫০ v কে extra High voltage বলা হয়।

বাসা-বাড়ি তে যে বিদ্যুৎ ব্যবহার করি তা মুলত ৩ ফেজের। কিন্তু ৩ ফেজের হিসাব করা বেশ দুরহ এবং সময় সাপেক্ষ।

এই কারনে গবেষকগন সহজ ও দ্রুততার সাথে পরিমাপের জন্য একটা পদ্ধতি বের করেছেন। যা Single line diagram/One line diagram নামে পরিচিত।

এই পদ্ধতিতে ৩ ফেজের পরিবর্তে ১ ফেজ নিয়ে হিসাব করা হয়। হিসেব হয়ে গেলে তা সহজেই ৩ ফেজে নিয়ে যাওয়া হয়।

এত জটিলতার মাঝে যাওয়ার দরকার নাই। প্রথমে সিংগেল লাইন ডায়াগ্রাম আঁকা শিখি এর থেকে হিসাব বের করি।

অবশেষে জটিল থেকে জটিলতর আপনি নিজেই পারবেন।

একটা বিশেষ কথা না বললেই নয়, Single line diagram/ One line diagram আঁকতে হলে সিস্টেমকে অবশ্যই balanced এবং symmetrical হতে হবে।

এ নিয়ে চিন্তার কিছু নাই। আসুন আঁকা শিখি। এক সময় আপনি নিজেই ধরতে পারবেন balanced এবং symmetrical কেমন আর কিভাবে হয়!

Single line diagram/ one line diagram আঁকতে হলে নিচের ছক থেকে symbol গুলো মনে রাখতেই হবে। মোটেও জটিল কিছু নয় একবার তাকিয়ে দেখুন।

Single line diagram/ one line diagram আঁকতে হলে নিচের ছক থেকে symbol গুলো মনে রাখতেই হবে - ইলেকট্রিক্যাল পাওয়ার সিস্টেম

এখন এই ৫ টা নিয়ে কাজ করব, তাই ৫টাই দিলাম। উল্লেখ্য যে এই ৫টাই বহুল ব্যবহৃত। আরো কিছু চিহ্ন আছে তা পরে দিয়ে দিব। আসুন একটি উদাহারন অনুশীলন করি।

সমস্যা ১

একটা জেনারেটর একটি step up transformer এর মাধ্যমে transmission line এর সাথে যুক্ত, বিপরীত দিক থেকে একটি মোটর একটি step down transformer এর মাধ্যমে transmission line এর সাথে যুক্ত। single line diagram আঁক।

সমাধান- প্রথমে কথা মত আমরা একটা জেনারেটর নিব। চিত্র – ১ এ দেওয়া আছে। সেভাবেই নিচ্ছি।

সমাধান- প্রথমে কথা মত আমরা একটা জেনারেটর নিব। চিত্র – ১ এ দেওয়া আছে। সেভাবেই নিচ্ছি। চিত্র – ২

এরপর নিব স্টেপ আপ ট্রান্সফরমার। কেন? আরে প্রশ্নেই তো বলা আছে জেনারেটর স্টেপ আপ ট্রান্সফর্মার দিয়ে যাবে অর্থাৎ এর সাথে সরাসরি যুক্ত।

আসুন তবে দেখি চিত্র – ১ এ আবার।

 

এরপরে আসবে ট্রান্সমিশন লাইন। আসুন তবে দেখি চিত্র – ৪

চিত্র – ৪

এরপর নিব স্টেপ ডাউন ট্রান্সফর্মার। কারন মোটর তো সরাসরি ট্রান্সমিশন লাইন এর সাথে যুক্ত নয়।

প্রয়োজনে প্রশ্ন আরেকবার পড়ুন।

এরপর সর্বশেষ অংশ মোটর, যা লোড হিসেবে আছে। মোটর কিন্তু ডায়নামিক লোড।

চিত্র-১ এ দেখি ডায়নামিক লোড কি আছে এবং বসিয়ে দেই।

চিত্র – ৬

তাহলে পুরো ডায়াগ্রামটা কিভাবে হবে?? কিছুই না। শুধু একের পরে এক মিলিয়ে দিন। ব্যাস হয়ে গেল Single line diagram/ one line diagram.

এবার একটি সমস্যা দেই। নিজে নিজে চেষ্টা করেন। একবার পারলেই আর পেছনে ফিরে তাকাতে হবে না।

সমস্যা – ২

একটি সিস্টেম ২ টি জেনারেটর দিয়ে গঠিত। এর একটি একটি reactor দ্বারা ভূমির সাথে যুক্ত। অন্যটি resistor  দ্বারা একটি bus এর মাধ্যমে step up transformer এর মাধ্যমে transmission line এর সাথে যুক্ত। একটি মোটর অপর প্রান্ত থেকে একটি bus এর মাধ্যমে step down transformer এর মাধ্যমে transmission line এর সাথে যুক্ত। মটরটি reactor দ্বারা ভূমির সাথে যুক্ত।

Hints: রেজিস্টর, reactor ইত্যাদির সিম্বল বদলায় না। আর আমার চিত্রে step up transformer ও step down transformer সঠিক ভাবে আঁকা সম্ভব হয় নি, আপনারা অবশ্যই সঠিক ভাবে দেবেন। কোন প্রশ্ন থাকলে কমেন্টে জানাবেন।

আজকের মত এখানেই শেষ করছি, পরবর্তি আলোচনায় impedance and reactance diagram আঁকা শেখাব। ভাল থাকুন সুস্থ থাকুন।

ট্রানজিস্টর ও জেনার দিয়ে ভোল্টেজ রেগুলেটর

3
ট্রানজিস্টর দিয়ে ভোল্টেজ রেগুলেটর

ইলেকট্রনিক্সের কাজ করতে গেলে প্রায় সময়ই ভোল্টেজ কে স্থির রাখার প্রয়োজন হয়। আর তার জন্যই প্রয়োজন হয়ে পড়ে ভোল্টেজ রেগুলেটর এর। পাওয়ার সাপ্লাই হিসেবেও একে সচ্ছন্দে ব্যবহার করা যায়।

ভোল্টেজ রেগুলেটর কি?

ভোল্টেজ রেগুলেটর এমন একটি সার্কিট (বা আইসি) যার মাধ্যমে আউটপুট ভোল্টেজ কে সবসময় স্থির রাখা যায়। অর্থাৎ ভোল্টেজ রেগুলেটর এর ইনপুটে ভোল্টেজের কমা-বাড়ায় ও আউটপুট ভোল্ট স্থির থাকে।

আমরা সচারচর ভোল্টেজ রেগুলেটর হিসেবে 7805, 7812, 7809, 7818 ইত্যাদি ব্যবহার করি। কিন্তু একটু চেষ্টা করলে ট্রানজিস্টর দিয়েও ভোল্টেজ রেগুলেটর তৈরি করা সম্ভব।

ভোল্টেজ রেগুলেটর এর ডায়াগ্রামঃ

নিচে এমনি একটি ট্রানজিস্টর দিয়ে তৈরি ভোল্টেজ রেগুলেটর সার্কিট ডায়াগ্রামের চিত্র দেয়া হলো।

ট্রানজিস্টর ও জেনার দিয়ে ভোল্টেজ রেগুলেটর

আরো একটি ডায়াগ্রাম

ট্রানজিস্টর দিয়ে ভোল্টেজ রেগুলেটর ২

উভয় ডায়াগ্রামের আউটপুটে প্রয়োজনীয় লোড সংযুক্ত করতে হবে। এতে করে উক্তলোড টির ভোল্ট সর্বদা স্থির থাকবে।  ডায়াগ্রামে দেয়া জেনার ডায়োডের মান পরিবর্তন করে আউটপুট ভোল্ট কে স্থির রাখা যাবে।

ট্রানজিস্টর হিসেবে BD139, BD135, 2N3055 কিংবা BD679 এরমত ডার্লিংটন ট্রানজিস্টর ব্যবহার করা যেতে পারে। কালেক্টর থেকে বেস এ সংযুক্ত রেজিস্টর টির মান ২২০ ওহমস থেকে ১ কিলো ওহম হতে পারে।

উচ্চ এম্পিয়ারের ট্রানজিস্টর ব্যবহার করলে উচ্চ এম্পিয়ার আউটপুট পাওয়া সম্ভব। সাধারণ রেগুলেটর আইসি তে তা মাত্র ১-১.৫ এম্পিয়ার। অবশ্যই ট্রানজিস্টরটিতে ভালো ও বড় আকারের হিটসিংক লাগাতে হবে।

(ছবিঃ নেট থেকে)

কাঁটার ঝাঁপঃ একটি অলৌকিক ঘটনার বৈজ্ঞানিক ব্যাখ্যা

0
কাঁটার ঝোপে ঝাঁপ

যারা গ্রামে থাকেন বা চরক পূজার সাথে পরিচিত তারা অনেকে দেখেছেন যে অনেকে খালি গায়ে কাঁটার ঝোপে ঝাঁপ দেয়। কিন্তু তাদের এক প্রকার কিছুই হয়না৷ বেশির ভাগ সময় এটাকে অলৌকিক বা জাদুকরী ঘটনার সাথে তুলনা করা হয়। কিন্তু এটা মোটেও অলৌকিক কোন ঘটনা নয় বরং এর পিছনে কাজ করে পদার্থ বিজ্ঞান৷ আমি আজ সেটারই বৈজ্ঞানিক ব্যাখ্যা দিব৷

কাঁটার ঝাঁপ কি?

যেহেতু ঘটনার ব্যাখ্যা করবো সেহেতু, লোকে কি ভাবে কাঁটার ঝোপে ঝাঁপ দেয় সেটা বলে নেওয়া উচিত ৷ প্রথমে, কাঁটার একটি মঞ্চ তৈরী করা হয় ধানের বিচুলি দিয়ে (ধান গাছের শুকনো অবস্থা)। সেটির উচ্চতা প্রায় 25 সে.মি এর আসেপাশে বা তারও বেশি ৷ এটির উপরে কাঁটা জাতীয় গাছের অংশ বিছানো হয় 20 সে.মি এর মত উঁচু করে ৷ (ঐ কাঁটা জাতীয় উদ্ভিদকে বুজ নামে চেনে গ্রামে। কিন্তু আসল নাম কি তা এ মুহুর্তে জানা নেই। আপনাদের কারো জানা থাকলে আমাদের সাথে শেয়ার করতে পারেন)। এর উপরে কোন ব্যক্তিকে অন্য চার পাঁচজন উচু করে ধরে। কাঁটার 5-15 সে.মি উপর থেকে কাঁটার উপর ছেড়ে দেয়৷ কিন্তু ব্যক্তিটির গায়ে কাঁটা বেঁধে না৷ একেই কাঁটার ঝাপ বলে, গ্রাম বাংলায়৷

ব্যাখাঃ কিছু পদার্থ বিজ্ঞানের ফরমুলা দেখে নেওয়া যাক ৷

ধরি,

একজন ব্যক্তির ভর = m

  • বিচুলি ও কাঁটার স্তরের মোট উচ্চতা = x
  • কাঁটার স্তরের উপর থেকে ব্যক্তির নিম্নতল পর্যন্ত উচ্চতা = h
  • তাহলে ভুমি থেকে ব্যক্তির/বস্তুর মোট উচ্চতা = h+x
  • (h+x) উচ্চতায় ব্যক্তির বিভব শক্তি Ep=mg(h+x) যেখানে g হল অভিকর্ষ ত্বরন ৷

এখন কাঁটার উপর আছড়ে পরলে, কাঁটা কর্তৃক ব্যক্তির উপর প্রয়োগকৃত বল F। তাহলে কাঁটা কর্তৃক ব্যক্তির উপর কাজ হবে F.x৷ কারন কাঁটা যখন ঐ বল প্রয়োগ করবে তখন কাঁটা ও বিচুলি স্প্রিং এর মত কাজ করে x সরন ঘটিয়ে প্রায় মাটির কাছাকাছি চলে আসবে (বাস্তবে একটু কম আসবে)৷ যেহেতু বল যেদিকে ক্রিয়া করছে সরন হচ্ছে তার বিপরীত দিকে, তাই এটা একটি ঋনাত্মক কাজ বা কাঁটা দ্বারা ব্যক্তির উপর কাজ হচ্ছে। এখন আমরা জানি, কাঁটা দ্বারা ব্যক্তির উপর করা কাজ = ব্যক্তির বিভব শক্তি বা-

F.x = mg(h+x) অথবা, F = mg(h+x)/xকাঁটার ঝাঁপে ব্যবহৃত স্থানের প্রস্তুতি চিত্র

তাই ব্যক্তিটি যদি পিঠের দিয়ে পরে তাহলে সে তার পিঠের সমান ক্ষেত্র ফলের এলাকা ব্যাপি এই F বল গ্রহন করবে৷ এখন এই এলাকায় যদি N পরিমান কাঁটা থাকে তবে তার প্রত্যেকটা কাঁটায়, f =F/N বল প্রযুক্ত হবে৷ বা,

f=mg(h+x)/Nx ——– (1)

এখন এই f বল একটা কাঁটা প্রদান করলে যদি সেটা সহনশীল হয় তবে এই ঝাপ দিলে কিছুই হবে না ৷

এখন ধরা যায়, একজন ব্যক্তির ওজনঃ m=76 kg এবং ঐ অনুষ্ঠানে ব্যহৃত তথ্যগুলোর প্রয়োজনীয় মান বসাই- h=0.05 মিটার x=0.45 :: h+x=0.5 মিটার g=9.81 মিটার/সেকেন্ড² ব্যক্তিটির পিঠের ক্ষেত্রফলে কাঁটা থাকতে পারে সর্বনিম্ন, N=3000 টি (অনেক কম ধরলাম ) এই মান গুলো (1) নং সমীকরনে বসিয়ে পাই 

f=0.276 নিউটন; যা বল হিসাবে পরিমাণে খুবই অল্প।

একটা বুজের কাঁটা আপনার গায় ধরে এ পরিমান বল প্রয়োগ করলে কাঁটা আপনার গায় কখনোই ফুটবেনা ৷ আরেক ভাবে বলা যায় একটা বুজের কাঁটা আপনার গায় রেখে তার উপর 28.1768707483 গ্রাম ভর চাপালে ঐ f বল তৈরী হবে৷ তো ঐ ভর কোন বুজের কাটার উপর রেখে আপনার গায়ে রাখলে আপনার কোন সমস্যা হবে না৷

বাস্তবে আমরা বিজ্ঞানের মূলসূত্র ঠিক মত জানিনা বিধায় আমাদের কাছে এজাতীয় কাজ কে অলৌকিক মনে হয়। কিন্তু আসলে তা মোটেও নয়

প্রাথমিক মাইক্রোকন্ট্রোলার শিক্ষা [বিট, রেজিস্টার নিয়ে কিছু কথা]

0
bit-register-microcontroller

সবাইকে আমার পক্ষ থেকে আবার স্বাগতম, আশা করি সবাই ভালই আছেন। আমি অন্তর আহমেদ। আজ আমি আপনাদের মাইক্রোকন্ট্রোলার bit, Register এবং নাম্বার সিস্টেম সম্পর্কে কিছু বলবো। আমি ২য় পর্বে বলেছিলাম বিট রেজিস্টারের কথা যা আমাদের প্রোগ্রামিং এর প্রতিটা পদে পদে প্রয়োজন। এটি মূলত কোন পর্ব না। ২য় পর্বের একটি এক্সট্রা অংশ বিশেষ।

Register:

-> PIC এর অনেক register থাকে। যেমন, Timer, ADC, PORT, TRIS ইত্যাদি ইত্যাদি। সাধারণত রেজিস্টার 8 bit,10 bit, 16 bit এর হয়ে থাকে। একটি PIC এর ভেতরে প্রায় অনেক গুলো রেজিস্টার আছে এবং এই রেজিস্টার গুলো কত বিটের তা আমরা সেই PIC এর datasheet দেখে জানতে পারব।

নিচের ছবিটি দেখুন। এইটা 16f72 মডেলের একটি মাইক্রোকন্ট্রোলারের datasheet এর অংশ। এখান থেকে আমরা জানতে পারছি- এই PIC এ তিনটা টাইমার আছে যা যথাক্রমে Timer0 = 8 bit, Timer1 = 16 bit, Timer2 = 8 bit। ইত্যাদি আরও অনেক কিছু আমরা datasheet থেকেই জানতে পারি। (PIC এর Timer নিয়ে আমি পরবর্তীতে একটি পর্ব লিখব)

বিট রেজিস্টার

Bit:

-> উপরে আমরা দেখলাম রেজিস্টার 8 bit, 16 bit বা তার বেশিও হয়ে থাকে। রেজিস্টারের প্রতিটি বিটকেই মূলত বিট বলে। যেমন, PORTB register এর PORTB.0, PORTB.1, PORTB.2…. ইত্যাদি হল বিট। তাহলে আমরা বলতেই পারি বিট হল রেজিস্টারের একক।

বিট পিন

এখন আমরা উপরের ছবি দেখে বুঝতেই পারছি, PORTA, PORTB, PORTC হল PORT Register এবং RC0 বা PORTC.0, RC1 বা PORTC.1 ইত্যাদি হল উক্ত রেজিস্টারের এর বিট।

মাইক্রোকন্ট্রোলার নিয়ে কাজ করতে হলে আমাদের অবশ্যই Register, Bit সম্পর্কে ভালো ধারনা থাকতে হবে। 

Binary কোড কি?

-> 0 এবং 1 ই binary number. মাত্র ২টা অংক। অর্থাৎ যে নাম্বার পদ্ধতিতে শুধুমাত্র 0 এবং 1 দিয়ে সব কিছু করা হয় তাকেই বাইনারি কোড বা নাম্বার পদ্ধতি বলে।

Decimal কোড কি?

-> 0 থেকে ৯ পর্যন্ত decimal number। মোট ১০টা অংক। আমরা সাধারণত যে নাম্বার ব্যবহার করি সেটাই decimal number.

Hexadecimal কোড কি?

-> 0 থেকে ৯ এবং A, B, C, D, E, F. মোট ১৬টা অংক।

নাম্বার রূপান্তকরন প্রক্রিয়াঃ 

আমি আপনাদের সুত্র দিয়ে সময় নষ্ট করে রূপান্তর করা শিখাতে চাই না। windows এর সাথে দেয়া সাধারণ calculator দিয়েই আমরা রূপান্তর করা শিখব। নিচে প্রক্রিয়া দেখানো হলঃ

১। প্রথমে windows এর calculator প্যানেল ওপেন করুন। নিচের মত একটি window আসবেঃ

1

২। View> Programmer অথবা কীবোর্ড থেকে alt+3 চাপুন।

2

৩। নিচের মত window আসবে। তারপর নিচের ছবির মত setting করে নিনঃ

3

৪। এখন decimal কোড সিলেক্ট করা আছে। উদাহরণস্বরূপ আমি ২৫৫ লিখেছি। ছবিতে দেখুন আমরা সাথে সাথে বাইনারি কোড পেয়ে যাচ্ছি। এখন আপনি dec এর জায়গায় অন্য কোনটা সিলেক্ট করেই রূপান্তর করতে পাবেন। যেমন, এখন যদি আমরা Hex সিলেক্ট করি তাহলে দেখতে পারব “FF” দেখাচ্ছে। তারমানে ২৫৫ এর Hex code হল “FF”.

4

5

Hex = hexadecimal, Dec = decimal, Oct = Octal, Bin = Binary.

Register, bit এবং নাম্বারিং সিস্টেম এর একটি উদাহরনঃ 

ধরি, আমরা কোন একটি মাইক্রোকন্ট্রোলারের PORTB রেজিস্টার এর RB.0, RB.2, RB.5, RB.7 বিট গুলো আউটপুট করব এবং বাকি বিট গুলো ইনপুট করব। আমি আগের পর্বে বলেছিলাম PORT আউটপুট/ইনপুট নির্ধারণের রেজিস্টার হল TRIS Register. তাহলে দেখে নেই কিভাবে আমরা উক্ত বিট/পিন গুলো আউটপুট/ইনপুট হিসেবে নির্ধারণ করবঃ

আমরা জানি, ইনপুট = ১, আউটপুট = ০; তাহলে,

RB7     RB6      RB5      RB4      RB3      RB2      RB1      RB0

0          1          0          1           1          0         1           0

[ক্রম অবশ্যই বাম দিকে সর্বোচ্চ থেকে দান দিকে সর্বনিম্ন হবে।]

আমরা বাইনারিতে পেয়ে গেলাম, TRISB = 0b01011010;

// এখানে “0b” হল MikroC compiler এর বাইনারি নির্দেশক। এটা লিখলে compiler বুঝলে পারে আপনি বাইনারি কোড ইনপুট করেছেন। এবং TRIS এর সাথে “B” হওয়ার কারণ আমরা PORTB নিয়ে কাজ করতেছি।

নাম্বার রূপান্তর করেঃ

TRISB = 0x5A;

// এখানে “0x” হল MikroC compiler এর Hex কোড নির্দেশক। এটা লিখলে compiler বুঝলে পারে আপনি Hex কোড ইনপুট করেছেন।

TRISB = 90;

//এখানে “৯০” হল Decimal কোড। decimal কোড নির্দেশ করতে কোন compiler এই কোন  নির্দেশক লাগে না।

আশা করি সবাই বুঝতে পেরেছেন। তাও যদি কেও কোন কিছু না বুঝে থাকেন তাহলে কমেন্ট করতে পারেন।

আল্লাহ হাফেয।

প্রাথমিক মাইক্রোকন্ট্রোলার শিক্ষা [পর্বঃ ০২ । ডাটাশীট রিডিং]

0
মাইক্রোকন্ট্রোলার ডাটাশীট

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

ধরেন, আপনি ঢাকা স্কুল নামক একটি স্কুলে পরেন। তাহলে সেই স্কুলে অবশ্যই কিছু সংখ্যক ক্লাস আছে এবং আপনি ক্লাস নাইনে পরেন। সেই ক্লাস নাইনেও আবার বেশ কিছু সংখ্যক ছাত্রও আছে। প্রত্যেক ছাত্রেরই আবার কতগুলো করে বই আছে। ধরেন আপনারও ৮টি বই আছে।

এখন দেখেন, স্কুলটি হল আমাদের মাইক্রোকন্ট্রোলার। কিন্তু আমাদের দেশে তো আর স্কুল একটা না তাই না? তাই আমি বলেছি ঢাকা নামক একটি স্কুল। ধরেন এটা আমাদের PIC16F877A যা একটি মাইক্রোকন্ট্রোলার। এই PIC16F877A মাইক্রোকন্ট্রোলারের ভেতরে আবার কিছু সংখ্যক ক্লাস আছে যাদের মডিউল [Module] বলা হয়। সব স্কুলে যেমন সমান সংখ্যক ক্লাস থাকে না তেমনি সব মাইক্রোকন্ট্রোলারেও সমান সংখ্যক মডিউল থাকে না। আবার বলতে গেলে এই মডিউলই হল একটি মাইক্রোকন্ট্রোলারের features (বৈশিষ্ঠ)। সকল ক্লাসের পড়া যেমন এক নয় তেমনি সকল মডিউলের কাজও কিন্তু এক না। যেহেতু আপনি ক্লাস নাইনে পরেন ধরি এই ক্লাস নাইন হল ADC Module [ADC = Analog to Digital Converter অর্থাৎ মাইক্রোকন্ট্রোলারের যে মডিউল এনালগকে মানকে ডিজিটালএ রূপান্তর করতে পারে]।

এই নাইনে কিন্তু আবার বেশ কিছু ছাত্র আছে, মডিউলে যাদের রেজিস্টার[Register] বলা হয়। একটি মডিউলেও রেজিস্টারের সংখ্যা একাধিক হতে পারে। যেমন, ADC Module এর জন্য ADCON0, ADCON1, ADRES ইত্যাদি রেজিস্টার। আবার এই প্রতিটি রেজিস্টার কিছু বিট[bit] নিয়ে গঠিত। যেমন, ADCON0 Register এর মধ্যে ADON, GO/DONE ইত্যাদি বিট।

নোটঃ এখানে ব্যবহৃত রেজিস্টার কিন্তু ইলেকট্রিক্যাল ও ইলেকট্রনিক্স সার্কিটে ব্যবহৃত রেজিস্টর নয়।

এখন একটা সহজ কথা বলি, আসলে বিটগুলো দিয়ে রেজিস্টারকে নিয়ন্ত্রণ করা হয়। আর এই রেজিস্টারের মধ্যেই বলা হয় মডিউলটা কিভাবে কাজ করবে কিভাবে আউটপুট দিবে। এমন কি আউটপুট বা মাইক্রোকন্ট্রোলারে কোন ইনপুট দিলেও সেটা কোন না কোন রেজিস্টারে গিয়ে জমা থাকে। এভাবেই একটি সম্পূর্ণ মাইক্রোকন্ট্রোলার কাজ সম্পাদন করে থাকে। বলতে গেলে মাইক্রোকন্ট্রোলারের কিছু মডিউল, রেজিস্টার, বিট ছাড়া আর কিছুই নাই। নিচের ছবিটি দেখেন আশা করি বুঝতে পারবেনঃ

How Work!

যদি কারও বিশ্বাস না হয় তাহলে এখন মাইক্রোকন্ট্রোলারের একটি ডাটাশীট ওপেন করে দেখে নিন। আসলে আমি কোন কিছু বেশি দিন মনে রাখতে পারি না। তাই এভাবে বুঝে নিয়েছিলাম। আশা করি আপনারাও বুঝতে পেরেছেন।

শুধু মাত্র ডাটাশীট পড়েই আপনি জানতে পারবেন কোন পিন কিভাবে কাজ করে। এজন্য আপনার বিট, বাইট[৮ বিটে ১ বাইট], রেজিস্টার সম্পর্কে ভাল জ্ঞান থাকতে হবে। মনে রাখা ভাল, ৮-বিট মাইক্রোকন্ট্রোলারের বেশির ভাগ রেজিস্টারই ৮ বিটের হয়।

এখানে ৮-বিট মাইক্রোকন্ট্রোলার বলতে বুঝায়, যে সকল মাইক্রোকন্ট্রোলারের ইনপুট/আউটপুট[I/O] পিন গুলোর রেজিস্টারে সর্বাধিক ৮টি বিট থাকে। যেমন, PIC16F877A এর RB0-RB7, RC0-RC7 ইত্যাদি। অর্থাৎ ৮বিটের বেশি নাই। RB[PORTB] একটি রেজিস্টার এবং RB0 এই রেজিস্টারের একটি বিট।

যেহেতু আমি বলেছিলাম আমাদের এই কোর্সের জন্য আমি শুধু PIC16F877A ব্যবহার করব তাই এখানে আমি শুধু PIC16F877A এর ডাটাশীট নিয়ে আলোচনা করলাম।

PIC16F877A এর পিনআউটঃ

PIC16F877a পিন আউট

নিচে PIC16F877A এর ডাটাশীট এর কিছু অংশ হাইলাইট করে দেখানো হলঃ

High-Performance RISC CPU:

Operating speed: DC – 20 MHz clock input

DC – 200 ns instruction cycle

  • Up to 8K x 14 words of Flash Program Memory,
  • Up to 368 x 8 bytes of Data Memory (RAM),
  • Up to 256 x 8 bytes of EEPROM Data Memory.

Peripheral Features:

  • Timer0: 8-bit timer/counter with 8-bit prescaler
  • Timer1: 16-bit timer/counter with prescaler,

can be incremented during Sleep via external

crystal/clock

  • Timer2: 8-bit timer/counter with 8-bit period

register, prescaler and postscaler

  • Two Capture, Compare, PWM modules
  • – Capture is 16-bit, max. resolution is 12.5 ns
  • – Compare is 16-bit, max. resolution is 200 ns

PWM max. resolution is 10-bit

  • Synchronous Serial Port (SSP) with SPI™

(Master mode) and I2C™ (Master/Slave)

  • Universal Synchronous Asynchronous Receiver

Transmitter (USART/SCI) with 9-bit address detection

  • Parallel Slave Port (PSP) – 8 bits wide with external RD, WR and CS controls (40/44-pin only)
  • Brown-out detection circuitry for Brown-out Reset (BOR)

Analog Features:

  • 10-bit, up to 8-channel Analog-to-Digital

Converter (A/D)

  • Brown-out Reset (BOR)
  • Analog Comparator module with:

Two analog comparators

– Programmable on-chip voltage reference (VREF) module

– Programmable input multiplexing from device inputs and internal voltage reference

– Comparator outputs are externally accessible.

ডাটাশীট এ মাইক্রোকন্ট্রোলারের বিশেষ ফিচার

ডাটাশীটটি ডাউনলোড করার জন্য এখানে ক্লিক করুনঃ PIC16F877A Datasheet.

বিট, রেজিস্টার নিয়ে কিছু কথাঃ

প্রোগ্রামিং এ আমাদের মূলত বিট, রেজিস্টারই দরকার পরে। কারণ যেহেতু প্রতিটি রেজিস্টারের নামই ভিন্ন তাই মডিউলকে প্রোগ্রামিং এ দরকার পরে না। রেজিস্টারের নাম বলতেই মাইক্রোকন্ট্রোলার বুঝে যায় আপনি কোন মডিউল নিয়ে কাজ করছেন।

যেহেতু বিট বাইনারি তাই একটি বিট শুধু ০ অথবা ১ হতে পারে। যেমন ধরেন, আপনি এখন PIC16F877A এর ১৫ নং পিনটি অন করবেন তাহলে আপনাকে প্রথমে দেখতে হবে পিনটি কোন রেজিস্টারে। এটি হল RC0, অর্থাৎ PORTC রেজিস্টারের ‘0’ নং বিট। তাহলে পিনটি অন করার জন্য লিখা জেতে পারেঃ

PORTC = 0b00000001; অথবা

PORTC.F0 = 1; অথবা PORTC.B0 = 1; অথবা

RC0_bit = 1;

সব গুলোর আউটপুট একই হবে। [প্রোগ্রামিং এর সময় বিস্তারিত আলোচনা করা হবে।]

[দ্রঃ বিঃ – কোন পিন অন করার আগে অবশ্যই পিনটিকে আউটপুট করে নিতে হবে। কোন পিন ইনপুট না আউটপুট হিসেবে কাজ করবে তা নির্ধারণ করার রেজিস্টার হল TRIS Register।]

PORTC = 0b00000001; এর ক্ষেত্রে আমি সম্পূর্ণ রেজিস্টারের মধ্যে মান দিয়েছি সুতরাং মানটি হবে ৮ বিটের কারণ আমাদের PORTC ৮ বিটের একটি রেজিস্টার।

বাকি সকল ক্ষেত্রে আমি শুধু মাত্র একটি বিটে মান দিয়েছি সুতরাং মানটি হবে বাইনারি[০ অথবা ১]।

এভাবে মাইক্রোকন্ট্রোলারের সকল কিছু নিয়ন্ত্রণ করা হয় বিট এবং রেজিস্টার এর মাধ্যমে।

বিট, রেজিস্টার সম্পর্কে আরও জানতে এখানে ক্লিক করুনঃ প্রাথমিক মাইক্রোকন্ট্রোলার শিক্ষা [বিট, রেজিস্টার নিয়ে কিছু কথা]

আশা করি সকলেই বুঝতে পেরেছেন। কারও কোন প্রশ্ন জিজ্ঞাসা থাকলে কমেন্ট করুন।

আজ এই পর্যন্তই। আল্লাহ হাফেয।

পরবর্তী আকর্ষণঃ

১। আমাদের প্রথম প্রোগ্রাম – এলইডি ব্লিঙ্কিং।