পোস্টগুলি

ছবি
১৯. 8051 এর সাথে বিভিন্ন ধরনের ডিভাইসের ইন্টারফেস এই পোস্টে আমরা শুধু 8051 মাইক্রোকন্ট্রোলারের সাথে বিভিন্ন ধরনের ডিভাইসের ইন্টারফেস দেখব। যেমন - ম্যাট্রিক্স কিপ্যাড, সার্ভো মোটর, ডিসি মোটরের স্পিড কন্ট্রোল, রিলে ইন্টারফেস ইত্যাদি। এই পোস্টটি পরবর্তীতে আরও আপডেট করা হবে এবং আরও ডিভাইসের ইন্টারফেস এপিক 8051 মাইক্রোকন্ট্রোলার দিয়ে আমরা করব। প্রত্যেকটি কোডেই কমেন্ট করে বলে দেয়া হয়েছে কোন লাইনের লজিক কি?? তারপরও আমরা বেসিক থিওরি বুঝে না থাকলে পরবর্তী কোন পোস্টে সেগুলো সম্পর্কে দেখে নিব। শুধু কোড এবং সার্কিট দিয়েই এই পোস্টটি শেষ করব আমরা।  8051 মাইক্রোকন্ট্রোলারের সাথে রিলে ইন্টারফেসঃ  মাইক্রোকন্ট্রোলারের সাথে রিলে ইন্টারফেসের মাধ্যমে আমরা এসি লাইন কন্ট্রোল করতে পারি মাইক্রোকন্ট্রোলার দিয়েই। নিচে 8051 মাইক্রোকন্ট্রোলারের সাথে রিলে ইন্টারফেসের কোড এবং সার্কিট টি দেখে নেয়া যাক #include<reg52.h> sbit relay_pin = P2^0; //declare P2.0 as relay control pin sbit input_pin = P1^0; //declare P1.0 as input pin void main()
ছবি
১৮. 8051 এর সাথে UART ডিভাইস ইন্টারফেস আমরা আগেই জেনেছি যে UART কমিউনিকেশন প্রোটোকল হল এম্বেডেড সিস্টেমে মোটামোটি খুবই গুরুত্বপূর্ণ একটি প্রোটোকল। 8051 মাইক্রোকন্ট্রোলারে এই পেরিফেরালস্‌টি আছে এবং এর আগের পোস্টগুলোয় আমরা এর হার্ডওয়্যার ডিটেইলস্‌ এবং আর্কিটেকচার সম্পর্কেও যথেষ্ট ধারনা পেয়েছি। আজকে আমরা ডিরেক্ট এই প্রোটোকলের ইমপ্লিমেন্ট দেখব এবং সেই সাথে 8051 মাইক্রোকন্ট্রোলারের অটো-রিলোড মোড টাইমারের ও ইমপ্লিমেন্ট দেখব। এই প্রোটোকলটি দিয়ে মাইক্রোকন্ট্রোলারের সাথে ব্লুটুথ মডিউল, জিএসএম মডিউল, ESP ওয়াই-ফাই মডিউলের ইন্টারফেস করা হয়ে থাকে। আমরা আপাতত 8051 মাইক্রোকন্ট্রোলারের সাথে প্রোটিয়াসের ভার্চুয়াল সিরিয়াল মডিউলের ইন্টারফেস করব এবং বাস্তবে কি ধরনের প্রজেক্টে এই কমিউনিকেশন ব্যবহার করা যায় তা দেখব। এই পোস্টটি পড়ার আগে অবশ্যই 8051 মাইক্রোকন্ট্রোলারের সিরিয়াল কমিউনিকেশনের আগের পোস্টগুলো ১০ নম্বর পোস্ট এবং ১১ নম্বর পোস্ট পড়ে আসতে বলা হল। কারন এখানে আমরা শুধু ইমপ্লিমেন্টশনই দেখব। আমরা যদি 8051 মাইক্রোকন্ট্রোলারের সাথে আমাদের পিসি বা ল্যাপটপের সিরিয়াল কমিউনিকেশন করতে চাই তাহলে কি কর
ছবি
১৭. 8051 মাইক্রোকন্ট্রোলারের সাথে ADC ইন্টারফেস এম্বেডেড সিস্টেমের একটি গুরুত্বপূর্ণ বিষয় হল ADC অর্থাৎ Analog-Digital-Coverter. যেহেতু এম্বেডেড সিস্টেম হল একটি ডিজিটাল সিস্টেম সেহেতু যেকোন এনালগ সিগন্যাল নিয়ে কাজ করতে হলেই আগে তাকে ডিজিটালে কনভার্ট করে নিতে হয়। বর্তমানে প্রায় আধুনিক সব মাইক্রোকন্ট্রোলারেই ADC পেরিফেরালস্‌ আকারেই থাকে। অর্থাৎ মাইক্রোকন্ট্রোলারের ভিতরেই এই অংশটুকু সংযোগ করা থাকে। কিন্তু 8051 মাইক্রোকন্ট্রোলার অনেক আগের মাইক্রোকন্ট্রোলার হওয়ায় এতে ADC পেরিফেরালস্‌ নেই। না থাকলে কি তাহলে আর এই মাইক্রোকন্ট্রোলার দিয়ে কাজ করা যাবেনা? যাবে। তবে একটু ঝামেলা করে এই এনালগ-টু-ডিজিটাল-কনভার্সনের কাজটি করতে হবে। মাইক্রোকন্ট্রোলারে যেসব পেরিফেরালস্‌ থাকে তার প্রায় সবই আইসি চিপ আকারে পাওয়া যায় বাজারে। তেমনি বাজারে ADC এরও চিপ পাওয়া যায়। এই চিপটির নাম হল ADC0808 বা ADC0809. আমরা স্পেসিফিকভাবে এই পোস্টে ADC0808 চিপ নিয়ে কথা বলব এবং 8051 মাইক্রোকন্ট্রোলারের সাথে ADC0808 আইসির ইন্টারফেস শিখব। এটি একটি ৮ বিটের সাক্সেসিভ-এপ্রক্সিমেশন টাইপের ADC চিপ যাতে ৮ টি ইনপুট চ্যানেল আছে এবং
ছবি
১৬. 8051 মাইক্রোকন্ট্রোলারের সাথে LCD ইন্টারফেস যেকোন মাইক্রোকন্ট্রোলারের সাথে LCD ইন্টারফেস অত্যন্ত গুরুত্বপূর্ণ একটি বিষয়। প্রায়ই মাইক্রোকন্ট্রোলার দিয়ে এমন কিছু প্রজেক্ট করতে হয় যেখানে আমাদের মাইক্রোকন্ট্রোলারের প্রসেস করা ডেটা LCD স্ক্রিনে দেখতে হয়। অথবা রিয়েল টাইম ডিবাগিং এর ক্ষেত্রেও অনেক সময় LCD স্ক্রিনে আমাদের ডেটা দেখার প্রয়োজন হয়। আজকের পোস্টে আমরা মাইক্রোকন্ট্রোলারের সাথে লিকুইড ক্রিস্টাল LCD এর ইন্টারফেস সম্পর্কে শিখব। লিকুইড ক্রিস্টাল LCD দেখতে সাধারণত নিচের মত হয়ে থাকে। এই লিকুইড ক্রিস্টাল LCD স্ক্রিন সাধারণত অনেক সাইজের হয়ে থাকে। যেমন উপরোক্ত LCD টি 16x2 আকারের। এটার দ্বারা বোঝানো হয় যে এই লিকুইড ক্রিস্টাল LCD তে দুইটি সারি আছে। এবং প্রত্যেক সারি ১৬ টি ক্যারাক্টার ধারন করতে পারে। তাহলে দুই সারিতে মোট ১৬*২ = ৩২ ক্যারাক্টার দেখানো সম্ভব এই  LCD স্ক্রিনে। এরকম আরেকটি সাইজের লিকুইড ক্রিস্টাল LCD হল- এই লিকুইড ক্রিস্টাল LCD টি হল 20x4 আকারের। এই 20 এবং 4 দ্বারা বুঝানো হয় যে এতে চারটি সারি আছে এবং প্রত্যেক সারি ২০ টি ক্যারাক্টার ধারন করতে পারে। তাহলে এই মডে
ছবি
১৫. 8051 এর টাইমার পেরিফেরাল দিয়ে delay() ফাংশন টাইমার যে আসলে কত গুরুত্বপূর্ণ একটি পেরিফেরাল তা বলে বুঝানো যাবেনা। এর আগের পোস্টগুলোতে আমরা টাইমার সম্পর্কে যথেষ্ট জেনেছি কিন্তু তারপরও কিছু খুঁটিনাটি বিষয় এখনও বাকি থেকে গেছে। আজকের পোস্টে আমরা মোটামোটি ভাবে টাইমার সম্পর্কে বাকি বিষয়গুলো জেনে নিব। টাইমার দিয়ে delay() ফাংশন রিলেটেড কিছু করতে গেলে অবশ্যই 8051 মাইক্রোকন্ট্রোলারের সাথে ১২ মেগাহার্টজের ক্রিস্টাল অসসিলেটর সংযোগ করতে হবে। কারন আমরা আগেই জেনেছি। ১২ মেগাহার্টজ ক্রিস্টাল অসসিলেটরের জন্যে 8051 মাইক্রোকন্ট্রোলারের মেশিন সাইকেলের পালস্‌ হয় ১ মাইক্রোসেকেন্ড। হিসাবের সিমপ্লিসিটি বজায় রাখার জন্যেই এরুপ ক্রিস্টাল সিলেক্ট করা। তাহলে এটুকু বোঝা যাচ্ছে যে মাইক্রোকন্ট্রোলারের এরুপ কনফিগারেশনের জন্যে আমরা টাইমার দিয়ে সর্বনিম্ন ১ মাইক্রোসেকেন্ড এবং সর্বোচ্চ ৬৫.৫৩৫ মিলিসেকেন্ড পর্যন্ত সময় গণনা করতে পারি। সর্বোচ্চ ৬৫.৫৩৫ মিলি সেকেন্ড কেন সেটা আমাদের সবারই মোটামোটি বুঝতে পারার কথা। না বুঝে থাকলে টাইমার রিলেটেড আগের পোস্টগুলো একটু দেখে নিবো। এখন ঘটনা হল এই ৬৫.৫৩৫ মিলিসেকেন্ড গণনার পর কি