Saturday, November 10, 2018

আরডুইনো পরিচিতি Bangla Tutorial | Arduino Hatekhori

LED জ্বালানো থেকে শুরু করে ইন্টারনেটের মাধ্যমে বাসার ফ্যান,লাইট ইত্যাদি নিয়ন্ত্রণ করা সবই সম্ভব আরডুইনো দিয়ে।
 আরডুইনো কি সেটা জানার জন্য তার আগে অবশ্যই দুটি জিনিস জেনে নিতে হবে। মাইক্রোকন্ট্রোলার ও প্রোগ্রামার বা  লোডার।

মাইক্রোকন্ট্রোলার: মাইক্রোকন্ট্রোলার ইলেকট্রনি· জগতের এক অবিস্মরনীয় উদ্ভাবন। এটি একটি সিঙ্গেল চিপ মাইক্রো  ক¤িপউটার। এটি একটি সমšি^ত বর্তনী (IC) এটি দিয়ে ক¤িপউটার প্রোগ্রামের মাধ্যমে যেকোন লজিক্যাল সার্কিট ক্সতরি করা যায়। এটি দিয়ে যে কাজ করতে চান তার জন্য প্রোগ্রাম লোড করে দিলেই সেই অনুযায়ী মাইক্রোকন্ট্রোলার কাজ করা শুরু করবে।
প্রোগ্রামার বা লোডার: ক¤িপউটারে লিখিত প্রোগ্রাম মাইক্রোকন্ট্রোলারে লোড করার সার্কিটই হলো প্রোগ্রামার বা লোডার বা  বার্নার। মাইক্রোকন্ট্রোলারে সিরিয়াল পোর্ট,প্যারালাল/প্রিন্টার পোর্ট এবং USB পোর্টের মাধ্যমে প্রোগ্রাম লোড করা যায়।



আরডুইনো হলো তিনটি জিনিসের সমš^য়।
 ১.ডেভেলপমেন্ট বোর্ড,২.প্রোগ্রামিং এনভায়রনমেন্ট,৩.কমিউনিটি বা সাপোর্ট।

ডেভলপমেন্ট বোর্ড: একটি সিঙ্গেল বোর্ডে মাইক্রোকন্ট্রোলার ও লোডার স্থাপন করে ডেভেলপমেন্ট বোর্ড ক্সতরি করা হয়।  এতে আলাদা কোন লোডারের প্রয়োজন হয় না সরাসরি USB দিয়ে প্রোগ্রাম লোড করা যায়।

প্রোগ্রামিং এনভায়রনমেন্ট (IDE): এটি একটি সফটওয়্যার বা ক¤পাইলার। এতে প্রোগ্রাম রচনা করে আরডুইনোতে লোড  করতে হয়। আরডুইনো কিভাবে কাজ করবে তার Instruction বা নির্দেশনা হলো এই প্রোগ্রাম।

কমিউনিটি: নতুন কোন ডিভাইস,সেন্সর,মডিউল ইত্যাদি ক্সতরি হলে তা আরডুইনোতে ব্যবহার উপযোগী করার জন্য  লাইব্রেরি ফাংশন ক্সতরির কাজ যারা করছে তারাই হলো কমিউনিটি বা সাপোর্ট অংশ। www.arduino.cc এমন একটি  কমিউনিটি।



ইনপুট/আউটপুট পিনের সংখ্যার উপর ভিত্তি করে বিভিন্ন ধরনের আরডুইনো বোর্ড পাওয়া যায়। তবে সবগুলো বোর্ড দিয়ে একই উপায়েই কাজ করতে হয়।





আরডুইনোর পিন পরিচিতি:  








same tutorial on youtube in bangla language: 




Robotics নিয়ে লেখা প্রথম বাংলা বই "আরডুইনো হাতেখড়ি" এখন পাওয়া যাচ্ছে রকমারি ডট কমে। অর্ডার করুন: http://rokomari.com/book/183842/arduino-hatekhori


Seven Segment Display Bangla Tutorial | Arduino Hatekhori | digital counter

