Sunday, February 9, 2020

Arduino Learning | আরডুইনো প্রোগ্রামিং

Arduino Learning Tutorial   | আরডুইনো প্রোগ্রামিং  


বন্ধুরা  আজ আমরা arduino নিয়ে  কিছু তথ্য  ও সাধারণ কিছু প্রজেক্ট এই  প্রজেক্ট সিরিজে আলোচনা করবো,
Arduino Programing শেখার জন্য  প্রধমে বেশি কিছু  জিনিস পত্র দরকার নেই , কারণ আমরা প্রথমে সাধারণ কিছু প্রজেক্ট দিয়ে শুরু করবো , তাই যে কয়েকটা জিনিস আমাদের প্র্য়োজন সেগুলি হল --

1) একটি কম্পিউটার
2 একটি Arduino Uno Board ( সঙ্গে একটি USB Cable থাকতে  হবে )
3) একটি Bread Board
4) কিছু  LED  ও তার সাথে 220 Ohms এর resistance
5) Jumper Wire 

এগুলি আমাদের শেখার শুরুতেই প্রয়োজন হবে , এগুলি সহজেই Online Shopping  Site থেকে কিনতে পেয়ে যাবেন ।নিচে description -এ কিছু প্রোডাক্ট এর লিঙ্ক দিয়ে দিলাম , ওখান থেকে কিনে নিতে পারবেন

Buy LEDs

 এবার  Arduino নিয়ে কিছু  তথ্য  আলোচনা করা যাক 

Arduino একটি Open Source Micro controller , যা খুব জনপ্রিয় হয়ে উঠেছে ,ইতিমধ্যে বাজারে  Arduino এর অনেক গুলি বোর্ড  এসে গেছে ।  তাই প্রথমে শেখার জন্য আমি Arduino Uno বোর্ডটি  Suggest করবো, 


Arduino Uno এর মধ্যে রয়েছে  ATMega 328 Chip , এই  চিপ সম্পর্কে বিশদ জানতে  নিচের লিংকে গিয়ে datasheet দেখে নিতে পারেন Datasheet Download,

এর মধ্যে রয়েছে  AVR CPU, 2Kb Static RAM, 32 kb Flash Memory এবং 1 kb EEPROM
 রয়েছে 14 টি Digital Pin (  যেগুলি  INPUT / OUTPUT  দুই রকম ভাবেই ব্যবহার করা যায় )
কিছু পিন  যেমন  3,5,6,9,10,11  এগুলি থেকে PWM (Pulse width modulation) OUTPUT পাওয়া সম্ভব , মানে  এগুলি থেকে  0 - 5V DC পর্যন্ত  বিভিন্ন ভোল্টেজ পাওয়া সম্ভব । এছাড়াও রয়েছে 6 টি Analog Input পিন , যা দিয়ে আমরা 0 - 5 Volt এর range এর বিভিন্ন input নিতে সক্ষম।

রয়েছে কিছু স্পেশাল পিন  যা শুধুমাত্র স্পেশাল  Connection এ ব্যবহূত  হয়, সেগুলো আমরা Advanced  Level -এ আলোচনা করবো ।


সফ্টওয়্যার ইন্সটল ও কানেকশন  প্রণালী 

প্রোগ্রামিং শুরু করার জন্য আমাদের চাই  Arduino -এর সফ্টওয়্যার , যা Arduino  -এর site থেকে সহজেই পাওয়া যায় , এটি একটি Free সফ্টওয়্যার।
নিচে দেওয়া লিঙ্ক থেকে  সফ্টওয়্যার টি ডাউনলোড করে কম্পিউটার -এ ইন্সটল করে নিতে হবে


কম্পিউটার এর সাথে কানেকশন 



প্রথম Arduino প্রোগ্রাম

কোর্সের শুরুতে আমার অত্যন্ত সাধারণ একটি প্রজেক্ট দিয়ে শুরু করব , প্রোগ্রাম এর নাম ,  Blink LED
এখানে আমরা Arduino Uno  বোর্ডের  মধ্যে 13 নম্বর  Pin  on board LED টিকে 1 সেকন্ড অন্তর Blink 
করবো,

প্রথমে Desktop থেকে Arduino IDE উপর ক্লিক করে  সফ্টওয়্যার টি চালু করতে হবে । (নিচের ছবির মত ) 


এবার প্রথমে আমাদের যা কাজ , Tools menu এর মধ্যে গিয়ে Board এর জায়গায় Arduino Uno এবং port এর জায়গায়  ( Arduino Board টি যত নম্বর COM Port টি পেয়েছে ) Board টি Select করে দেওয়া।
নিচের ছবিতে সেগুলি দেখানো হল ......




এবার আমাদের প্রোগ্রাম লেখার কাজ শুরু করা যাক ,


void setup() 
{
  // এখানে 13 নাম্বার এর পিন টিকে OUTPUT হিসেবে  স্থির করা হল 
  pinMode(13, OUTPUT);
}

// নিচে loop function এর মধ্যে যা যা থাকবে , তা arduino  -তে power যতক্ষণ থাকবে , এটাও ক্রমাগত চলতে থাকবে ।

void loop() 
{
  digitalWrite(13, HIGH);   // 13 নম্বর পিনে 5 Volt দেওয়ার জন্য
  delay(1000);              // 1 সেকেন্ড অপেক্ষা করার জন্য 
  digitalWrite(13, LOW);    // 13 নম্বর পিনে Ground  দেওয়ার জন্য
  delay(1000);              // 1 সেকেন্ড অপেক্ষা করার জন্য 
}



 এরপর মেনুতে গিয়ে upload sketch-এ ক্লিক করলে প্রোগ্রামটি  arduino Uno বোর্ডে আপলোড হয়ে যাবে 



OUTPUT



আমরা Delay এর millisecond এর ভ্যালু  বাড়িয়ে বা কমিয়ে  Blink এর  গতি  বাড়াতে বা কমাতে পারি।







LED Toggle Switch  ON/OFF Button   [Project-2  ]

এবার আমরা যে প্রজেক্ট টি করতে চলেছি , সেটা একটি খুবই সাধারণ প্রজেক্ট , এই প্রজেক্টে আমরা একটি push সুইচ ব্যবহার করে একটি LED কে একবার ON  ও একবার  OFF করতে পারবো , মানে একটি সুইচ দিয়েই  ON / OFF ।

প্রয়োজনীয়ও জিনিসপত্র :
 Arduino Uno Board
 LED
1k Resistance 
10 K resistance



Code:


const int Switch = 2, LED = 3;
int state = 0, LEDstate=0;

void setup()
{
  pinMode(Switch, INPUT);
  pinMode(LED, OUTPUT);
  Serial.begin(9600);
}
void loop()
{
  if (state == 0 && digitalRead(Switch) == HIGH) {
    state = 1;
    LEDstate=!LEDstate;
  }
  if (state == 1 && digitalRead(Switch) == LOW) {   
    state = 0;
  }
   digitalWrite(LED, LEDstate);
}



Circuit Diagram: