10. কোডের লজিক ব্যাখ্যা
কোডের লজিক ব্যখ্যা
এবার চলো আমরা যে কোডটা লিখলাম তার লজিকটা বুঝি।প্রথমেই আমরা আমাদের আরডুইনোকে বলে দিই কোন পিন কোন মোডে থাকবে। ভয়েড সেটআপ (Void Setup) ফাংশন শরুর এ কাজটি করে।
void setup() {
}
ভয়েড সেটআপ (Void Setup) ফাংশানের ভেতরে লিখেছি
pinMode(13,OUTPUT);
এই পিন-মোড বলে দেয় কত নম্বর পিনকে আমি কোন কাজের জন্য সেট করেছি। যেমন এখানে বলা হচ্ছে ১৩ নং পিন আউটপুট হিসাবে কাজ করবে।
আমরা আগেই জানি আরডুইনোর ০-১৩ পর্যন্ত ১৪টি ডিজিটাল পিন রয়েছে। এখন আমরা ১৩ ডিজিটাল পিনে হাই ভোল্টেজ দেব। এ জন্যে কোডে লিখেছি,
digitalWrite(13,HIGH);
হ্যাঁ, এবার আমরা এই ভোল্টেজ হাই অবস্থায় কিছুক্ষণ অপেক্ষা করব।
অর্থাৎ
delay(1000);
‘Delay’ শব্দের আক্ষরিক অর্থ হলো দেরি করা, থেমে থাকা, ধীরে যাওয়া বা অপেক্ষা করা।
delay( ); ফাংশনের ভেতরে যত মান দেব, তত মাইরক্রোসেকেন্ড পরিমাণ সময় অপেক্ষা করা হবে। আসলে এই সময়টুকু তোমার রোবটের মস্তিষ্ক নতুন কোনো কাজ করবে না। আমরা জানি, ১ second = ১০০০ microsecond
তাহলে delay(3000); লিখলে কত সেকেন্ড অপেক্ষা করবে?
শোনো, একটা বুদ্ধি দিই, ডিলে ফাংশানের ভেতরের মান ভিন্ন ভিন্ন দিয়ে পরিক্ষা করবে যে যে এলইডি কীভাবে জ্বলে । একবার ৫০০ দেবে , একবার ২০০০ , একবার ১০ কিংবা তোমার ইচ্ছা মত মান।
কিছুক্ষণ বাতি জ্বালিয়ে অপেক্ষা করার পর আমরা এবার বাতিটিকে নেভাব। চলো ডিজিতাল পিন রাইট করে এর ভোল্টেজ লো করে দেই। অর্থাৎ
digitalWrite(13,LOW);
দেখো এই digitalWrite( ); ফাংশানের মাধ্যমে কম কারেন্ট পাঠিয়ে বাতিটি নিভিয়ে রাখা হচ্ছে।
এরপর আবার ডিলে ফাংশান দিয়ে কিছুক্ষণ অপেক্ষা করব।
আচ্ছা আমরা যদি এ কাজটি বারবার কতে থাকি। জ্বলা – নেভা – জ্বলা – নেভা – জ্বলা – নেভা ............
এ জিনিসটিকে আমরা Logic-এর ভাষায় বলি ‘Loop’ অর্থাৎ একই কাজ বার বার করা। এ জন্যে একটি ফাংশান আছে
void loop() {
}
লুপের দুই ব্রাকেটের (Second bracets) মাঝে আমরা যা লিখে দেব সেই কাজটা আমাদের আরডুইনো বারবার করতে থাকবে, করতেই থাকবে, করতেই থাকবে .......
তোমার সুবিধার জন্যে পুরো কোডটা আরেকবার দিচ্ছি
//the setup function runs once when press reset or power the board
void setup() {
//initialize digital pin 13 as an output.
pinMode(13,OUTPUT);
}
//the loop function runs over and over again forever.
void loop() {
digitalWrite(13,HIGH); //turn on LED
delay(1000); //wait for a second.
digitalWrite(13,LOW); //turn off LED
delay(1000); //wait for a second.
}
একটা ছোট বিষয় খেয়াল করেছ?? আমি কোদের সাথে ডাবল স্লাশ ‘//’ দিয়ে কিছু ব্যাখ্যা লিখে রেখেছি। অর্থাৎ কোন লাইনে আমি কী করেছি টা আমি কমেন্টে লিখে রেখেছি। এভাবে ডাবল স্লাশ (Double Slash) ব্যবহার করে তুমি তোমার কোডের ডকুমেন্টেশন রাখতে পারো।
<Previous Tutorial Next Tutorial>