আরডুইনোতে প্রথম প্রোগ্রাম (ফ্লাসিং এল ই ডি)

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

ফ্লাসিং এল ই ডি প্রোগ্রামের কোড

/*

  Blink

  Turns on an LED on for one second, then off for one second, repeatedly.

  This example code is in the public domain.

 */

// Pin 13 has an LED connected on most Arduino boards.

// give it a name:

int led = 13;

// the setup routine runs once when you press reset:

void setup() {

  // initialize the digital pin as an output.

  pinMode(led, OUTPUT);

}

// the loop routine runs over and over again forever:

void loop() {

  digitalWrite(led, HIGH);   // turn the LED on (HIGH is the voltage level)

  delay(1000);               // wait for a second

  digitalWrite(led, LOW);    // turn the LED off by making the voltage LOW

  delay(1000);               // wait for a second

}

 

সার্কিট ডায়াগ্রাম

ExampleCircuit_bb

প্রোগ্রামটির বর্ণনা

উপরের প্রোগ্রামটি আরডুইনে IDE এর example ফাইলে দেয়া আছে। প্রতিটা আরডুইনো UNO বোর্ডে 13 নাং ডিজিটাল ইনপুট/আউটপুট পিনের বিপরীতে একটা এল ই ডি সংযুক্ত থাকে। উপরের প্রোগ্রামটি আরডুইনে IDE তে লিখে আরডুইনো UNO তে লোড করলে এল ই ডি টি এক মিনিটের জন্য জ্বলবে এবং পরবর্তী এক মিনিট নিভে থাকবে, এভাবে চলতে থাকবে।

বিস্তারিত বর্ণানা এবং কিছু পরিবর্তন

প্রতিটা আরডুইনো UNO বোর্ডে 0 থেকে 13 মোট ১৪ টি ডিজিটাল ইনপুট/আউটপুট পিন আছে। উপরের প্রোগ্রামটির  13 নং ডিজিটাল পিনটিকে আউটপুট পিন হিসেবে ব্যবহার করা হয়েছে আমরা এর পরিবর্তে 10 নং পিন ব্যবহার করব। উপরের প্রোগ্রামে যে সকল লাইনের সামনে (//) চিহ্ন আছে তা মন্তব্য হিসেবে বিবেচিত হয়, যা প্রোগ্রামটির কোন অংশ নয়। উপরের প্রোগ্রামটির পরিবর্তিত সংক্ষিপ্ত রূপ নিম্নরূপ।

int led = 10;

void setup()

{

  pinMode(led, OUTPUT);

}

void loop()

{

  digitalWrite(led, HIGH);   // turn the LED on (HIGH is the voltage level)

  delay(1000);               // wait for a second

  digitalWrite(led, LOW);    // turn the LED off by making the voltage LOW

  delay(1000);               // wait for a second

}

 

 

 

প্রোগ্রাম বিশ্লেষণ

  • আরডুইনো ব্যবহার করে লেখা প্রোগ্রামের দুটি প্রধান অংশ থাকে। void setup() এবং void loop() ।
  • void setup() ফাংশনটি ব্যবহার করা হয় পিনমুড নিধারণ, ভেরিয়েবল ইনিশিয়ালাইজ করা, লাইব্র্রেরি ব্যবহার করা ইত্যাদি কাজের জন্য ব্যবহার করা হয়। void setup() ফাংশনটি মাত্র একবার কাজ করে। অর্থাৎ প্রতিবার পাওয়ার সাপ্লাই দেয়ার পর বা রিসেট করার পর void setup() ফাংশনটি সক্রিয় হয়।
  • void loop() ফাংশনের মধ্যেই প্রোগ্রামের প্রধান অংশ রাখা হয়।
  • int led = 10; এর মাধ্যমে led নামে একটা ভেরিয়েবল ডিক্লেয়ার করা হয়েছে যার মান 10।
  • pinMode(led, OUTPUT);  অর্থাৎ led এর মান 10 , অর্থাৎ ১০ নং ডিজিটাল ইনপুট/ আউটপুট পিনটিকে আউটপুট হিসেবে ব্যবহার করা হবে।
  • digitalWrite(led, HIGH);   অর্থাৎ ১০ নং ডিজিটাল আউটপুট পিনটিক লজিক হাই হবে।
  • delay(1000); অর্থাৎ ১০০০ মিলি সেকেন্ড বা এক মিনিট অপেক্ষা করবে যে সময় ১০ নং ডিজিটাল আউটপুট পিনটিক লজিক হাই অবস্থায় থাকবে।
  • digitalWrite(led, LOW); অর্থাৎ ১০ নং ডিজিটাল আউটপুট পিনটিক লজিক লো হবে।
  • delay(1000); অর্থাৎ ১০০০ মিলি সেকেন্ড বা এক মিনিট অপেক্ষা করবে যে সময় ১০ নং ডিজিটাল আউটপুট পিনটিক লজিক লো অবস্থায় থাকবে।

খুবই সহজ প্রোগ্রাম। আশাকরি সবাই করতে পারবেন। কোন সমস্যা থাকলে বা জানার থাকলে মন্তব্য করবেন।

………………………………………………………………………………..

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