Serial.readString() ফাংশন বোঝা
Serial.readString() ফাংশন Arduino সিরিয়াল লাইব্রেরির একটি অংশ, যা মাইক্রোকন্ট্রোলার এবং কম্পিউটার বা অন্যান্য বাহ্যিক ডিভাইসের মধ্যে যোগাযোগ সক্ষম করে।
এই ফাংশনটি মাইক্রোকন্ট্রোলারকে সিরিয়াল সংযোগ থেকে পাঠানো অক্ষরের একটি স্ট্রিং পড়তে দেয়। ফাংশনটি সিরিয়াল বাফার থেকে ডেটা পড়ে এবং স্ট্রিং অবজেক্ট আকারে ডেটা ফেরত দেয়।
এই ফাংশনটি স্ট্রিম ক্লাস থেকে উত্তরাধিকারসূত্রে প্রাপ্ত।
বাক্য গঠন
এই ফাংশনের সিনট্যাক্স নিম্নরূপ:
সিরিয়াল। readString ( )
পরামিতি
এই ফাংশন কোন পরামিতি গ্রহণ করে না. এটি শুধুমাত্র সিরিয়াল পোর্ট অবজেক্ট পড়ে।
রিটার্নস
সিরিয়াল পোর্টের মাধ্যমে প্রাপ্ত অক্ষর সমন্বিত একটি স্ট্রিং প্রদান করে। স্ট্রিংটি প্রাপ্ত শেষ অক্ষর দিয়ে শেষ হয়, যা প্রায়শই একটি নতুন লাইন অক্ষর (\n)। সিরিয়াল বাফারে কোনো অক্ষর পাওয়া না গেলে, ফাংশনটি একটি খালি স্ট্রিং ('') প্রদান করে।
বিঃদ্রঃ: যদি শেষ লাইনের অক্ষর ডেটাতে পাওয়া যায়, ফাংশনটি তাড়াতাড়ি শেষ হবে না। ফেরত দেওয়া স্ট্রিংটিতে ক্যারেজ রিটার্ন অক্ষর থাকতে পারে।
উদাহরণ কোড
নীচের কোডটি Arduino প্রোগ্রামিং-এ Serial.readString() ফাংশনের ব্যবহার প্রদর্শন করে:
নীচের কোডটি Arduino প্রোগ্রামিং-এ Serial.readString() ফাংশনের ব্যবহার প্রদর্শন করে:
অকার্যকর সেটআপ ( ) {সিরিয়াল। শুরু ( 9600 ) ;
}
অকার্যকর লুপ ( ) {
সিরিয়াল। println ( 'তথ্য দিন:' ) ;
যখন ( সিরিয়াল। উপলব্ধ ( ) == 0 ) { } // উপলভ্য ডেটার জন্য অপেক্ষা করুন
স্ট্রিং টেস্টস্ট্র = সিরিয়াল। readString ( ) ; //সময় শেষ না হওয়া পর্যন্ত পড়ুন
teststr. ছাঁটা ( ) ; // স্ট্রিং এন্ড থেকে যেকোনো \r \n হোয়াইটস্পেস সরান
সিরিয়াল। ছাপা ( 'ডাটা প্রবেশ: ' ) ;
সিরিয়াল। println ( teststr ) ;
যদি ( teststr == 'হ্যালো' ) {
সিরিয়াল। println ( 'আপনাকেও হ্যালো!' ) ;
} অন্য {
সিরিয়াল। println ( 'আমি দুঃখিত, আমি আপনার ইনপুট বুঝতে পারিনি।' ) ;
}
}
মধ্যে সেটআপ() ফাংশন সিরিয়াল যোগাযোগ 9600 এর একটি বড রেট ব্যবহার করে সক্রিয় করা হয়েছে।
মধ্যে লুপ() ফাংশন, কোডটি ব্যবহারকারীকে সিরিয়াল মনিটরে 'এন্টার ডেটা:' প্রিন্ট করে ডেটা প্রবেশ করতে অনুরোধ করে। এটি Serial.available() ফাংশন ব্যবহার করে সিরিয়াল বাফার খালি কিনা তা পরীক্ষা করে ডেটা উপলব্ধ হওয়ার জন্য অপেক্ষা করে।
একবার ডেটা উপলব্ধ হলে, কোডটি Serial.readString() ফাংশন ব্যবহার করে একটি স্ট্রিং হিসাবে ডেটা পড়ে এবং trim() ফাংশন ব্যবহার করে স্ট্রিংয়ের শেষে যে কোনও হোয়াইটস্পেস অক্ষর সরিয়ে দেয়।
কোডটি তারপর ইনপুট স্ট্রিংকে স্ট্রিং 'হ্যালো' এর সাথে তুলনা করে। যদি ইনপুট স্ট্রিং হয় 'হ্যালো' , কোড মুদ্রণ দ্বারা প্রতিক্রিয়া 'আপনাকেও হ্যালো!' সিরিয়াল মনিটরের কাছে। অন্যথায়, এটি প্রিন্ট করে 'আমি দুঃখিত, আমি আপনার ইনপুট বুঝতে পারিনি।' সিরিয়াল মনিটরের কাছে। loop() ফাংশন তারপর পুনরাবৃত্তি করে, ব্যবহারকারীকে আরও ইনপুট দেওয়ার জন্য অনুরোধ করে।
আউটপুট
আউটপুটে আমরা বিভিন্ন স্ট্রিং দেখতে পারি যে কোডটি ব্যবহারকারীর কাছ থেকে পড়ে এবং 'হ্যালো' স্ট্রিং এর সাথে মেলে।
উপসংহার
Arduino-এর Serial.readString() ফাংশন কম্পিউটার বা অন্যান্য ডিভাইস থেকে বোর্ডে পাঠানো সিরিয়াল ডেটা পড়ে। এই ফাংশনটি ব্যবহার করে, আমরা সেন্সর এবং হার্ডওয়্যার ডিভাইস নিয়ন্ত্রণের মতো আউটপুট প্রতিক্রিয়া তৈরি করতে ইনপুট সিরিয়াল স্ট্রিং ডেটা পড়তে এবং তুলনা করতে পারি।