চিত্রে যেই যন্ত্রাংশ টি দেখা যাচ্ছে এটিই হলো সেভেন সিগমেন্ট ডিসপ্লে। সেভেন সিগমেন্ট ডিসপ্লের ব্যবহার বহুল। আরডুইনো দিয়ে কাউন্টার, থার্মোমিটার, ডিজিটাল ঘড়ি ইত্যাদি তৈরিতে এর ব্যবহার উল্লেখযোগ্য। সেভেন সিগমেন্ট  ডিসপ্লে মুলত 7 টি  LED নিয়ে গঠিত। চিত্রে দেখা যাচ্ছে 7 টি  LED কে a,b,c,d,e,f এবং g নামে চিহ্নিত করা হয়েছে।
নিচের দিকে ডানপাশে dp বা decimal point নামে আরো একটি LED রয়েছে। এটি থাকতেও পারে আবার নাও থাকতে  পারে। কমন পিনের উপর ভিত্তি করে সেভেন সিগমেন্ট ডিসপ্লে দুই ধরনের। একটি Common Anode এবং অন্যটি  Common Cathode. যেই ডিসপ্লের ৭ টি  LED  -র Cathode বা নেগেটিভ পিনগুলো একত্রিত করে একটি কমন ক্যাথোড  পিন এবং সাতটি অ্যানোড পিন বের করা হয় তাকে Common Cathode সেভেন সিগমেন্ট ডিসপ্লে আবার যেই ডিসপ্লের ৭ টি LED -র Anode বা পজেটিভ পিনগুলো একত্রিত করে একটি কমন অ্যানোড পিন এবং সাতটি ক্যাথোড পিন বের করা  হয় তাকে Common Anode সেভেন সিগমেন্ট ডিসপ্লে বলে।
উপরের চিত্রে একটি Common Anode এবং একটি Common Cathode ডিসপ্লের অন্তর্গঠন দেখানো হয়েছে।

এবার আমরা একটি প্রজেক্ট ক্সতরি করার মধ্য দিয়ে আরডুইনোতে সেভেন সিগমেন্ট ডিসপ্লে ব্যবহার করা শিখব।


প্রথমে নিচের চিত্রের মত করে একটি সার্কিট ক্সতরি করুন।
0 থেকে 9 পর্যন্ত গণনা করানোর জন্য একটি প্রোগ্রাম এতে আপলোড করবো। ল¶্য করুন যদি আরডুইনোর  8,7,5,4,3,2,1 নম্বর পিনকে HIGH করে দেয়া যায় তবে 7 টি LED ই জ্বলে উঠবে কেননা এখানে একটি Common  Cathode  ডিসপ্লে ব্যবহার করা হয়েছে। এর ফলে ডিসপ্লে তে 8 প্রদর্শন করবে। আবার ল¶্য করুন যদি শুধুমাত্র 1 নম্বর  পিনকে LOW করে বাকি পিনগুলোকে HIGH রাখি তবে  g নামের LED টি ব্যতীত বাকি LED গুলো জ্বলবে এবং ডিসপ্লে তে  0 প্রদর্শন করবে। একটু চিন্তা করলেই বাকি অঙ্কগুলোর জন্য অপারেশন গুলো পেরে যাবেন।


চলুন প্রোগামাটি আপলোড করা যাক: 

int a = 8;
int b = 7;
int c = 5;
int d = 4;
int e = 3;
int f = 2;
int g = 1;


