প্রদীপ জ্বালিয়ে কেউ তা খাটের নিচে লুকিয়ে রাখেনা বরং দ্বীপাদারের উপরেই রাখে । যাতে তার আলো সবাই দেখতে পায় । No body bring a lamp to put under a bed, but put it on its stand. Let to see its light.

Microcontroller tutorial in bangla Part-6 (Supply the clock and reset signal of PIC16F84)

মে 28, 2010Ashim Kumar No Comments »

PIC16F84 মাইক্রোকন্ট্রোলারে Reset সিগন্যাল প্রদান:

PIC16F84 মাইক্রোকন্ট্রোলারে Reset সিগন্যাল প্রদানের জন্য নিচের সার্কিটটি ব্যবহৃত হয়।

 

যখন মাইক্রোকন্ট্রোলারটিকে কার্যক্ষম করা হয় তখন এর Pin no 4 (MCLR) এ সবসময় +Ve করে রাখতে হয়। এজন্য 1kΩ রেজিস্টরের মাধ্যমে এই ভোল্টেজ প্রদান করা হয়। যখন মাইক্রোকন্ট্রোলারকে Reset করার প্রয়োজন হয় তখন Push Switch এর মাধ্যমে MCLR এ গ্রাউন্ড ভোল্টেজ প্রদান করে Reset করা হয়।

PIC16F84 মাইক্রোকন্ট্রোলারে Clock সিগন্যাল প্রদান:

PIC16F84 মাইক্রোকন্ট্রোলারকে কার্যকর করার জন্য অপারেটিং ফ্রিকোয়েন্সি খুবই গুরুত্বপূর্ণ। PIC16F84 মাইক্রোকন্ট্রোলারের সর্বোচ্চ অপারেটিং ফ্রিকোয়েন্সি 10MHz কিন্তু সচরাচর 4MHz ই বেশি ব্যবহার করা হয়। PIC16F84 মাইক্রোকন্ট্রোলারে অপারেটিং ফ্রিকোয়েন্সি প্রদান করার জন্য নিচের সার্কিটটি ব্যবহার করা হয়।

 

সার্কিটটির মাধ্যমে প্রয়োজনীয় ফ্রিকোয়েন্সি উৎপাদনের জন্য একটি ক্রিস্টাল অসিলেটর ব্যবহার করা হয়। যা PIC16F84 মাইক্রোকন্ট্রোলারের Pin no15 এবং  Pin no 16 এর সাথে যুক্ত করা হয়। সার্কিটে ব্যবহৃত ক্যপাসিটর দুইটি 30pf হয়ে থাকে।


Microcontroller tutorial in bangoli Part-5 (Supply the operating voltage of PIC 16F84 microcontroller)

মে 27, 2010Ashim Kumar No Comments »

PIC16F84 মাইক্রোকন্ট্রোলারে অপারেটিং ভোল্টেজ প্রদান:

PIC16F84 মাইক্রোকন্ট্রোলারে অপারেটিং ভোল্টেজ রেন্জ 2.0v-6.0v হলেও সচরাচর DC 5v ব্যবহৃত হয়। এবং এজন্য উপযুক্ত ভোল্টেজ সোর্স হিসেবে নিচের সার্কিটটি ব্যবহৃত হয়।

সার্কিটির আউটপুটকে PIC16F84 এর Vdd এবং Vss এর মধ্যে সংযুক্ত করা হয়। এর মাধ্যমে Vdd (PIC16F84 মাইক্রোকন্ট্রোলারের 13 নং Pin) এ +5v এবং Vss (PIC16F84 মাইক্রোকন্ট্রোলারের 5 নং Pin) এ গ্রাউন্ড ভোল্টেজ প্রদান করা হয়।

সার্কিটে ব্যবহৃত ট্রান্সফরমারটি একটি সাধারণ AC 220v-9v স্টেপ ডাউন ট্রান্সফরমার , যার কাজ হল 220v AC কে 9v AC তে রূপান্তর করা । এর সাথে চারটি ডায়োড যুক্ত করে একটি ব্রিজ রেকটিফায়ার সার্কিট গঠন করা হয়েছে , যার কাজ হল ট্রান্সফরমারের আউটপুট 9v AC কে 9v DC তে রূপান্তর করা। রেকটিফায়ার সার্কিটের আউটপুট হিসেবে যে 9v DC পাওয়া গেল তাতে কিছু নয়েজ থাকতে পারে তা দূর করার জন্য C1 ( 22µF) এর একটি ক্যাপাসিটর ব্যবহার করা হয়।

