Arduino প্রোগ্রামিংয়ে multitasking হলো একটি সময়ে একাধিক কাজ সম্পাদন করার ক্ষমতা। যদিও Arduino মাইক্রোকন্ট্রোলারটি একক থ্রেডে কাজ করে, তবুও আপনি কিছু কৌশল ব্যবহার করে multitasking এর মতো আচরণ তৈরি করতে পারেন। এর মধ্যে একটি গুরুত্বপূর্ণ টুল হলো millis() ফাংশন, যা সময় ট্র্যাক করার জন্য ব্যবহৃত হয়।
millis() ফাংশন Arduino বোর্ডটি চালু হওয়ার পর থেকে মোট মিলিসেকেন্ড পরিমাপ করে। এটি মূলত একটি কাউন্টার হিসেবে কাজ করে যা নিরবচ্ছিন্নভাবে সময় গুণে।
unsigned long currentMillis = millis();
void setup() {
Serial.begin(9600);
}
void loop() {
unsigned long currentMillis = millis();
Serial.println(currentMillis); // সময় প্রিন্ট করা
delay(1000); // ১ সেকেন্ড অপেক্ষা
}
Arduino-তে multitasking করার জন্য, millis() ফাংশন ব্যবহার করে টাইমার সিস্টেম তৈরি করা যায়, যা আপনাকে বিভিন্ন কাজ সম্পাদন করতে দেয়, যেমন LED নিয়ন্ত্রণ, সেন্সর পড়া ইত্যাদি।
const int ledPin = 13;
unsigned long previousMillis = 0; // শেষ ব্লিঙ্কের সময়
const long interval = 1000; // ১ সেকেন্ডের সময়
void setup() {
pinMode(ledPin, OUTPUT);
Serial.begin(9600);
}
void loop() {
unsigned long currentMillis = millis();
// LED ব্লিঙ্কিং
if (currentMillis - previousMillis >= interval) {
previousMillis = currentMillis; // শেষ ব্লিঙ্কের সময় আপডেট করা
digitalWrite(ledPin, !digitalRead(ledPin)); // LED অবস্থা পরিবর্তন করা
}
// সিরিয়াল প্রিন্টিং
Serial.println(currentMillis); // সময় প্রিন্ট করা
}
millis()
ফাংশন ব্যবহার করে নির্দিষ্ট সময় অন্তর LED-এর অবস্থা পরিবর্তন করা হচ্ছে।millis()
ফাংশনের মাধ্যমে সময়কে প্রিন্ট করা হচ্ছে।millis() ফাংশন ব্যবহার করে Arduino প্রোগ্রামিংয়ে multitasking কার্যকরীভাবে করা যায়। এটি সঠিক সময়ের সাথে বিভিন্ন কার্যক্রম সম্পাদন করতে সহায়তা করে এবং প্রোগ্রামারদের উন্নত মানের প্রকল্প তৈরি করতে সহায়ক।
common.read_more