void setup()
{
 pinMode(a, OUTPUT); 
pinMode(b, OUTPUT); 
pinMode(c, OUTPUT); 
pinMode(d, OUTPUT); 
pinMode(e, OUTPUT); 
pinMode(f, OUTPUT);
pinMode(g, OUTPUT);
}
void loop()
{
     digitalWrite(a, HIGH);
     digitalWrite(b, HIGH);
     digitalWrite(c, HIGH);
     digitalWrite(d, HIGH);
     digitalWrite(e, HIGH);
     digitalWrite(f, HIGH);
     digitalWrite(g, LOW);
     delay(500);

     digitalWrite(a, LOW);
     digitalWrite(b, HIGH);
     digitalWrite(c, HIGH);
     digitalWrite(d, LOW);
     digitalWrite(e, LOW);
     digitalWrite(f, LOW);
     digitalWrite(g, LOW);
     delay(500);

     digitalWrite(a, HIGH);
     digitalWrite(b, HIGH);
     digitalWrite(c, LOW);
     digitalWrite(d, HIGH);
     digitalWrite(e, HIGH);
     digitalWrite(f, LOW);
     digitalWrite(g, HIGH);
     delay(500);

     digitalWrite(a, HIGH);
     digitalWrite(b, HIGH);
     digitalWrite(c, HIGH);
     digitalWrite(d, HIGH);
     digitalWrite(e, LOW);
     digitalWrite(f, LOW);
     digitalWrite(g, HIGH);
     delay(500);

     digitalWrite(a, LOW);
     digitalWrite(b, HIGH);
     digitalWrite(c, HIGH);
     digitalWrite(d, LOW);
     digitalWrite(e, LOW);
     digitalWrite(f, HIGH);
     digitalWrite(g, HIGH);
     delay(500);

     digitalWrite(a, HIGH);
     digitalWrite(b, LOW);
     digitalWrite(c, HIGH);
     digitalWrite(d, HIGH);
     digitalWrite(e, LOW);
     digitalWrite(f, HIGH);
     digitalWrite(g, HIGH);
     delay(500);

     digitalWrite(a, HIGH);
     digitalWrite(b, LOW);
     digitalWrite(c, HIGH);
     digitalWrite(d, HIGH);
     digitalWrite(e, HIGH);
     digitalWrite(f, HIGH);
     digitalWrite(g, HIGH);
     delay(500);

     digitalWrite(a, HIGH);
     digitalWrite(b, HIGH);
     digitalWrite(c, HIGH);
     digitalWrite(d, LOW);
     digitalWrite(e, LOW);
     digitalWrite(f, LOW);
     digitalWrite(g, LOW);
     delay(500);

     digitalWrite(a, HIGH);
     digitalWrite(b, HIGH);
     digitalWrite(c, HIGH);
     digitalWrite(d, HIGH);
     digitalWrite(e, HIGH);
     digitalWrite(f, HIGH);
     digitalWrite(g, HIGH);
     delay(500);

     digitalWrite(a, HIGH);
     digitalWrite(b, HIGH);
     digitalWrite(c, HIGH);
     digitalWrite(d, HIGH);
     digitalWrite(e, LOW);
     digitalWrite(f, HIGH);
     digitalWrite(g, HIGH);
     delay(500);
  }


প্রোগ্রামটি শেখা যাকঃ

আরডুইনোর 7 টি পিনকে a,b,c,d,e,f,g নামে এবং আউটপুট হিসেবে ডিক্লেয়ার করা হয়েছে।
void loop() ফাংশনে  প্রতিটি অঙ্কের জন্য কমান্ড দেয়া হয়েছে এবং প্রতিটি অঙ্কের পর একটি করে  500 milisecond এর delay দেয়া হয়েছে।


**circuit & code download Link

same tutorial on youtube in bangla language:


Tuesday, February 27, 2018

“আরডুইনো হাতেখড়ি” বইয়ের রঙ্গিন চিত্র | Color Images of "Arduino Hatekhori" Book

প্রিন্টিং এর খরচ কমানোর উদ্দেশ্যে “আরডুইনো হাতেখড়ি” বইটিতে ব্যবহৃত চিত্রগুলো সাদাকালো দেয়া হয়েছে। এর ফলে অনেকের সার্কিটগুলো বুঝতে সমস্যা হচ্ছে। সমস্যা সমাধানের উদ্দেশ্যে বইয়ের আনুশীলনীর নামসহ রঙ্গিনগুলো এখানে দেয়া হয়েছে।

images zipfile in Drive