সার্কিটে ব্যবহৃত LM7805 IC টি একটি ভোল্টেজ রেগুলেটর IC, যার কাজ হল আউটপুটে কনস্ট্যান্ট 5v DC সাপ্লাই প্রদান করা । এই সার্কিটে LM7805 ইনপুট হিসেবে 9v DC নিয়ে আউটপুটে কনস্ট্যান্ট 5v DC সাপ্লাই প্রদান করছে। সার্কিটে ব্যবহৃত C2 ( 100nF) এবং C3 ( 10µF) সিটর দুটিও সার্কিটে নয়েজ দূরীকরনের জন্য ব্যবহৃত হয়।

শেষে দুটি কথাঃ  আমরা যে সার্কিটটি সম্পর্কে জানলাম তা শুধুমাত্র PIC16F84 মাইক্রোকন্ট্রোলারে অপারেটিং ভোল্টেজ প্রদানের জন্য নয় যে কোন স্থানে যেখানে কনস্ট্যান্ট 5v DC সাপ্লাই ভোল্টেজ প্রয়োজন সেখানেই ব্যবহার করা যাবে।


Microcontroller tutorial in Bangoli Part-4(Pin configaration of PIC16F84 microcontroller)

মে 19, 2010Ashim Kumar No Comments »

মাইক্রোকন্ট্রোলার ব্যবহার করে কোন প্রজেক্ট তৈরি করতে হলে, বা মাইক্রকন্ট্রোলার প্রোগ্রামিং শেখার পূর্ব শর্ত হল আমরা যে মাইক্রোকন্ট্রোলারকে প্রোগ্রাম করব তার Pin configaration জানা। আমাদের উদ্দেশ্য যেহেতু PIC16F84 মাইক্রোকন্ট্রোলার দিয়ে একটি পূর্ণাঙ্গ প্রজেক্ট তৈরি করা, তাই আমরা প্রথমেই PIC16F84 মাইক্রোকন্ট্রোলারের Pin configaration জেনে নেই।

PIC16F84 মাইক্রোকন্ট্রোলারের Pin configaration:

PIC16F84 মাইক্রোকন্ট্রোলারের প্রত্যেকটি Pin এর বর্ণনা:

Pin no.1 RA2 port A এর তৃতীয় Pin.

Pin no.2 RA3 port A এর চতুর্থ Pin.

Pin no.3 RA4 port A এর পঞ্চম Pin এবং TOCK1 যা timer হিসেবে ব্যবহৃত হয়।

Pin no.4 MCLR রিসেট ইনপুট যা মাইক্রোকন্ট্রোলারকে রিসেট করতে ব্যবহৃত হয়।

Pin no.5 Vss Power supply এর Ground সংযোগ।

Pin no.6 RB0 port B এর প্রথম Pin এবং INT অর্থৎ ইন্টারাপ্ট ইনপুট ইনপুট হিসেবে কাজ করে।

Pin no.7 RB1 port B এর দ্বিতীয় Pin.

Pin no.8 RB2 port B এর তৃতীয় Pin.

Pin no.9 RB3 port B এর চতুর্থ Pin.

Pin no.10 RB4 port B এর পঞ্চম Pin.

Pin no.11 RB5 port B এর ছষ্ঠ Pin.

Pin no.12 RB6 port B এর সপ্তম Pin.

Pin no.13 RB7 port B এর অষ্টম Pin.

Pin no.14 Vdd Positive power supply.

Pin no.15 এবং Pin no.16 যথাক্রমে OSC1 এবং OSC2 Oscillator সংযোগ।

Pin no.17 RA1 port A এর দ্বিতীয় Pin.

Pin no.18 RA0 port A এর প্রথম Pin.


Microcontroller tutorial in Bangoli Part-3(Introduction of PIC16F84 microcontroller)

মে 10, 2010Ashim Kumar No Comments »

 

PIC16F84 মাইক্রোকন্ট্রোলার পরিচিতি:

 PIC16F84, Microchip এর PIC পরিবারের 8-bit মাইক্রোকন্ট্রোলার। PIC16F84 বাজারে 18 Pin এর DIP (Dual in line package) এবং SOIP (Small outline integrated circuit) প্যকেজ আকারে পাওয়া যায়। এতে প্রত্যেকটি 14-bit বিশিষ্ট 1k word Flash Program memory বিদ্যমান । এর Data RAM 68-bytes এবং Data EEPROM 64-bytes। প্রত্যেক Memory ই Flash টেকনোলজির অর্থাৎ এসব Memory অসংখ্যবার Erase করে নতুন Data রাখা ও Program করা সম্ভব। এর সর্বোচ্চ অপারেটিং ফ্রিকোয়েন্সি 10MHz , তবে সাধারণত বেশি ক্ষেত্রে 4MHz ব্যবহার করা হয়।   

 

