Arduino ও ডিজিটাল ইলেক্ট্রনিক্স। (২য় পর্ব)

6
1331
http://www.amaderelectronics.com/wp-content/uploads/2017/04/url.jpg

আমরা গত পর্বে শিখেছিলাম আরডুইনো কি এবং কেন ব্যবহার করবো। আজকে “Arduino ও ডিজিটাল ইলেক্ট্রনিক্স” এর ২য় পর্ব  আমরা শিখব কিভাবে সি ল্যাংগুয়েজ ব্যবহার করে আরডুইনোর জন্য একটা প্রোগ্রাম লেখা যায়।

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

সি প্রোগ্রামিং টিউটোরিয়াল

http://www.freebanglapdfstore.com/2014/01/tamim-shariar-bangla-programming-ebook.html

আপনাদের সবাইকে আমি বলব আমার বাকি লেখনিটুকু পড়বার আগে এই লিংক থেকে একবার ঘুরে আসুন এবং সি ল্যাংগুয়েজ এর ওপর একটা মোটামুটি ধারনা নিয়ে নিন।

মনে করছি আপনারা যথাযথ ভাবে ওপরের টিউটোরিয়ালটা অনুসরন করেছেন এবং সি ল্যাংগুয়েজ সম্পর্কে আপনাদের মোটামুটি একটা ধারনা তৈরী হয়েছে। এবার আমরা জানব যে, আমাদের কাজের জন্য কি কি সফ্টওয়্যার লাগবে।

প্রয়োজনিয় সফটওয়্যার

আমাদের কাজের জন্য আপাতত ২টি সফটওয়্যার হলেই চলবে। সফটওয়্যার ২টি হলো-

  • ১. Arduino I.D.E
  • ২. Proteus

Arduino I.D.E: Arduino IDE সফটওয়্যার টিকে মূলত এমনভাবে তৈরী করা হয়েছে যে এটি দিয়ে একই সাথে একটি কোড কম্পাইল ও সরাসরি আরডুইনোতে আপলোড করা যায়। এতে আরডুইনোর জন্য built in অবস্থায় প্রচুর পরিমান example ও library সংযুক্ত করা হয়েছে। এক কথায় নতুনদের কথা মাথায় রেখে এর নির্মাতা এটাকে খুবই সহজ করে সাজিয়েছেন।

Proteus: এরপর আমাদের লাগবে Proteus। এই সফটওয়্যারটির নাম হয়ত আমরা অনেকেই শুনেছি। প্রোটিয়াস হলো এমন একটি শক্তিশালি সফটওয়্যার যেটা দিয়ে ভার্চুয়ালি খুব সহজে একটা ইলেকট্রনিক সার্কিট তৈরি করা ও সিম্যুলেশন করা যায়।

অর্থাৎ এর মাধ্যমে সার্কিটটি সঠিকভাবে কাজ করবে কিনা তা পরিক্ষা করা যায়। এছাড়াও এটি দিয়ে খুব সুন্দর পিসিবি ডিজাইনও করা যায় এবং এর 3D output ও পাওয়া যায়। যেহতু্ আরডুইনোতে একটা প্রোগ্রাম লেখার পর সেটি সঠিকভাবে কাজ করছে কিনা তা জানার প্রয়োজন পড়বে তাই এটি আমাদের খুবই সহায়ক হবে।

আসুন প্রথমেই আমরা নিচের লিংক থকে আমাদের প্রয়োজনিয় সফটওয়্যার ২টি ডাউনলোড করে নিই।

Arduino IDE Download

https://downloads.arduino.cc/arduino-1.8.2-windows.zip

Protious Download

 1.http://www.mediafire.com/file/qcgr80t8axzba44/Proteus+8.4.0+SP0+Professional.7z

 2.http://diphons.blogspot.com/2016/05/proteus-84-pro-full-crack.html

arduino ide সফটওয়্যার টি পোর্টেবল যার কারনে এটাকে ইন্সটল করার ঝামেলা নেই।
প্রথমেই আমরা arduino.exe ফাইলটি ওপেন করবো। এখন আমরা নিচের মতো একটা উইন্ডো দেখতে পাচ্ছি।

আরডুইনোতে নতুন স্কেচ (Sketch) ওপেন করলে এমন আসবে
আরডুইনোতে নতুন স্কেচ (Sketch) ওপেন করলে এমন আসবে

এখানে আমরা void setup () { } ও void loop () { } এইরকম ২ টি ফাংশন দেখতে পাচ্ছি। যেহেতু আমরা পুর্বেই সি ল্যাংগুয়েজ টিউটোরিয়াল থেকে

variable, loop, function ইত্যাদি সম্পর্কে জেনেছি তাই এখানে আরা এই বিষয়ের ওপর কোনো বিস্তারিত আলোচনা করবনা। আমরা আজকে এমন একটা প্রোগ্রাম লিখব যেটা দিয়ে আরডুইনোর যে কোন একটা পিন ব্যবহার করে একটা এল,ই,ডি কে নির্দিষ্ট সময় পরপর জ্বালানো এবং নিভানো যাবে। তো আসুন আরডুইনোর জন্য একটা led blinking program লিখে ফেলি।

Led blinking program

int led = 13;