Robotics নিয়ে লেখা প্রথম বাংলা বই "আরডুইনো হাতেখড়ি" এখন পাওয়া যাচ্ছে রকমারি ডট কমে। অর্ডার করুন: http://rokomari.com/book/183842/arduino-hatekhori

০১.আরডুইনো পরিচিতি










০২.আরডুইনোকে কম্পিউটারের সাথে কনফিগারেশন










০৩.আরডুইনো সিমুলেটর সফটওয়্যার ব্যবহার





০৪.প্রথম প্রজেক্ট:LED জালানো




০৫.LED Blinking




০৬.ডিজিটাল ইনপুট গ্রহন




০৭.অ্যানালগ ইনপুট গ্রহন





০৮.কন্ডিশনাল স্টেটমেন্ট ব্যবহার পদ্ধতি




০৯.আরডুইনোতে লুপ ব্যবহার




১০. অ্যানালগ আউটপুট তৈরির পদ্ধতি





১১.অ্যারে




১২.সেভেন সিগমেন্ট ডিসপ্লে






১৩. অ্যারে ব্যবহার করে সেভেন সিগমেন্ট ডিসপ্লে অপারেট




১৪.মাল্টিপ্লেক্সিং






১৫.লাইব্রেরি ফাইল





১৬.ডিজিটাল থার্মোমিটার তৈরি





১৭.LCD ডিসপ্লে ব্যবহার




১৮.LCD ডিসপ্লের প্রথম প্রজেক্ট


১৯.সিরিয়াল মনিটর
২০.আল্ট্রাসনিক সেন্সর
২১.ডিসট্যান্স মিটার তৈরি
২২.Bluetooth কমিউনিকেশন

Sunday, February 18, 2018

আরডুইনো হাতেখড়ি - Arduino Hatekhori pdf

Robotics নিয়ে লেখা প্রথম বাংলা বই "আরডুইনো হাতেখড়ি" এখন পাওয়া যাচ্ছে রকমারি ডট কমে। অর্ডার করুন: http://rokomari.com/book/183842/arduino-hatekhori

বাংলায় আরডুইনো নিয়ে প্রকাশিত প্রথম বই "আরডুইনো হাতেখড়ি" -র  pdf

Wednesday, February 14, 2018

মাল্টিপ্লেক্সিং

মাল্টিপ্লেক্সিং

আরডুইনো দিয়ে  সেভেন সিগমেন্ট  ডিসপ্লে  অপারেট  করা আপনারা  শিখে  গেছেন।  তবে শুধুমাত্র  এক  ডিজিটের ডিসপ্লে।   এবার  একাধিক  ডিজিটের  ডিসপ্লে  নিয়ে কাজ করা শিখবেন। সিঙ্গেল  ডিজিটের  মেথডেই  যদি  একাধিক ডিজিটের  ডিসপ্লে   ব্যবহার  করতে  চান তবে  একটি  বড়  ধরনের  সমস্যার সম্মুখীন হবেন। আরডুইনো  UNO  তে  (০-১৩)  মাত্র  ১৪  টি  আউটপুট পিন রয়েছে। ধরুন আপনি  ৪  ডিজিটের  ডিসপ্লে  ব্যবহার করবেন তাহলে   আপনার  আউটপুট  পিন  প্রয়োজন  (৪*৭)  বা  ২৮  টি। কিন্তু এতগুলো পিন আপনি কোথায়  পাবেন। এই  অসম্ভবকে  সম্ভব  করার  জন্য  জলিল  কাকা  যেই মেথডটি  প্রণয়ন করেছেন সেটিই  হলো মাল্টিপ্লেক্সিং।


