মস্তিষ্ক#

ভূমিকা#

VEX EXP C+±এ, Brain-কে brain ক্লাস দ্বারা উপস্থাপন করা হয়। আপনি Brain অবজেক্ট তৈরি করেন (অথবা প্রজেক্ট-প্রদত্ত ডিফল্ট অবজেক্টটি ব্যবহার করেন) এবং তারপর এর মেম্বার অবজেক্টগুলোর মাধ্যমে Brain-এর ফিচারগুলো অ্যাক্সেস করেন।

উদ্ভূত শ্রেণী#

brain ক্লাসটি নিম্নলিখিত ডিরাইভড ক্লাসগুলির জন্য বেস ক্লাস হিসেবে কাজ করে:

  • Screen - এই ক্লাসটি ব্রেইনের অন্তর্নির্মিত রঙিন টাচস্ক্রিনে অ্যাক্সেস প্রদান করে, যার ফলে প্রোগ্রামগুলি টেক্সট, গ্রাফিক্স প্রদর্শন করতে এবং টাচ ইনপুট গ্রহণ করতে পারে।

  • Timer - এই ক্লাসটি প্রোগ্রামে অতিবাহিত সময় পরিমাপ করতে এবং সময়-ভিত্তিক আচরণ নিয়ন্ত্রণ করার জন্য উচ্চ-রেজোলিউশনের টাইমিং ইউটিলিটি প্রদান করে।

  • Battery - এই ক্লাসটি প্রোগ্রামগুলিকে ব্রেনের ব্যাটারির অবস্থা, যেমন ভোল্টেজ, কারেন্ট, ধারণক্ষমতা এবং তাপমাত্রা নিরীক্ষণ করার অনুমতি দেয়।

  • Button - এই ক্লাসটি প্রোগ্রামগুলিকে ব্রেনের বাটনগুলির সাথে ইন্টারঅ্যাক্ট করার অনুমতি দেয়।

  • ThreeWirePort (triport / 3-ওয়্যার পোর্ট) - এই ক্লাসটি লিমিট সুইচ, পটেনশিওমিটার এবং এলইডি-র মতো লিগ্যাসি সেন্সর ও ডিভাইস সংযোগ এবং নিয়ন্ত্রণের জন্য ব্রেইনের 3-ওয়্যার পোর্টগুলিতে অ্যাক্সেস প্রদান করে।

  • SDcard - এই ক্লাসটি ফাইল স্টোরেজ, ডেটা লগিং এবং বাহ্যিক রিসোর্স লোড করার জন্য ব্রেইনের SD কার্ড থেকে পড়া এবং লেখার সুবিধা দেয়।

ক্লাস কনস্ট্রাক্টর#

brain();

প্যারামিটার#

brain কনস্ট্রাক্টরটি কোনো প্যারামিটার ব্যবহার করে না।

নোট#

  • একটি প্রজেক্টে শুধুমাত্র একটি brain অবজেক্ট তৈরি করা উচিত।

উদাহরণ#

// Create the EXP Brain
brain Brain = brain();

সদস্যদের কার্যাবলী#

brain ক্লাসে নিম্নলিখিত সদস্য ফাংশনগুলো অন্তর্ভুক্ত রয়েছে:

  • playSound - মস্তিষ্কের অন্তর্নির্মিত সাউন্ড এফেক্টগুলির মধ্যে একটি বাজায়।

  • playNote - একটি নির্দিষ্ট সময় ধরে একটি সাংগীতিক স্বর বাজায়।

  • programStop - EXP Brain-এ বর্তমানে চলমান প্রজেক্টটি বন্ধ করে।

  • timer - মস্তিষ্কের অভ্যন্তরীণ টাইমারের বর্তমান মান নির্দিষ্ট এককে ফেরত দেয়।

  • resetTimer - ব্রেইনের অভ্যন্তরীণ টাইমারকে শূন্যে রিসেট করে এবং টাইমিং পুনরায় শুরু করে।

  • setTimer - মস্তিষ্কের অভ্যন্তরীণ টাইমারকে একটি নির্দিষ্ট মান এবং সময় এককে সেট করে।

যেকোনো brain মেম্বার ফাংশন কল করার আগে, নিচে দেখানো অনুযায়ী একটি brain ইনস্ট্যান্স তৈরি করতে হবে:

// Create the EXP Brain
brain Brain = brain();

প্লেসাউন্ড#

মস্তিষ্কের অন্তর্নির্মিত শব্দগুলোর মধ্যে একটি বাজায়।

Available Functions
void playSound(
    soundtype sound,
    uint32_t volume = 50 );

Parameters

প্যারামিটার

প্রকার

বর্ণনা

sound

soundtype

মস্তিষ্ক থেকে বাজানোর জন্য নির্দিষ্ট শব্দ।

volume

uint32_t

ঐচ্ছিক। শব্দটি যে ভলিউমে বাজবে, তা ০% থেকে ১০০% পর্যন্ত একটি পূর্ণসংখ্যা হিসেবে নির্ধারণ করা হবে। ডিফল্ট মান হলো ৫০%।

শব্দের নাম

শব্দ বাজান

alarm

alarm2

doorClose

fillup

headlightsOff

headlightsOn

powerDown

ratchet

ratchet2

siren

siren2

tada

tollBooth

wrench

wrongWay

wrongWaySlow

Return Values

এই ফাংশনটি কোনো মান ফেরত দেয় না।

প্লে নোট#

মস্তিষ্ক থেকে একটি সুর বেজে ওঠে।

Available Functions

1 - একটি সাংগীতিক স্বর বাজাও।

void playNote(
    int32_t octave,
    int32_t note );

2 - একটি নির্দিষ্ট সময়কাল এবং ভলিউমের জন্য একটি নোট বাজায়।

void playNote(
    int32_t octave,
    int32_t note,
    int32_t duration,
    int32_t volume = 50 );

Parameters

প্যারামিটার

প্রকার

বর্ণনা

octave

int32_t

যে পূর্ণসংখ্যাটি নোটটি যে অক্টেভে বাজানো হয় তা নির্দেশ করে:

  • 1 থেকে 3 - নিম্ন অক্টেভ
  • 4 থেকে 7 - উচ্চ অক্টেভ

note

int32_t

যে নোটটি বাজাতে হবে:

  • 0 - C
  • 1 - D
  • 2 - E
  • 3 - F
  • 4 - G
  • 5 - A
  • 6 - B

duration

int32_t

ঐচ্ছিক। নোটটি কত সময় ধরে বাজবে তার সময়কাল (মিলিসেকেন্ডে), যা সর্বোচ্চ ৫০০ মিলিসেকেন্ড পর্যন্ত হতে পারে। যদি কোনো সময়কাল উল্লেখ না করা হয়, তবে ডিফল্ট সময়কাল হবে ৫০০ মিলিসেকেন্ড।

volume

int32_t

ঐচ্ছিক। শব্দটি যে ভলিউমে বাজবে, তা ০% থেকে ১০০% পর্যন্ত একটি পূর্ণসংখ্যা হিসেবে নির্ধারণ করা হবে। ডিফল্ট মান হলো ৫০%।

Return Values

এই ফাংশনটি কোনো মান ফেরত দেয় না।

প্রোগ্রামস্টপ#

EXP Brain-এ বর্তমানে চলমান প্রজেক্টটি বন্ধ করে দেয়।

Available Functions
void programStop();

Parameters

এই ফাংশনটি কোনো প্যারামিটার গ্রহণ করে না।

Return Values

এই ফাংশনটি কোনো মান ফেরত দেয় না।

Examples
// Stop the project when the Brain screen is pressed
while (true) {
  if (Brain.Screen.pressing()) {
    Brain.programStop();
  }
  wait(20, msec);
}

টাইমার#

মস্তিষ্কের অভ্যন্তরীণ টাইমারের বর্তমান মান নির্দিষ্ট এককে ফেরত দেয়।

Available Functions
double timer(
  timeUnits units );

Parameters

প্যারামিটার

প্রকার

বর্ণনা

units

timeUnits

ফিরে আসার সময়ের একক:

  • seconds / sec - সেকেন্ড
  • msec - মিলিসেকেন্ড

Return Values

প্রোগ্রাম শুরু হওয়ার পর থেকে অতিবাহিত সময়কে নির্দিষ্ট এককে প্রকাশ করে একটি double রিটার্ন করে।

Examples
  • প্রকল্পটি শুরু হলে টাইমারটি স্বয়ংক্রিয়ভাবে চালু হয়ে যায়।

  • resetTimer ব্যবহার করে টাইমারটি রিসেট করা যাবে।

Examples
// Stop the project after 3 seconds
while (Brain.timer(seconds) < 3) {
  wait(20, msec);
}

Brain.programStop();

রিসেটটাইমার#

মস্তিষ্কের অভ্যন্তরীণ টাইমারকে শূন্যে রিসেট করে। এরপর, টাইমারটি অবিলম্বে আবার শূন্য থেকে গণনা শুরু করে।

Available Functions
void resetTimer();

Parameters

এই ফাংশনটি কোনো প্যারামিটার গ্রহণ করে না।

Return Values

এই ফাংশনটি কোনো মান ফেরত দেয় না।

Notes
  • রিসেট করার সাথে সাথেই টাইমারটি আবার গণনা শুরু করে।

  • resetTimer কল করলে timer এর পরবর্তী কল দ্বারা ফেরত আসা মান প্রভাবিত হয়।

Examples
// Reset the timer and measure elapsed time
Brain.resetTimer();

while (Brain.timer(sec) < 5) {
  wait(20, msec);
}

// 5 seconds have elapsed since reset
Brain.Screen.print("5 seconds passed");

সেটটাইমার#

মস্তিষ্কের অভ্যন্তরীণ টাইমারকে একটি নির্দিষ্ট মান এবং সময় এককে সেট করে।

Available Functions
void setTimer(
  double value,
  timeUnits units );

Parameters

প্যারামিটার

প্রকার

বর্ণনা

value

double

units প্যারামিটারে প্রদত্ত timeUnits এর উপর ভিত্তি করে টাইমারটি সেট করার সময়।

units

timeUnits

value প্যারামিটার ব্যাখ্যা করতে ব্যবহৃত একক:

  • seconds / sec - সেকেন্ড
  • msec - মিলিসেকেন্ড

Return Values

এই ফাংশনটি কোনো মান ফেরত দেয় না।

Notes
  • একবার সেট করার পর টাইমারটি সামনের দিকে গণনা করতে থাকে।

  • setTimer কল করলে timer দ্বারা ফেরত দেওয়া মান অবিলম্বে পরিবর্তিত হয়।

Examples
// Set the timer to start at 10 seconds
Brain.setTimer(10, sec);

// Wait until the timer is at 3 seconds
while (Brain.timer(sec) < 3) {
  wait(20, msec);
}

// 5 seconds have elapsed since setTimer was called
Brain.Screen.print("5 seconds passed");