এখানে আমরা led নামে একটা ভেরিয়েবল নিয়েছি যার মান 13.

এরপর আমরা যে কমান্ডগুলো লিখব সেগুলো লিখব void setup ফাংশন এর ভিতরে। void setup ফাংশনটি মূলত আরডুইনোর mode setup এর জন্য ব্যবহৃত হয়।

অর্থাৎ কোনো পিনকে আমরা ইনপুট হিসাবে না আউটপুট হিসাবে ব্যবহার করব তা এখানেই নির্ধারিত করে নিতে হবে।
যেহেতু আমরা আরডুইনোর ১৩ নং পিনকে ব্যবহার করে একটা এল,ই,ডি জ্বালাবো তাই আমরা ১৩ নং পিনকে output mode এ সেট করবো।

void setup ()
{
pinmode(led, OUTPUT);
}

আমরা pinmode select করার পর ওই পিনটিকে ব্যবহার করে একটা led কে কতক্ষন পর পর জ্বলা নিভা করাতে চাই সেই কমান্ডগুলো লিখব void loop ফাংশন এর ভিতরে।

একটা বিষয় আমাদের জানা দরকার যে, void setup ফাংশনটি আরডুইনো power up করার পর শুধুমাত্র একবারের জন্যই রান হয়। কিন্তু void loop ফাংশনটি পর্যায়ক্রমিকভাবে নির্দিষ্ট cycle এ রান হতেই থাকে তাই একটি প্রোগ্রাম এর মূল অংশ হিসাবে void loop ফাংশন ব্যবহৃত হয়।

void loop ()

{

digitalWrite(led, HIGH);

delay(1000);

digitalWrite(led, LOW);

delay(1000);

}

আরডুইনোর কোন পিনকে ডিজিটালি হাই বা লো করতে চাইলে digitalWrite কমান্ড ব্যবহার করা হয়। আমাদের প্রোগ্রাম এর প্রথম লাইন এ আমরা এই কমান্ড ব্যবহার করে led কে অর্থাৎ ১৩ নং পিনকে হাই করেছি।

২য় লাইন এ আমরা ১০০০ মিলি সেকেন্ড এর জন্য একটা delay দিয়েছি অর্থাৎ আমরা ১০০০ মিলি সেকেন্ড এর জন্য ১৩ নং পিনকে হাই অবস্থায় রাখতে চাই।

একইভাবে ৩য় এবং ৪র্থ লাইনে digitalWrite এবং delay কমান্ড ব্যবহার করে আমরা ১০০০ মিলি সেকেন্ড এর জন্য ১৩ নং পিনকে লো করেছি।

এখন সম্পুর্ন প্রোগ্রামটিকে এক জায়গায় করলে এইরকম পাওয়া যাচ্ছে

int led = 13; void setup ()

{

pinmode(led, OUTPUT);

}

void loop ()

{

digitalWrite(led, HIGH);

(1000);

digitalWrite(led, LOW);

delay(1000);

নিচের চিত্রে দেখুন-

এবার আমরা arduino ide এর sketch অপশন থেকে verify/compile select করব ঠিক নিচের ছবির মতো করে-

আরডুইনো তে কোড ভেরিফাই করা
আরডুইনো তে কোড ভেরিফাই করা
ভেরিফাইকৃত কোড কম্পাইল হবার পরে
ভেরিফাইকৃত কোড কম্পাইল হবার পরে

done compile……

হুররে…………
আমরা আরডুইনোর জন্য একটা এলইডি প্রোগ্রাম তৈরী করতে পেরেছি এবং সেটা সফলভাবে কম্পাইল করতে সক্ষম হয়েছি।

আমরা আগামী দিন শিখব কিভাবে Proteous Software ব্যবহার করে আরডুইনোর জন্য একটা সার্কিট তৈরী করা। এবং আমাদের লেখা প্রোগ্রামটি ঐ সার্কিটে সঠিকভাবে কাজ করছে কিনা তা পরিক্ষা করা।

সেই পর্যন্ত সকলেই ভাল থাকবেন এই প্রত্যাশায় আল্লাহ হাফেজ।

বিঃদ্রঃ (একজন লেখকের সবচাইতে বড় প্রত্যাশা হলো পাঠকের মতামত। তাই আপনাদের সকলের কাছেই আমার কামনা যে, আপনাদের মূল্যবান মতামত দিয়ে আমার লেখনি গুলোকে আরও সুন্দর ও পরিমার্জিত করতে সহায়তা করুন)

6 মন্তব্য

  1. অনেক সুন্দর হয়েছে ভাই। তবে লেখা ফর্মেটিং টা আরো ভাল হওয়া প্রয়োজন।

  2. আমি ইলেকট্রনিকস নিয়ে ডিপলােমা করতেছি ৷এখন ৩য় সেমিসটার যাবো ৷ছোট থেকেই হাতের কাজ,ওয়েরিং করি,

    আপনার পোসট পড়ে ভাল লাগলো ৷ জানি এটা আমার+আমাদের দরকারি ৷যদিও একᑀ একটু বোঝছি ৷ আশা করি ৪র্থ সেমিসটারে ভাল বােঝব

একটি উত্তর ত্যাগ

Please enter your comment!
Please enter your name here