এই  অসম্ভবকে  সম্ভব  করার  জন্য  জলিল  কাকা  যেই মেথডটি  প্রণয়ন করেছেন সেটিই  হলো মাল্টিপ্লেক্সিং। উপরের  চিত্রের  মত  করে  প্রতিটি  ডিসপ্লের  Common Cathode  পিনটি  ব্যতিরেকে  বাকি  অনুরূপ  পিনগুলো পরস্পরের  সঙ্গে  যুক্ত  করতে  হয়  মাল্টিপ্লেক্সিং পদ্ধতিতে। উপরের  চিত্রে দেখুন কত সহজেই  ২৮  টি  পিনকে  ৭  টি  পিনে রূপান্তর করা হয়েছে।
আগের  চিত্রটি  ছিল  একাধিক  ডিজিট  বিশিষ্ট  ডিসপ্লের অন্তর্গঠন। আর  এটি  হলো বাহ্যিকরূপ। ধরুন  আপনি ডিসপ্লেটিতে  19  প্রদর্শন  করতে চান। এবার  আরো  একটি  সমস্যার  সম্মুখীন হবেন এবং সমস্যাটির  সমাধান   করতে  পারলে  আবারো নতুন  একটি  সমস্যার  সম্মুখীন হবেন।  তবে  সেটিরও  সমাধান শিখিয়ে দেয়া হবে।
প্রথম  সমস্যা:  দুইটি  ডিজিট  এর  সাতটি (a,b,c,d,e,f,g)  পিন  যেহেতু  একই  সেহেতু  1  এর জন্য  কমান্ড দিলে দুই   ডিজিটেই  আবার  9  এর  জন্য  কমান্ড  দিলেও  দুইটি ডিসপ্লেতেই  তা  প্রদর্শন  করবে।  তাহলে  19  প্রদর্শন করবেন কিভাবে? সমাধান:  যখন  1  এর  জন্য  কমান্ড দিবেন তখন যদি  বাম পাশের  ডিজিটের  Cathode  পিনটি  HIGH  করে  দেন তাহলে শুধুমাত্র  বাম  পাশের  ডিজিটে  1  প্রদর্শন  করবে। অনুরূপভাবে  9  প্রদর্শনের  সময় ডান ডিজিটের Cathode  পিনকে  HIGH  করে   রাখুন।

দ্বিতীয়  সমস্যা:  একবার  1  এবং  একবার  9  প্রদর্শিত হলো কিন্তু  19  তো  প্রদর্শিত হলো না। সমাধান:  আমাদের  চোখের  দর্শনাভুতির  স্থায়িত্বকাল  হলো ০.১  সেকেন্ড অর্থাৎ  একটি  জিনিস  দেখার  ০.১  সেকেন্ডের মধ্যে   যদি  আরেকটি  জিনিস দেখা হয়  তবে আমাদের  ব্রেইন দুটি  জিনিসকে  একই জিনিস ভাবে।  বুঝতেই  পারছেন এবারের  সমস্যাটির সমাধান আমরা ব্রেইনকে  ধোকা  দেয়ার  মাধ্যমে  করব। 1  কে  এক  মিলি  সেকেন্ড  প্রদর্শন  করে,  1  কে  আবার  এক মিলি  সেকেন্ড  প্রদর্শন  করব। আমাদের  চোখ  ডিজিট দুটিকে  একত্রে  ১৯  দেখবে।

চলুন দুই  ডিজিটের  একটি  ডিসপ্লে  দিয়ে  (0-99)  একটি কাউন্টার  ক্সতরির  মধ্য  দিয়ে  ব্যপারটি  আরো  সহজ করে শেখা যাক।

চিত্রের  মত  করে  কম্পোনেন্ট  গুলো  সাজিয়ে  নিচের প্রোগ্রাম  লোড  করুন।


প্রোগ্রামঃ

int  digit[10][7]  =  {
                                    {1,1,1,1,1,1,0},
                                    {0,1,1,0,0,0,0},
                                    {1,1,0,1,1,0,1},
                                    {1,1,1,1,0,0,1},
                                    {0,1,1,0,0,1,1},
                                    {1,0,1,1,0,1,1},
                                    {1,0,1,1,1,1,1},
                                    {1,1,1,0,0,1,0},
                                    {1,1,1,1,1,1,1},
                                    {1,1,1,1,0,1,1},
                                   };
int  count;
int  x;
int  number;
int  y;

void setup()
    {
for(x=2;x<9;x++)
{ pinMode(x, OUTPUT); }
pinMode(0, OUTPUT);
pinMode(1, OUTPUT);
digitalWrite(0, HIGH);
digitalWrite(1, HIGH);
    }

void loop()
   {
for(number=0;number<100;number++)
{
for(y=0;y<100;y++)
{
digitalWrite(1,  LOW);
 for(count=0;count<7;count++)
{
digitalWrite(count+2, digit[number/10][count]);
}
delay(20);
digitalWrite(1, HIGH);
digitalWrite(0,  LOW);
for(count=0;count<7;count++)
{
digitalWrite(count+2, digit[number%10][count]);
}
delay(20);
digitalWrite(0, HIGH);
}
}
}


প্রোগ্রামটি  শেখা  যাকঃ
void setup()  ফাংশনের  মধ্যে  আগে থেকে Cathode  পিন দুটিকে  HIGH  করে  দেয়া হয়েছে। number/20  অর্থ  হলো  সংখ্যাটির  দশক স্থানীয়  অঙ্ক। কেননা ভাগফল  পূর্ণ সংখ্যা হবে। number%10  অর্থ সংখ্যাটির  একক  স্থানীয়  অঙ্ক। এছাড়া বাকি  কাজগুলো পূর্বেই  শিখেছেন।


**বংলায় আরডুইনো নিয়ে লেখা প্রথম বই "আরডুইনো হাতেখড়ি" -র একটি lesson এটি। এমন সহজ ভাষায় Arduino শিখতে বইটি সংগ্রহ করুন। বিস্তারিত: bit.ly/ArduinoHatekhori

Thursday, February 8, 2018

আরডুইনো হাতেখড়ি


আরডুইনো হাতেখড়ি
      by শাহেদ ওয়ালী নুর



Book Description:

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


Book Specification:

Title:          আরডুইনো হাতেখড়ি - Arduino Hatekhori
Author:      শাহেদ ওয়ালী নুর
Cover
Design:       Solayman Haider
ISBN:          9789849314103
Edition:      1st Published, 2018
Number
of Pages:     146
Country:     Bangladesh
Language:  Bangla


Author Information:


শাহেদ ওয়ালী নুর ১৯৯৮ সালের ১৫ই মে ব্রাহ্মনবাড়িয়ায় জন্মগ্রহন করেন। ছোটবেলা থেকে সিরাজগঞ্জের উল্লাপাড়া উপজেলার চড়িয়া শিকার গ্রামে বসবাস করছেন। তার বাবা মোঃ কামাল উদ্দিন একটি প্রাইভেট প্রতিষ্ঠানের কর্মকর্তা এবং মা কামরুন নাহার স্কুল শিক্ষিকা। একমাত্র বড় ভাই সোলায়মান হায়দার একজন সফল ওয়েব ডেভেলোপার।

লেখাপড়া করেছেন পাটধারী ব্র্যাক প্রাথমিক বিদ্যালয়, সিরাজগঞ্জ রোড চৌরাস্তা উচ্চ বিদ্যালয়, পাঁচলিয়া বদরুল আলম উচ্চ বিদ্যালয় এ। ২০১৮ সালের অনুষ্ঠিতব্য উচ্চমাধ্যমিক পরীক্ষায় তিনি উল্লপাড়া বিজ্ঞান কলেজ থেকে অংশগ্রহন করবেন।
তিনি শিক্ষাব্যবস্থা নিয়ে কাজ করার স্বপ্ন দেখেন। ইউটিউবে “Mathience” নামক চ্যানেলে বিভিন্ন শিক্ষামূলক ভিডিও তৈরি করেন।

ফেইসবুক: fb.com/oalinoor11
ফোন: ০১৭৯৮-১৬১৩২৩
WhatsApp: 01798161323
e-mail: oalinoor11@gmail.com





বইটি কিনতে নিচের নির্দেশনা অনুসরণ করুন:


http://rokomari.com/book/183842/arduino-hatekhori
মুল্য: 148 টাকা