Saturday, November 10, 2018

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:


No comments:

Post a Comment