এতে মোট 35 টি Single word (14-bit) instruction বিদ্যমান। এতে 15 টি Special function hardware resister রয়েছে। এতে 13 টি Input /Output Pin রয়েছে যা Port A এবং Port B তে বিভক্ত। RA0-RA4 এই পাঁচটি Pin নিয়ে Port A এবং RB0-RB7 এই আটটি Pin নিয়ে Port B গঠিত। এতে 8-Level deep hardware stack বিদ্যমান। এর অপারেটিং ভোল্টেজ রেন্জ 2.0v থেকে 6.0v। তবে 5v ব্যবহার করাটাই অধিক যুক্তিযুক্ত। এতে দুইটি মেমরি ব্যাংক যথাক্রমে Bank 0 এবং Bank 1 আছে। এতে 8-bit এর একটি status register রয়েছে যা Memory BANK নির্বাচন করতে খুবই গুরুত্বপূর্ণ ভূমিকা পালন করে। 

 

শেষে দুটি কথা:  PIC16f84 মাইক্রোকন্ট্রোলারের সাথে সবাইকে পরিচয় করিয়ে দিলাম মাত্র পরবর্তীতে এটি কিভাবে প্রোগ্রাম করে উপযুক্ত হার্ডওয়ারে স্থাপন করে পূর্ণাঙ্গ ইলেকট্রনিক্স প্রজেক্ট সম্পূর্ণ করা যায় তা দেখব। 

 

  


Microcontroller tutorial in Bangoli Part-2 (Practical application of microcontroller )

এপ্রিল 22, 2010Ashim Kumar No Comments »

মাইক্রোকরন্ট্রোলারের ব্যবহারিক ক্ষেত্র :

১৯৭১ সালে ইন্টেল-4004 ,4 বিট প্রসেসর এর মাধ্যমে সূচনা হয় মাইক্রোকন্ট্রোলারের ইতিহাস। পরবর্তী কালে বিভিন্ন ক্ষেত্রে নতুন নতুন চাহিদার পূর্ণতা দানের লক্ষে এবং ইলেকট্রনিক্সকে আরো সমৃদ্ধ করার লক্ষে নতুন নতুন টেকনোলজির 4,8,16 এবং 32 বিট মাইক্রোকন্ট্রোলার তৈরি করা হয়।যা ইলেকট্রনিক্স কন্ট্রোল সিস্টেমকে অত্যাধুনিক করার পাশাপাশি আমাদের দৈনন্দিন জীবনে নিয়ে আসে অভাবনীয় পরিবর্তন ।সৃষ্টি হয় নতুন নতুন শিল্প ক্ষেত্র।আজও এর উন্নয়ন গতি থেমে নেই।

 

 

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

A/D কনভার্টার, D/A কনভার্টার, টেলিফোন, রিমোট কন্ট্রোল, মাইক্রোওয়েভ ওভেন, ওয়াশিং মেশিন . লাইটিং কন্ট্রোল, ডিজিটাল ডিসপ্লে কন্ট্রোল, ট্রাফিক সিগন্যাল কন্ট্রোল, ওয়েভ জেনারেশন, কলিং বেল, অটোমেটিক ডোর কন্ট্রোল , লিফট কন্ট্রোল ইত্যাদিতে মাইক্রোকন্ট্রোলারের ব্যবহার যেমন কার্যদক্ষতা বৃদ্ধি করেছে পাশাপাশি মানুষের জীবনযাত্রার মানও বৃদ্ধি করেছে অনেক গুণ।

সিঙ্গেল চিপ এবং দামে সস্তা হওয়ায় মাইক্রোকন্ট্রোলার সিকিওরিটি সিস্টেম সহ যে কোন ধরণের কন্ট্রোলিং সিস্টেমে ব্যবহার করা যায়।

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

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

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


Microcontroller tutorial in Bangoli Part-1 (Basic description)

এপ্রিল 16, 2010Ashim Kumar 2 Comments »

আমার যেভাবে শেখা:

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

আমার শুরুর কথাগুলো সবার সাথে শেয়ার করলাম হয়তবা অনেকের কাজে লাগতে পারে।

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

সিঙ্গেল চিপ মাইক্রোকম্পিউটারকে মাইক্রোকন্ট্রোলার বলা হয় । এতে একটি চিপের মধ্যেই নির্দিষ্ট পরিমান RAM,ROM, EEPROM, ALU, Timer , Counter, I/O port ইমবেডেড অবস্থায় থাকে । তাই মাইক্রোকন্ট্রোলার মাইক্রোকম্পিউটারের চেয়েও দ্রুত কাজ সম্পাদন করতে পারে। এতে টাইমিং এবং কন্ট্রোল ইউনিট যুক্ত থাকায় এর মাধ্যমে বিভিন্ন ধরণের মেশিনকে সুক্ষ ও নির্ভুলভাবে নিয়ন্ত্রন করা যায়।

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

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

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