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 -এ আলোচনা করবো ।
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:
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: